【发布时间】:2014-02-09 16:41:16
【问题描述】:
嗨,有时学习一些东西会让你更加困惑,我现在就在那个位置,提前谢谢。
我在这个地址问了一个问题:Why <div class="clear"></div> used?
得到答案并接受后(我还阅读了 cmets 部分中给出的链接),现在我有第二个和第三个问题。
根据相关问题给出的输入代码,
- 为什么下面的grid demo code没有使用
<div class="clear"></div>?同样存在 2 组两个 浮动 div 元素,所以在 最后一个浮动 div 元素之后使用<div class="clear"></div>不合适吗?
我明确提到我希望 <div class="clear"></div> 代码出现在两个地方:紧跟在 <div class="col col_7"> 之后和紧跟在 <div class="col col_4"> 之后
<div class="row">
<div class="col col_1">col_1</div>
<div class="col col_7">col_7
<div class="row">
<div class="col col_3">col_3</div>
<div class="col col_4">col_4</div>
</div><!-- row -->
</div>
</div><!-- row -->
</div><!-- col_8 -->
- 接受答案的所有者写道:“没有这个,您的导航元素后面的内容可能出现在您的导航元素旁边,而不是在它下方。”由于他使用了 MAY 语法,我删除了
<div class="clear"></div>,发现 IE9 和 Chrome 25.0.1364.172 的输出没有任何变化;是什么让他写了 MAY?旧浏览器(尤其是旧 IE 版本)?
【问题讨论】:
-
旧的 IE 版本,尤其是 IE6 和 IE7 在涉及到
float时往往行为不端。 -
存在溢出:隐藏在 .row 类中,这就是为什么我们不需要清除浮动的元素
-
清除浮动的方法有很多种:详见alistapart.com/article/css-floats-101
标签: html css grid-layout clearfix