针对浏览器隐藏CSS之独孤九剑
针对浏览器隐藏css之独孤九剑
hide css for browsers
我们都知道浏览器之间是有差异的,很多人在使用xhtml+css方式制作网页的时候都曾为此无比头痛。要在这些差异的影响下工作需要很多的技巧,“隐藏css”就是其中很重要的一种技巧(甚至是最重要的)。这种技巧的主要思想是,用某些方式对某些浏览器隐藏某些重载的css规则。
这篇文章并不是想教你如何使用这种技巧,它面向的是有一定css基础的设计开发者,我假定你曾经使用过某种隐藏css规则的方法。这里是想把可用的方法与被隐藏规则的浏览器都列出来,方便大家在平时工作时随时查阅。
在这张大表里列出了九种方法,我就称其为“独孤九剑”,希望能帮上你的忙:-d
注:此表格原载。
browser | @import url("...") | @import url(...) | @import "..." | media="" | @media | comment | attribute | child | tantek |
---|---|---|---|---|---|---|---|---|---|
amaya 5.1 win | x | x | x | x | |||||
ie 3 win | x | x | x | x | x | x | x | ||
ie 4 win | x | x | x | x | x | x | x | x | |
ie 5 win | x | x | x | x | |||||
ie 5.5 win | x | x | x | ||||||
ie 6 win | x | x | |||||||
ie 4.01 mac | x | x | x | x | x | x | |||
ie 4.5 mac | x | x | x | x | |||||
ie 5 mac | x | x | x | ||||||
konqueror 2.1.1 | x | ||||||||
mozilla 1.0 | |||||||||
netscape 4.x | x | x | x | x | x | x | x | x | |
netscape 6.01 | |||||||||
netscape 6.1 | |||||||||
netscape 6.2 | |||||||||
opera 3.60 win | x | ||||||||
opera 4.02 win | |||||||||
opera 5.02 win | |||||||||
opera 5.12 win | |||||||||
opera tech preview 3 mac |
看完这张表之后我的第一反应是:mozilla和opera真乃神人也。只有一条规则会对opera最老的一个版本起作用,所以后面我们在讲到隐藏规则的时候基本上就不考虑mozilla和opera了。下面列出这九种“剑法”的招数,同时在旁边也注上了我个人推荐的使用场合。注意,我推荐的不一定与你的需求相符,使用前请对照上面的表格。
@import url("")
@import url("global.css")
对老版本(版号小于5)的浏览器隐藏规则。
@import url()
@import url(global.css)
对windows平台的老版本(版号小于5)浏览器隐藏规则。
@import ""
@import "global.css"
对windows平台的老版本(版号小于5)浏览器隐藏规则。
media=""
<link href="global.css" type="text/css" rel="stylesheet" media="all"/>
对netscape 4.x隐藏规则。
@media
@media all { ... /* 需要隐藏的规则 */ }
如果只考虑nn和ie的话就是只对4.x版本隐藏规则。
comment
#anyselector/* */ { color:#f00; }
这可是精确制导导弹。只对ie5及以下版本隐藏规则。所以如果要把ie5和ie5.5分开定义规则,那就靠它了。
attribute
p[id] { color: #0f0; }
又一个精确制导导弹。如果不关心老版本浏览器,那就是只对ie隐藏规则。关于属性选择器的更多信息请看w3c的文档。
child
p>span { color: #00f; }
基本同上,只是mac平台部分版本的ie支持这个规则。
tantek
p#tantek { voice-family: "\"}\""; /* 某些浏览器有解析bug */ voice-family: inherit; /* 在这以下的规则都会被忽略 */ color: #f00; }
著名的隐藏css技巧,对所有“非现代”浏览器隐藏规则。
推荐阅读
-
针对浏览器隐藏CSS之独孤九剑
-
jQuery学习笔记之jQuery+CSS3的浏览器兼容性
-
解决Django中修改js css文件但浏览器无法及时与之改变的问题
-
玩转CSS选择器(二) 之 浏览器支持,常见Bug,性能优化_html/css_WEB-ITnose
-
jQuery学习笔记之jQuery+CSS3的浏览器兼容性
-
css之浏览器初始化方案_html/css_WEB-ITnose
-
web开发之浏览器(五)浏览器兼容CSS hack_html/css_WEB-ITnose
-
针对特定浏览器起作用的CSS: IE Chrome Firefox CSS Hack_html/css_WEB-ITnose
-
css之浏览器初始化方案_html/css_WEB-ITnose
-
在浏览器上隐藏网站地址的方法?_html/css_WEB-ITnose