当你对一张图片进行浮动的时候,它周围的文本会跟着它一起浮动起来。这是正常的显示效果,但是有时候我们不希望它这样显示。
下面这个例子,我想让这张图片浮动在标题和块级文本元素的右侧。可是你发现效果并不是你想要的。

提示:你可以先修改部分代码再运行。

我想,大家的解决办法应该都是在浮动元素结束标签后面添加一个额外的元素,并且给它附上”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