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

CSS样式表
CSS教程:闭合CSS浮动元素的几种方法
细说CSS3中的选择符
网页超级链接该以什么方式打开?
背投广告设计:用最少的时间来做最效率的事情
css中用javascript判断浏览器版本
css教程:经常保持CSS的整洁度和有序性
css教程:选择合适的、有意义的元素描述内容
CSS编写中灵活运行注释的意义
css教程:CSS文件应该保持整洁和统一
DIV CSS常用的网页布局代码
完全掌握纯CSS布局网页
serif和sans serif:西方国家的字母体系
基于XTHML标准的DIVCSS布局对SEO的影响
CSS合理的编码与组织技巧
网站变黑白灰色的4种代码详细讲解
css布局实例:网页布局的方法
YUI 中的 Grids CSS值得关注和学习的
CSS代码是否合理?是否优化?
css教程:网页中Span和Div的区别
div css网页适应不同分辨率技巧

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-12   浏览: 30 ::
收藏到网摘: 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技巧,对所有“非现代”浏览器隐藏规则。