12
2009-11
学习手札JET428 人看过

不同的浏览器要求不同的样式声明,各浏览器及其各版本有不同程度的 CSS 执行的完整性。采用的是 Internet Explorer 的条件注释语法的思想,并把它内联到 CSS 声明之中。

条件 CSS 主要用于指出一个特别的 CSS 声明是不是应该用于一个特别的浏览器。当然你不希望经常这么做,但是当你需要针对一个浏览器的时候,它会非常有用。可以在U4EA支持列表里看到,大部分的浏览器都支持这种方式。

任意 CSS 声明或者块都可以添加条件声明前缀,这些前缀有3种基本类型:

  1. [if {!} browser]  
  2. [if {!} browser version]  
  3. [if {!} condition browser version] 

!                - 声明的否定 (例 NOT) - 可选
browser      - 声明针对的浏览器
IE             - Internet Explorer
Gecko       - Gecko 核心的浏览器 (Firefox, Camino 等)
Webkit      - Webkit 核心的浏览器 (Safari, Shiira 等)
SafMob      - 移动版 Safari (iPhone / iPod Touch)
Opera        - Opera 的浏览器
IEMac        - Mac 版本的 Internet Explorer
Konq         - Konqueror
IEmob       - 移动版 IE
PSP           - Playstation Portable
NetF          - Net Front
version       - 要针对的浏览器版本

实例:

  1. // 条件-CSS 语法实例   
  2. [if IE] - 如果浏览器是 IE   
  3. [if ! Opera] - 如果浏览器不是 Opera   
  4. [if IE 5] - 如果浏览器是 IE 5   
  5. [if lte IE 6] - 如果浏览器是 IE 6 或者更低版本 (IE 5, IE 4 等)   
  6. [if ! gt IE 6] - 和上面的声明等效, 如果浏览器版本不高于 IE 6 
  1. // 条件 CSS 盒模型例子   
  2. div.box {   
  3. width400px;   
  4. [if IE 5width600px;   
  5. padding0 100px;   

条件 CSS 可以只维护一个 CSS 文件,而不是好几个需要用到 IE 的条件注释的文件。这有助于流线型维护,也使得代码更加清晰。

再进一步,条件 CSS 的一个重要特性是当它发现一条 @import CSS 声明时,它会自动打开并插入需要导入的文件。这样就减少了页面的加载时间,因为浏览器只需要对 CSS 文件做出一条 HTTP 请求。

通告:http://www.viold.com/Article/262/Trackback.ashx
评论订阅:http://www.viold.com/Article/262/Feeds.ashx

相关文章

评论列表

  1. 2010-01-01 12:34:06 | # | 回复
    if end 在哪里结束?
  2. Gravatar
    JET
    2010-01-01 15:16:56 | # | 回复
    @China_Y 需要结束的css后面咯
(必填)
(必填,不会被公开)