当前位置:首页 >> 网络编程

Css浏览器兼容的解决方法

一、网页背景半透明
网页背景半透明
复制代码 代码如下:
opacity:0.8;
filter:"progid:DXImageTransform.Microsoft.Alpha(opacity=80)";IE6中CSS方法解决PNG图片半透明问题:
#DIVname {
      width: 300px;
      height: 99px;
      background: url('images/top.png') no-repeat top;
      *background: none;
      *filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled='true', sizingMethod='corp', src='template/flower/images/top.png');
}
 
二、清除浮动
复制代码 代码如下:
.clearfix:after{content:"."; display:block; height:0; clear:both; visibility:hidden}
.clearfix{display:inline-block}
.clear{height:0; line-height:0; font-size:0; overflow:hidden; clear:both; display:block;}
*html .clearfix{height:1%;}
.clearfix{display:block;}

三、浮动IE6双边距
1、为浮动元素使用display:inline;
2、IE6下3px间距bug:在IE6中,当文本(或无浮动元素)跟在一个浮动的元素之后,文本和这个浮动元素之间会多出3px的间隔,给浮动层添加display:inline或设计-3px的间距来解决这个bug。
3像素间距bug
div+css中最小高度min-height
方法一:
复制代码 代码如下:
#DIVname {
      min-height:150px;
      *height:auto!important;
      _height:150px;
       overflow:visible;
}

方法二:
复制代码 代码如下:
#DIVname {
      min-height:1000px;
      _height:expression((document.documentElement.clientHeight||document.body.clientHeight)>1000?"1000px":"");
}

五、IE下z-index 的 bug
一般来讲,ie对父级的要求比较高,如果父级有position属性,但是没有给z-index属性,那默认都是0,所以不论子集里面有多高的z-index属性,都是没用的。
所以一般情况下,需要给包含z-index属性的父级一个z-index:1的属性,这样可以解决很多莫名其妙的问题。
六、IE6调整窗口大小的bug
当把body居中放置,改变IE浏览器大小的时候,任何在body里面的相对定位元素就会固定不动了,解决方法是给body定义position:relative;就行了。
七、文字大小和行高不兼容
同样大小的相同字体,各浏览器下行高和大小不一样,需要设定line-height。
八、mirror margin bug
在IE6下,当外层元素内有float元素时,外层元素如定义margin-top:5px,将自动 生成margin-bottom:5px,padding也会出现类似问题,解决方案:外层元素设定border或float。
九、img下的留白
在html里面有:
<div>
<img src=”" mce_src=”" />
</div><img …/>时,会发现图片底部不是紧贴着容器底部的,是img后面的空白字符造成,要消除必须这样写:
<div>
<img src=”" mce_src=”" /></div>后面两个标签要紧挨着。IE7下这个bug依然存在,解决方案:display:block。
十、图片和文字同行
大家知道img 的align 有 text-top,middle,absmiddle啊什么的,你可以尝试去调整img 和文字让他们在ie和ff下能一致,你会发现怎么调都不会让你满意。索性让img 和文字都 float起来,用margin 调整。
失去line-height。<div style=”line-height:20px”><img />文字</div>,很遗憾,在ie6下单行文字 line-height 效果消失了。。。,原因是<img />这个inline-block元素和inline元素写在一起了。解决方案:让img 和文字都 float起来。