ie6兼容问题

本文学习愚人码头的《ie6疯狂系列》原文链接http://www.css88.com/archives/1584

1】父级使用padding后,子元素相对定位有偏差

解决办法:

<div style="position:relative; padding:20px 20px; border:2px solid #F00;">
<div style="position:absolute; top:0;_top:2px; left:0;_left:-20px; border:1px solid #690;">test box</div>
</div>

2】滤镜后链接不能点击

解决办法:

在a上添加一个position:relative;

若使用滤镜的容器上使用了绝对定位,则要在其外面再添加一个容器并设置position:absolute

3】奇数宽高引发1px偏差(外容器相对,内容器绝对定位right:0)

解决办法:

奇数改为偶数

4】文字溢出bug(溢出的字数=注释的条数*2-1)

解决办法:删除注释

5】选择内容的div被下拉框盖住

解决办法:

在div里面添加一个iframe标签,并且设置其透明度为0

<iframe style="background:#F0F9FB;100%;height:110px;filter:alpha(opacity=0);-moz-opacity:0"></iframe>

6】两个li之间在ie6中有3像素的间隔

解决办法:

li {vertical-align:middle}

类似:如果<li><a>...</a></li>【空格】<li><a>...</a></li>,则两个显示的li之间也会有空行

解决办法:

1)li a里面添加zoom:1

2) li a里面添加width:100%(若不行再加float:left)

3)两个li间不要有空格

4)li里面添加display:online

7】中文注释后样式失效

原因分析:1)css使用utf-8编码,而html使用gbk编码

              2)当注释的字数为奇数时,跟后面的*/组成合法字符,前面的/*未被关闭

              3)未指明@charset头声明,浏览器使用默认页面编码解析css文件

解决办法:1)/*样式定义*/    改为     /*样式定义 */

              2)charset="utf-8"

              3)使用英文注释

8】IE6下链接伪类(:hover)CSS背景图片有闪动BUG

解决办法:

添加

<!–[if IE 6]>  

<script type=”text/javascript”>

document.execCommand(”BackgroundImageCache”, false, true);   

</script>

<![endif]–>

9】!important在ie6下的识别情况

1)#id1{font-size:12px;}    .classname1{font-size:68px}无论在哪个浏览器里面,文字大小都为12px

2)#id1{font-size:12px;}    .classname1{font-size:68px !important;}无论在哪个浏览器里面,文字大小都为68px

3)#id1{font-size:12px;font-size:68px !important;}无论在哪个浏览器里面,文字大小都为68px

4)#id1{font-size:12px !important;font-size:68px ;}除了ie6外在哪个浏览器里面,文字大小都为12px,而在ie6中为68px

10】div嵌套使用float造成3px的bug

解决办法:

正好装下的那个div设置margin-right:3px

其他解决方法:1)正好装下的那个div前面添加一个div,设置其属性为visibility:hidden(还有很多方法,不列举了)

 

 

原文地址:https://www.cnblogs.com/xiaonvziyi/p/3192830.html