div css用float时引起背景不正常显示的解决办法

来源:互联网 发布:数控机床的编程 编辑:程序博客网 时间:2024/06/03 07:34

当div里面套嵌多个用float定义的层是,背景图没有办法在firefox里面显示。上网搜了一下才找到解决的方法。

  div+css布局无法避免的冗余标签,完全严格按照w3c的标准来布局是不可能的,想要在不同版本的浏览器下都表现出漂亮的网页,几乎无可避免地要使用一些多余的标签。

  总结而言,div布局必须用到冗余标签的地方主要有三个:
  一是背景图和背景色,当内层元素的css属性全部为“float:left”时,外层的背景将在mozilla等浏览器下无法显示。这个时候必须要在内外层之间嵌套一个背景层,或是在内层元素最后增加一个“clear:both”的空标签。
  二是当页宽为绝对值时,必须在属性为float的并列元素外嵌套一个宽度为绝对值之和的div,以保证页面放缩时float元素不会“掉下去”。
  三是当需要写底部信息栏时,因不能用position:absolute定位,而必须在所有float的并列元素之外嵌套一个div,以保证高度自动伸缩。同时底部信息栏应具有“clear:both”属性。

我最后的解决方法是,在最后加个
<div class="clear"></div> ,然后定义.clear{clear:both;height:0px;}就可以了。

原创粉丝点击