IE6,IE7,IE8 css bug搜集及浏览器兼容性问题解决方法汇总( 五 )



在IE7/FF中,鼠标移动到链接上时,淘你喜欢字样会变为红色,但IE6则无反应 。所以IE6的bug就是如果a 与 a:hover 的css定义是一样的,也就是说如果a:hover 中没有样式的改变,hover就不会被触发 。但如果在a:hover{}增加一些特定的属性,例如

复制代码代码如下:
a:hover{border:none;}
或者
a:hover{padding:0;}
又或者
a:hover{background: none;}

此时hover就可以触发了 。
23:原来IE6支持!important

复制代码代码如下:
.demo { color:#F00!important; color:#000; }/*IE6显示错误理解:.demo显示为黑色*/
/*而下面IE6是正确理解的:.demo显示为红色*/
.demo { color:#F00!important;}
.demo { color:#000; }

24:去掉button按钮左右两边的留白

复制代码代码如下:
!DOCTYPE html
html
head
meta charset="utf-8" /
style
*{padding:0; margin:0}
input,button{overflow:visible;padding:0;}
/style
/head
body
form id="form1" name="form1" method="post" action=""
input type="submit" name="button" id="button" value="https://www.rkxy.com.cn/dnjc/button按钮左右留白的解决方法" /
/form
buttonspanbutton按钮左右留白的解决方法/span/button
/body
/html

25:中文字体在css中的写法
黑体SimHei9ED1F53黑体
宋体SimSunB8BF53宋体
新宋体 NSimSun5B0B8BF53新宋体
仿宋FangSongEFFB8B仿宋
楷体KaiTi977F53 楷体
微软正黑体Microsoft JhengHeiFAE?6FB639ED1F53微软正黑体
微软雅黑Microsoft YaHeiFAE8F6F96C59ED1微软雅黑
幼圆 YouYuanE7Cx6幼圆
26: ie6里width:100%是相对于上有高度设置的元素 其他浏览器是相对于上个相对定位或绝对定位的元素

复制代码代码如下:
div style=" width:600px; height:600px; background:#000;"
div style=" width:500px; height:500px; background:#333;"
div style=" float:left; background:#666; width:400px;"
div style=" width:300px; height:300px; background:#999;"
div style=" width:100%; height:100%; background:#f00; position:absolute; left:0; top:0;"
在非ie6的浏览器中都是满屏幕的红, 说明非ie6的浏览器的width和height的百分比,都是相对的上个相对定位或者绝对定位的元素,没有就为html元素,而ie6中的width和height 的百分比,相对的是上个有高宽显示设置的元素,而且height的百分比设置失效,所以上述代码在ie6中就出现宽度穿越了他的父元素而遇见width:500px;的元素的时候,边把自己设置成了width:500px;而height的设置则失效, 这个, 让人很蛋疼!ie6,真的该早点走了!
/div
/div
/div
/div
/div

27: ie不缓存背景图片的解决办法
高性能web开发中,一张小小的图片请求能省的就省,可IE6存在不缓存背景图的bug.如果重复使用了一个图片作为背景,那么每用一次就会重新去服务器拉一次 。。。给服务器带来巨大的压力 。解决方法有两种,
1:采用JS

复制代码代码如下:
var ua = navigator.userAgent.toLowerCase();
var isIE6 = ua.indexOf("msie 6")-1;//判断是否为IE6
// remove css image flicker
//IE6下默认不缓存背景图片,CSS里每次更改图片的位置时都会重新发起请求,用这个方法告诉IE6缓存背景图片
if(isIE6){
try{
document.execCommand("BackgroundImageCache", false, true);
}catch(e){}
}

2.在页面上直接使用1个DIV元素来加载该图片,这样加载图片就能真正被缓存,鼠标移动也不会发送请求了 。
28:ie6下css实现max/min-width/height

复制代码代码如下:
_width:expression(this.width300?"300px":ture); max-width:300px;
_height:expression(this.height300?"300px":ture); max-height:300px;

29:css空白外边距互相叠加的解决方法

复制代码代码如下:
body{width:300px; font-family:’微软雅黑’; font-size:1em; text-indent:10px; line-height:1.25;}

推荐阅读