针对浏览器隐藏CSS(2)
时间:2005/10/8 14:09:29
阅读:1242
我们都知道浏览器之间是有差异的,很多人在使用XHTML+CSS方式制作网页的时候都曾为此无比头痛。要在这些差异的影响下工作需要很多的技巧, “隐藏CSS”就是其中很重要的一种技巧(甚至是最重要的)。这种技巧的主要思想是,用某些方式对某些浏览器隐藏某些重载的CSS规则。
这篇文章并不是想教你如何使用这种技巧,它面向的是有一定CSS基础的设计开发者,我假定你曾经使用过某种隐藏CSS规则的方法。这里是想把可用的方法与被隐藏规则的浏览器都列出来,方便大家在平时工作时随时查阅。
@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技巧,对所有“非现代”浏览器隐藏规则。