我对 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/ http://jsfiddle.net/ZguC7/
我通过将“溢出:崩溃”设置为#main 解决了这个问题,但我不明白它,如果有人可以解释导致此问题的原因,我会非常高兴。
clearfix
应该包含浮动元素,但在你的 html 中你添加了clearfix
只有在向右浮动之后才是你的pull-right
所以你应该这样做:
<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>
看这个演示 http://jsfiddle.net/clink/ZguC7/5/
很高兴知道您通过设置溢出属性解决了问题。然而,这也是清除浮动的好主意。您可以在浮动元素的位置添加overflow: hidden;
正如您在 main 中所做的那样。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)