2015-07-12 59 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

簡單的解決方法是增加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浮法中的元素,他們失去了自己的父元素height屬性的影響。

這就是說,你可以:

  • 設置的DIV的高度;或
  • 添加<div id="text">後空<div>但不是內部,style='clear: both;'
0

有解決你的問題幾個方面。

  • #NavContent元件(像height:200px

    或者

  • #NavContent溢出屬性添加適當的高度,以auto