您的位置:首页 > Web前端 > CSS

IE6 常见的CSS解析Bug以及Hack

2016-07-16 17:54 417 查看

IE6常见CSS解析Bug及hack

  1. 图片间隙

 
1) div中的图片间隙(该bug出现在IE6及更低版本中)

   
描述:在div中插入图片时,图片会将div下方撑大三像素。

   
hack1: 将</div>与<img>写在一行上;

   
hack2: 将<img> 转为块状元素,给<img>添加声明:display:block;

 
2) dt,li中图片间隙(IE6)

   
hack: 将<img> 转为块状元素,给<img>添加声明:display:block;

 

  2. 双倍浮向(双倍边距)

 
描述:当Ie6及更低版本浏览器在解析浮动元素时,会错误地把浮向边边界加倍显示。

 
 hack: 给浮动元素添加声明:display:inline;

 

  3. 默认高度(IE6)

 
描述:在IE6及以下版本中,部分块元素拥有默认高度(低于18px高度)

 
hack1: 给元素添加声明:font-size:0;

 
hack2: 给元素添加声明:overflow:hidden;

 

  4. 表单元素行高不一致(IE,MOZ,C,O,S)

 
描述:表单元素行高对齐方式不一致

 
hack:给表单元素添加声明:float:left;


  5. 按钮元素默认大小不一

 
描述:各浏览器中按钮元素大小不一致

 
hack1: 统一大小/(用a标记模拟)

 
hack2: input外边套一个标签,在这个标签里写按钮的样式,把input的边框去掉。

 
hack3: 如果这个按钮是一个图片,直接把图片作为按钮的背景图即可。

 

  6. 百分比bug

 
描述:在IE6及以下版本中在解析百分比时,会按四舍五入方式计算从而导致50%加50%大于100%的情况。

 
hack:给右面的浮动元素添加声明:clear:right;     

 
意思:清除右浮动。     

 
clear:left:清除左浮动

     clear:both:清除两边的浮动

  7. 鼠标指针bug

 
描述:cursor 属性的hand属性值只有IE浏览器识别,其它浏览器不识别该声明,cursor属性的pointer属性值   IE6.0以上版本及其它内核浏览器都识别该声明。

 
hack:如统一某元素鼠标指针形状为手型,应添加声明:cursor:pointer;

  8. 透明属性

   
IE浏览器写法:filter:alpha(opacity=value);取值范围 1-100

   
兼容其他浏览器写法:opacity:.value;(value的取值范围0-1,0.1,0.2,0.3-----0.9)

 

  9.  li里a加float:left,li不加时会出现阶梯状;

   
li加float:left,a不加,在IE6里会出现浮动失效现象

   
hack:两个都加上float:left;

 

  10. 当div宽高小于图片宽高时,IE6会将div自动撑到图片大小,而其他浏览器虽然会正常显示图片,但div不会撑大,仍占据规定的宽高范围。

    hack:将图片切成div规定宽高。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  IE6 CSS解析Bug hack ie 6 bug