芒果小站

  1. 全球最具业界良心的主机 - DigitalOcean

    毫无疑问,目前做得最好的主机供应商

    猛击这里查看

  2. 芒果小站目前使用的主机 - DigitalOcean

    客服响应快,随时退款,XEN 架构稳定

    猛击这里查看

  3. 最好的日本东京线路主机 - DigitalOcean

    可选弗里蒙特、达拉斯、亚特兰大、纽瓦克、伦敦、东京机房

    猛击这里查看

  • 1
  • 2
  • 3
切换到精简模式
9

兼容不同浏览器的 CSS Hack 写法

作者 芒果/分类 代码/发布于 2009-04-20 17:42

童鞋,如果你愿意,可以关注另外两篇关于 CSS Hacks 的文章哦!CSS Hacks for IE,IE 也可以很完美CSS 忍者:安全的 CSS hacks 秘籍

所谓 CSS Hack,是指在 CSS 代码中嵌入诸如 *,*html  等代码,方便于独立控制某种浏览器的具体样式。比如有些 CSS Hack 只能被 IE6 或 IE7 识别,而 Firefox 等浏览器则不能识别。这样一来可以有效控制 CSS 在不同浏览器的表现,避免撰写多个 CSS 文件。

芒果在这里大致整理了常用 CSS Hack 的写法,帮助你更好地控制页面呈现:

1. * 符号

IE 浏览器能识别 * 符号,但其他浏览器诸如 Firefox、Opera、Chrome 等不能识别 * 符号。

例:在 Firefox 和 IE 中呈现不同的文字颜色:

color:red;*color:blue;
//在 Firefox 等非 IE 核心浏览器中,文字呈现红色;而 IE 中呈现蓝色。

2. !important

IE7 不但能识别 * 符号,还能识别 !important,而 IE6 只能识别前者。

例:在 IE6 和 IE7 中呈现不同的文字颜色:

color:red !important;color:blue;
//在 IE7 浏览器中,文字呈现红色;而 IE6 中呈现蓝色。

综合 1 和 2,利用上述浏览器特性,可在 CSS 中判别 Firefox,IE7,IE6 并加载不同样式。

例:在 Firefox,IE7,IE6 中呈现三种不同文字颜色:

color:blue;*color:red !important;*color:green;
//在 Firefox 中,文字呈现蓝色,在 IE7 浏览器中,呈现红色;而 IE6 中呈现蓝色。

4. *html 和 *+html

IE 核心的浏览器能识别*html 和*+html,而 Firefox 等非 IE 核心浏览器不能识别。

例:在 Firefox,IE7,IE6 中呈现三种不同文字颜色:

#div {color:red;}
*html #div {color:green;}
*+html #div{color:blue;}
//第一句 Firefox 等可以正常识别,所以这些浏览器中文字呈红色;
//第二句 IE6 能识别并执行,用于针对 IE6 独立写的样式,文字绿色;
//第三句只有 IE7 才能正确识别,而 IE6 和其他非 IE 核心浏览器不能,文字呈蓝色。
版权所有,转载请注明出处。
转载自 <a href="http://mangguo.org/compatible-with-different-browser-css-hack/" title="兼容不同浏览器的 CSS Hack 写法" rel="bookmark">兼容不同浏览器的 CSS Hack 写法 | 芒果小站</a>
如果喜欢这篇文章,欢迎订阅芒果小站以获得最新内容。

已经有 9 条群众意见

  1. 家庭影院 /2011-02-23 18:05

    好复杂 回应

    #1
  2. ?
    2011.6.22 CSS Online Tools and CSS hack | Reminde|记忆碎片 /2011-06-22 14:43

    […] Reminde|记忆碎片There's something you should remind.|总有一些事情应该被记住。HOMEChipsAbout meHOMEDaily Briefing . PHP2011.6.22 CSS Online Tools and CSS hack2011.6.22 CSS Online Tools and CSS hackLinks: CSS相关: 12 款简化 CSS3 开发的实用工具兼容不同浏览器的 CSS Hack 写法 创意资源:http://www.decide.com/新出现的购物建议网站,为用户提供商品将降价还是升价的信息,做出更好的购物决断.Related posts:12 款简化 CSS3 开发的实用工具201106/22CATEGORYDaily BriefingPHPWrite commentWrite commentComments RSSTrackback ( 0 )Comments ( 0 )No comments yet. TrackBack URL […] 回应

    #2
  3. 世明照明 /2011-06-27 22:08

    如何能区分chrome和ff呢? 回应

    #3
  4. 芒果世明照明/2011-06-27 23:00

    一般没有区分 chrome 和 ff 的必要吧?如果需要区别,可以使用 media query 的 hack 方式,但这种方式并不安全,不建议使用。如果实在需要则可以通过 JS 彻底解决:http://rafael.adm.br/css_browser_selector/ 回应

    #4
  5. 世明照明芒果/2011-06-28 08:48

    O(∩_∩)O谢谢。还是用js 解决吧 回应

    #5
  6. haveabb /2011-06-28 11:29

    学习了,正用得上 回应

    #6
  7. 战神娱乐 /2011-06-29 14:30

    战神娱乐城站长说:不错,学习了CSS hack的东西。谢谢博主提供的知识。 回应

    #7
  8. alex /2011-09-06 14:09

    啊.我来买芒果的.买不到顺便看看CSS.看完了再顺便看看人家的妹妹 回应

    #8
  9. 花落一地 /2011-10-01 12:08

    那IE8兼容用什么? 回应

    #9

下面我简单说几句