我从来没有使用过CSS hack,以前以为会很麻烦,但是今天学习后,发现是非常简单的。我真佩服我自己,不用写CSS hack都能使我的网站在各个浏览器下兼容,但是有些问题不使用CSS hack真的会很麻烦。
Gonten今天收集了很多的CSS兼容性文章,整理出了可以区别IE6、IE7、IE8和firefox的CSS hack,使用方法都很简单,看看下面的区分方法吧!
首先,先看看基本的CSS hack技巧:转载请务必注明来自www.Gonten.com
IE都能识别*;标准浏览器(如FF)不能识别*;
IE6能识别*,但不能识别 !important,
IE7能识别*,也能识别!important;
FF不能识别*,但能识别!important;
IE6支持下划线,IE7和firefox均不支持下划线。
IE6及IE6以下识别* html {…},仅IE7识别*+html {…}
仅IE支持在属性值后加上“\9”。
通过以上的说明,我们可以这样来区别各个浏览器:转载请务必注明来自www.Gonten.com
区别IE6可以加上下划线“_”,如: _margin-top:10px
区别IE7可以加上*+html,如: *+html .box{….}
区别FF可以这样写:转载请务必注明来自www.Gonten.com
background-color: #CC00FF; /*所有浏览器都会显示为紫色*/
background-color: #FF0000\9; /*IE6、IE7、IE8会显示红色*/
区别IE6、IE7、IE8、FF,可以这样写:转载请务必注明来自www.Gonten.com
background-color: #CC00FF; /*所有浏览器都会显示为紫色*/
background-color: #FF0000\9; /*IE6、IE7、IE8会显示红色*/
*background-color: #0066FF; /*IE6、IE7会变为蓝色*/
_background-color: #009933; /*IE6会变为绿色*/
通过以上这几个技巧应该可以解决很多浏览器兼容性问题了,注意CSS是遵循“后来者居上”的,也就是后面的CSS会覆盖前面相同的CSS,所以在写CSS hack的时候要注意顺序。
9 条评论我要评论 »
1 - 歪豆 | 2009-10-04 at 13:38
唉,看不懂,继续灌水。模版好像有点变了
[回复]
@歪豆, 是说我的主题嘛?
[回复]
2 - Mr.Strong | 2009-10-04 at 13:51
>_< 有点复杂啊
[回复]
3 - Louis Han | 2009-10-04 at 15:16
我真佩服你佩服你自己!
[回复]
4 - 酷行人生 | 2009-10-04 at 19:50
o(∩_∩)o用此方法,我的问题解决了啊
[回复]
5 - 浅笑无声 | 2009-10-05 at 07:55
一直想弄懂css,可静不下心来学。
[回复]
6 - 阿东 | 2009-10-05 at 14:03
^(oo)^ 代码有点清楚。。可意思还模糊中。。
[回复]
7 - 红得发指 | 2009-10-05 at 16:52
IE太恶了,对CSS的理解就他和别人不一样!
acid3测试别人都90多分甚至100分,他12分(ie6)或者20分(ie8)
[回复]
@红得发指, 呵呵,IE是太霸道了,它是想自己制定一个标准,郁闷
[回复]