css在IE6中的bug集合
1.3px偏移BUG
问题描述:浮动元素与非浮动元素相邻(包括横向和纵向的相邻),会产生3px偏移;
解决办法:方法一、添加float:left给非浮动元素,使其也浮动
方法二、使用过滤器*html #float{height:1%;},为浮动元素定义任意高度,迫使其拥有布局
2.双倍margin边距
问题描述:浮动元素设置浮向margin边距属性时,其值会加倍;
解决办法:添加display:inline,设置内联元素显示。
3.空标签高度
问题描述:当该空标签的高度设置在19px以下时,其高度始终是19px;
解决办法:添加overflow:hidden,设置溢出隐藏。
4.图片下方空隙
问题描述:所在区块内图片下方会有空隙;
解决办法:添加display:block,设置块元素显示。
5.左右边距失效
问题描述:子元素设置左右边距失效;
解决办法:添加zoom:1等,激发父元素的layout;
6.相对位置和文字溢出
问题描述:父元素设置overflow:hidden,子元素设置position:relative,子元素溢出;
解决办法:方法一、不放置注释;
方法二、注释不要放置于2个浮动的区块之间;
方法三、将文字区块包含在新的<div></div>之间;
方法四、去除文字区块的固定宽度;
方法五、在后面加一个<br />或者空格;(不推荐);
方法六、使用IE注释格式,如:<!–[if !IE]>Put your commentary in here…<![endif]–>
方法七、添加position:relative给父元素。
7.最小高度
问题描述:IE忽略min-height属性,它认为height就是最小高度;
解决办法:使用ie6不支持但其余浏览器支持的属性!important。
8.PNG图片透明
问题描述:IE支持100%透明的PNG,IE6只是不支持png的Alpha透明
解决办法:img { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(...); }
9.图像缩放
问题描述:IE缩放效果
解决办法:img { -ms-interpolation-mode: bicubic; }
10.盒模型Hack
问题描述:基于w3c标准,元素总宽度应该是总宽度 = margin-left + border-left + padding-left + width + padding-right + border-right + margin-right。但是,IE计算宽度时没有加上填充和边框:总宽度 = margin-left + width + margin-right
解决办法:使用w3c的标准兼容模式,IE6或者之后的版本能基于w3c的标准计算
11.div遮盖select
问题描述:IE6以及以下版本,选择框Select会覆盖Div中的内容
解决办法:在Div内容中加入不显示的Iframe框架
12.中文注释后样式失效
问题描述:如果css有中文注释,css为ANSI编码,html为utf-8编码,注释下面的样式不起作用
解决办法:统一css 和 html 的编码