2015-07-12 3 views
0

Я только начал играть с HTML/CSS, и я уже застрял.Почему не текст внутри div?

Я попытался решить мою проблему, но, думаю, мне не хватает некоторых ключевых слов, чтобы найти решение. Почему нет ссылки и текста внутри <div id="NavContent>?

DEMO

body { 
 
    margin:0; 
 
    background-color: #ffffff; 
 
} 
 

 
nav { 
 
    background-color: #2a9dfc; 
 
    padding-left: 20px; 
 
    padding-right: 20px; 
 
    padding-top: 13px; 
 
    padding-bottom: 13px; 
 
} 
 

 
#NavContent { 
 
    border: 2px solid black; 
 
    max-width: 900px; 
 
    width: 100%; 
 
    margin: 0 auto; 
 
} 
 

 
#Link { 
 
    float:left; 
 
} 
 

 
#Text { 
 
    float:right; 
 
}
<!DOCTYPE html> 
 
<html> 
 
<head> 
 
    <meta charset="UTF-8"> 
 
    <title>scrare</title> 
 
    <link rel="stylesheet" href="stylesheet.css"> 
 
</head> 
 

 
<body> 
 
    <nav> 
 
     <div id="NavContent"> 
 
      <a id="Link" href="/">Link</a> 
 
      <div id="Text">Text</div> 
 
     </div> 
 
    </nav> 
 
</body> 
 
</html>

ответ

0

Easy исправление добавить overflow: hidden; в #NavContent.

Или вы можете добавить clearfix решение -

#NavContent:after { 
    content: ""; 
    display: block; 
    clear: both; 
} 

body { 
 
margin:0; 
 
background-color: #ffffff; 
 
} 
 

 
nav { 
 
background-color: #2a9dfc; 
 
padding-left: 20px; 
 
padding-right: 20px; 
 
padding-top: 13px; 
 
padding-bottom: 13px; 
 
} 
 

 
#NavContent { 
 
border: 2px solid black; 
 
max-width: 900px; 
 
width: 100%; 
 
margin: 0 auto; 
 
} 
 

 
#Link { 
 
float:left; 
 
} 
 

 
#Text { 
 
float:right; 
 
} 
 
#NavContent:after { 
 
    content: ""; 
 
    display: block; 
 
    clear: both; 
 
}
<nav> 
 
\t <div id="NavContent"> 
 
\t \t <a id="Link" href="/">Link 
 
\t \t </a> 
 
\t \t <div id="Text"> 
 
\t \t \t \t \t Text 
 
\t \t </div> 
 
\t </div> 
 
</nav> 
 

 
<main> 
 
</main> 
 

 
<footer> 
 
</footer>

1

После того, как вы установите элементы внутри DIV, как поплавок, они потеряли свое влияние на атрибут высоты на родительский элемент.

Тем не менее, вы можете:

  • Установите высоту для DIV; или
  • Добавить пустой <div> после <div id="text">, но не внутри, с style='clear: both;'
0

Есть несколько способов решить вашу проблему.

  • Добавить подходящую высоту #NavContent элемента (как height:200px)

    Или

  • набор Переполнение свойство #NavContent к auto
Смежные вопросы