【发布时间】:2012-02-21 08:15:20
【问题描述】:
有类似的问题(here 和here),但我想要一个更一般的解释。此外,我包括了a jsFiddle snippet,以便更好地解释我想要理解的内容。
CSS float 属性可用于指定 html 元素(即img、div...)的组织方式。如果你有这样的事情:
img.sideBySide
{
float:left;
}
<img class='sideBySide' src='1.jpg'>
<img class='sideBySide' src='2.jpg'>
<img class='sideBySide' src='3.jpg'>
然后你会得到三张图片,并排,左对齐。另一方面,如果您有类似的情况:
img.onTop
{
clear:both;
}
<img class='onTop' src='1.jpg'>
<img class='onTop' src='2.jpg'>
<img class='onTop' src='3.jpg'>
图片应该是一个在彼此之上。但是如果它们像这样嵌套在多个divs 中会发生什么
div.a
{
float:left;
}
div.b
{
clear:both;
}
img.sideBySide
{
float:left;
}
img.onTop
{
clear:both;
}
<div class='a'>
<div class='a'>
<p>hello world</p>
</div>
<div class='b'>
<img class='sideBySide' src='1.jpg'>
<img class='sideBySide' src='2.jpg'>
<img class='sideBySide' src='3.jpg'>
</div>
<div class='a'>
<img class='onTop' src='1.jpg'>
<img class='onTop' src='2.jpg'>
<img class='onTop' src='3.jpg'>
</div>
</div>
基本上,我想知道的是是否
- 父容器的
float(在本例中为div)影响子元素的float属性 - 子
float属性是否影响其父元素之外的元素(在这种情况下,同样是div)
【问题讨论】:
-
最好自己测试一下,使用chrome中的调试器,或者firefox中的firebug。
-
@Joseph 很好的建议。刚刚发现我的一些 div 的高度设置为零