我在下面的代碼中製作了3格。第一個有導航元素,第二個有段元素。HTML5中div元素的重疊
如果你運行上面的代碼,你會看到nav 的邊界和兩個部分。我的疑問是第1節左邊的 元素應該在導航欄邊界的右側。但由於 不存在(通過運行代碼可以看出),這意味着div「a」 和「b」重疊。我是否以正確的方式思考?如果我是 的權利,爲什麼CSS被設計成這種重疊div的方式。
事實上,這與在CSS中引入div的原因相矛盾。
nav {
float: left;
width: 200px;
border: 1px solid black;
}
section {
border: 3px solid red;
}
<div class="a">
<nav>
<span>nav</span>
<ul>
<li><a target="_blank" href="/default.asp">Home</a>
</li>
<li><a target="_blank" href="default.asp">CSS</a>
</li>
<li><a target="_blank" href="/html/default.asp">HTML</a>
</li>
<li><a target="_blank" href="/js/default.asp">JavaScript</a>
</li>
</ul>
</nav>
</div>
<div class="b">
<section>
<span>section</span>
<p>Notice we have put a clearfix on the div container. It is not needed in this example, but it would be if the nav element was longer than the non-floated section content.</p>
</section>
</div>
<div class="c">
<section>
<span>section</span>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus imperdiet, nulla et dictum interdum, nisi lorem egestas odio, vitae scelerisque enim ligula venenatis dolor. Maecenas nisl est, ultrices nec congue eget, auctor vitae massa. Fusce
luctus vestibulum augue ut aliquet.</p>
</section>
</div>
你有使用瀏覽器的檢查元素工具來實際看看有什麼重疊嗎? – deceze
請參閱:http://stackoverflow.com/questions/2062258/floating-stuff-within-a-div-floats-outside-of-div-why – Wake