是一种更有效的方法......出于某种原因,我觉得这是一种旧的方法。
我有这个页面HERE (I'm re-creating a lynda.com webpage for a lesson)
并且包装器实际上并没有环绕该部分id="trailInfo"
。
为了做到这一点,我会添加 br class="br_clear"
/
有没有更正确的方法来做到这一点?如果我添加clear=both
到该部分不起作用,我必须将其添加到br
. 谢谢!
overflow:hidden
使用父 div中的属性更新 CSS
#wrapper {
background-color: #FFFFFF;
margin: 0 auto;
overflow: hidden;
position: relative;
width: 960px;
}
Explanation About Clearing floats
基于浮动的布局的一个常见问题是父 div不想拉伸以适应子浮动 div。如果要在父 div周围添加边框,则必须以某种方式命令浏览器一直拉伸父 div。
现在看看你所面临的问题:demo
那是因为你当时没有清除花车。
所以这个问题的旧解决方案是clear:both;
如果您将在子浮动元素之后添加额外的 div,如下面的代码所示,这将清除浮动:
<div class="parent">
<div class="left-child"></div>
<div class="right-child"></div>
<div style="clear:both;"></div>
</div>
新的解决方案是overflow:hidden;
如果你给overflow:hidden
你的parent div
this 将自动清除父 div内的所有子浮动元素。
查看新的解决方案演示:tinkerbin.com/WKqFS7Lc
添加height: auto;
到包装类。有用
你应该使用溢出:隐藏;包装器上的属性。
#wrapper{
overflow:hidden;
height:auto;
}