Twitterに問題がありますbootstrapそれは私には少し奇妙に見えます。サイドバーの左側とメインエリアに固定されています。
<div>
<div id="sidebar">
<ul>
<li>A</li>
<li>A</li>
<li>C</li>
<li>D</li>
<li>E</li>
<li>F</li>
<li>...</li>
<li>Z</li>
</ul>
</div>
<div id="main">
<div class="clearfix">
<div class="pull-right">
<a>RIGHT</a>
</div>
</div>
<div>MOVED BELOW Z</div>
</div>
#sidebar {
background: red;
float: left;
width: 100px;
}
#main {
background: green;
margin-left: 150px;
overflow: hidden;
}
メインエリア内には、プルフィックスとプルライトを備えたコンテンツがあり、clearfixによってクリアされます。
問題は、clearfix-divの下のコンテンツがsidebar-contentよりも低くなるように移動することです。
私はこれのためにフィドルを作りました: http://jsfiddle.net/ZguC7/
「overflow:collapse」を#mainに設定することで問題を解決しましたが、理解できないため、誰かがこの問題の原因を説明できると非常に嬉しいです。
clearfix
にはフローティング要素が含まれている必要がありますが、HTMLでpull-right
であるフローティング右の後にのみclearfix
を追加しているため、次のようにする必要があります。
<div class="clearfix">
<div id="sidebar">
<ul>
<li>A</li>
<li>A</li>
<li>C</li>
<li>D</li>
<li>E</li>
<li>F</li>
<li>...</li>
<li>Z</li>
</ul>
</div>
<div id="main">
<div>
<div class="pull-right">
<a>RIGHT</a>
</div>
</div>
<div>MOVED BELOW Z</div>
</div>
オーバーフロープロパティを設定することで問題を解決できたことを嬉しく思います。ただし、これはフロートをクリアすることもお勧めします。要素をフロートさせた場所で、メインで行ったようにoverflow: hidden;
を追加できます。