http://asp.snowstop.net/blog/?id=227&date=2007-11
div+css布局无法避免的冗余标签 完全严格按照w3c的标准来布局是不可能的,想要在不同版本的浏览器下都表现出漂亮的网页,几乎无可避免地要使用一些多余的标签。
总结而言,div布局必须用到冗余标签的地方主要有三个:
一是背景图和背景色,当内层元素的css属性全部为“float:left”时,外层的背景将在mozilla等浏览器下无法显示。这个时候必须要在内外层之间嵌套一个背景层,或是在内层元素最后增加一个“clear:both”的空标签。
二是当页宽为绝对值时,必须在属性为float的并列元素外嵌套一个宽度为绝对值之和的div,以保证页面放缩时float元素不会“掉下去”。
三是当需要写底部信息栏时,因不能用position:absolute定位,而必须在所有float的并列元素之外嵌套一个div,以保证高度自动伸缩。同时底部信息栏应具有“clear:both”属性。
我最后的解决方法是,在最后加个