CSS浏览器兼容性Hack大全

(编辑:jimmy 日期: 2025/4/22 浏览:2)

IE6/7实现display:inline-block

有两种方法,第一种,先声明该元素display:inline-block,触发其layout,再在第二条样式上再声明为display:inline,如:


复制代码代码如下:
.test{display:inline-block; /*其他样式...*/}
.test{display:inline;}

第二种方法(推荐),利用IE6/7的Css专有前缀来触发layout(感觉怎么有点像js的setTimeout):


复制代码代码如下:
.test{display:inline-block; *zoom: 1; *display: inline;}

IE6双倍浮动行距

在IE6下,当一个div在另一个div向左浮动,并且带有margin-left的样式,那么这时它的左边距是样式定义的双倍,同理如果是向右浮动和margin-right,效果是一样的。不过在此后浮动的div的边距反倒是没问题的,只是第一个有此问题。

这时,解决的方法是:简单给该div加个_display:inline;样式即可

IE6-IE10的css hack


复制代码代码如下:
p{
color: black; /*IE10*/
color: orange\0; /*IE8,IE9*/
*color: blue; /*IE6,IE7*/
_color: red; /*IE6*/
}
:root p{
color: yellow\0; /*IE9*/
}

IE7/8下PNG图片背景有黑色的东西

那是因为你使用了滤镜效果,比如filter:alpha(opacity=100);,把它去掉就可以了

IE7/8下元素无故消失、看不见、点击不了

在其他浏览器明明是有东西的,但来到IE7/8就无故消失了。出现这种情况,你试下给该元素添加background:red;或者之前是去掉文字的text-indent:-9999em; font-size:0;的,改为font-size:18px; text-indent:0;,你就会发现消失的元素终于又出现了。对于这种方法,解决方法是,在IE7/8下,给该元素添加背景色。但同时你不想让该元素可视,那么就加上 opacity:0; filter:alpha(opacity=0);

IE7/8下样式载入不完全

那应该是css文件的charset声明和文件本身的编码不一致问题,将这个改正一下即可。

暂时先记录这些吧,以后遇到了再继续更新,小伙伴们也可以搜集一下,发给我,本文持续更新

一句话新闻

一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?