当前位置: 首页 > 图文教程 > 网页制作 > CSS样式表 > 针对浏览器隐藏CSS之独孤九剑

CSS样式表
CSS网页设计 IE8和IE7共存
CSS2 打印属性让打印HTML文档不出问题
制作网页中设计段落缩进的方法
CSS border 属性使用说明
CSS border-style 属性使用方法
CSS border-color 属性使用方法
CSS border-width 属性使用教程
CSS padding属性定义边内补白
CSS margin 属性定义边外补白
网页布局教程 掌握CSS网页布局属性
css 背景样式属性说明
span margin 设置生效
html 滚动条在IE6和IE7中兼容性问题
IE6 两个div有间隙的问题(IE 3px bug)
CSS 数字和字母将容器撑大问题解决
换个角度看页面重构中的语义化
DIY属于个人开发使用的CSS Reset
CSS 空格引起网页布局间距问题
CSS 网页制作时遇到问题的快速参考技巧
css li 去掉点的样式写法

CSS样式表 中的 针对浏览器隐藏CSS之独孤九剑


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-12   浏览: 142 ::
收藏到网摘: n/a

针对浏览器隐藏CSS之独孤九剑

Hide CSS for Browsers

  我们都知道浏览器之间是有差异的,很多人在使用XHTML+CSS方式制作网页的时候都曾为此无比头痛。要在这些差异的影响下工作需要很多的技巧,“隐藏CSS”就是其中很重要的一种技巧(甚至是最重要的)。这种技巧的主要思想是,用某些方式对某些浏览器隐藏某些重载的CSS规则。

  这篇文章并不是想教你如何使用这种技巧,它面向的是有一定CSS基础的设计开发者,我假定你曾经使用过某种隐藏CSS规则的方法。这里是想把可用的方法与被隐藏规则的浏览器都列出来,方便大家在平时工作时随时查阅。

  在这张大表里列出了九种方法,我就称其为“独孤九剑”,希望能帮上你的忙:-D

  注:此表格原载 w3development.de

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技巧,对所有“非现代”浏览器隐藏规则。