当你对一张图片进行浮动的时候,它周围的文本会跟着它一起浮动起来。这是正常的显示效果,但是有时候我们不希望它这样显示。
下面这个例子,我想让这张图片浮动在标题和块级文本元素的右侧。可是你发现效果并不是你想要的。
提示:你可以先修改部分代码再运行。
我想,大家的解决办法应该都是在浮动元素结束标签后面添加一个额外的元素,并且给它附上”clear:both;”
提示:你可以先修改部分代码再运行。
这并不是最优方案,因为我们发现,这个额外元素会在IE中创造一个多余的空格。
那这时,大家基本上都不会用的一个属性display:table就派上了用场。
提示:你可以先修改部分代码再运行。
在内容的外面套一层div,然后给div附上”display:table”;
1 2 3 4 | .clearfloat { display: table; width: 100%; } |
可能你会说,这个div的存在是没必要的,它跟hr一样是多余的。但是你能找到其他更好的方法来代替这个div吗?在这个例子中,它的存在的确是有意义的。如果你有更优方案,留言吧。
除非注明,本博客文章均为该作者原创,转载请以链接形式标明本文地址
本文地址:http://www.csszone.net/index.php/archives/654







首先我承认display:table是一个冷门的style,以至于我都不是很了解这个属性怎么使用,如果遇到这种情况,我想可以这样解决:
.test{ float:left; width:100%;}
我试了一下你的方法,效果不对吧…
冷门是因为ie6,7不支持,否则的话元素的居中等问题就不需要考虑了,直接一个display:table-cell就搞定了。
另外如果是你上面讲的那个效果的话,还是清除浮动最简单。
+1
在我们这个例子中,display显示指定元素为盒模型,这点正是它强大之处。它可以”覆盖”默认的呈现方式。注意我用的是覆盖,而不是附加在原有属性上。
如果用清除浮动,总是会有一个无意义的空间插在你的内容中。
1.”display:table”:让一个HTML元素和它的子节点像table元素一样
2.display显示指定元素为盒模型,这个是啥意思
3.在h2上清理浮动不行吗?
你的第一点就帮我解释了,这个元素被display为一个“table”了,是吗?不是盒模型吗?
h2上清浮动,在ie下会多出一条空白边。实验一下。