使用ASP生成HTML文件 » « 二十位人类的天才

针对浏览器隐藏CSS之九大技巧

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

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

在这张大表里列出了九种方法,我就称其为“独孤九剑”,希望能帮上你的忙:-D 注:此表格原载 w3development.de。

  1. Browser@import url("...")@import url(...)@import "..."media=""@mediacommentattributechildTantek 
  2.  
  3. Amaya 5.1 Winx xxx 
  4.  
  5. IE 3 Winxxx xxxx 
  6.  
  7. IE 4 Winxxx xxxxx 
  8.  
  9. IE 5 Win xxxx 
  10.  
  11. IE 5.5 Win xxx 
  12.  
  13. IE 6 Win xx 
  14.  
  15. IE 4.01 Macx xxxxx 
  16.  
  17. IE 4.5 Macx xx x 
  18.  
  19. IE 5 Mac xxx 
  20.  
  21. Konqueror 2.1.1 x 
  22.  
  23. Mozilla 1.0
  24.  
  25. Netscape 4.xxxxxx xxx 
  26.  
  27. Netscape 6.01
  28.  
  29. Netscape 6.1
  30.  
  31. Netscape 6.2
  32.  
  33. Opera 3.60 Win x 
  34.  
  35. Opera 4.02 Win 
  36.  
  37. Opera 5.02 Win 
  38.  
  39. Opera 5.12 Win 
  40.  
  41. Opera Tech Preview 3 Mac 
  42.  
  43. 看完这张表之后我的第一反应是:MozillaOpera真乃神人也。只有一条规则会对Opera最老的一个版本起作用,所以后面我们在讲到隐藏规则的时候基本上就不考虑MozillaOpera了。下面列出这九种“剑法”的招数,同时在旁边也注上了我个人推荐的使用场合。注意,我推荐的不一定与你的需求相符,使用前请对照上面的表格。
  44.  
  45. @import url("")
  46. @import url("global.css")
  47. 对老版本(版号小于5)的浏览器隐藏规则。
  48.  
  49. @import url()
  50. @import url(global.css)
  51. Windows平台的老版本(版号小于5)浏览器隐藏规则。
  52.  
  53. @import ""
  54. @import "global.css"
  55. Windows平台的老版本(版号小于5)浏览器隐藏规则。
  56.  
  57. media=""
  58. link href="global.css" type="text/css" rel="stylesheet" media="all"/>
  59. Netscape 4.x隐藏规则。
  60.  
  61. @media 
  62. @media all { 
  63. ... /* 需要隐藏的规则 */
  64. } 
  65. 如果只考虑NNIE的话就是只对4.x版本隐藏规则。
  66.  
  67. comment 
  68. #anySelector/* */ { color:#f00; } 
  69. 这可是精确制导导弹。只对IE5及以下版本隐藏规则。所以如果要把IE5IE5.5分开定义规则,那就靠它了。
  70.  
  71. attribute 
  72. p[id] { color: #0f0; } 
  73. 又一个精确制导导弹。如果不关心老版本浏览器,那就是只对IE隐藏规则。关于属性选择器的更多信息请看W3C的文档。
  74.  
  75. child 
  76. p>span { color: #00f; } 
  77. 基本同上,只是Mac平台部分版本的IE支持这个规则。
  78.  
  79. Tantek 
  80. p#tantek { 
  81. voice-family: "\"}\""; /* 某些浏览器有解析bug */
  82. voice-family: inherit; /* 在这以下的规则都会被忽略 */
  83. color: #f00;
  84. }
  85. 著名的隐藏CSS技巧,对所有“非现代”浏览器隐藏规则。

标签:

阅读该文章的读者还阅读了: 您也可以阅读与此文相关的文章: 看看还有没有其他您感兴趣的文章:

想说点什么吗?

引用通告 RSS订阅评论

我要评论