LZ注:此文原作者是:Paul Irish(Google的前端开发工程师),本文是原文的部分译文。

我不再使用CSS Hacks了,相反的是,我将使用IE的条件判断将类应用到body标签。

但是,我想记录我之前碰到过的每一个浏览器特定的CSS 选择器和样式属性。我相信也没有其他方式提供样式表给独特的Safari.

利用这些CSS Hacks,你能够更好的针对IE、Chrome、Firefox、Opera和Safari,代码如下:

浏览器特定的CSS Hacks综合列表:

   1:  
   2: /***** Selector Hacks ******/
   3:  
   4: /* IE6 and below */
   5: * html #uno  { color: red }
   6:  
   7: /* IE7 */
   8: *:first-child+html #dos { color: red }
   9:  
  10: /* IE7, FF, Saf, Opera  */
  11: html>body #tres { color: red }
  12:  
  13: /* IE8, FF, Saf, Opera (Everything but IE 6,7) */
  14: html>/**/body #cuatro { color: red }
  15:  
  16: /* Opera 9.27 and below, safari 2 */
  17: html:first-child #cinco { color: red }
  18:  
  19: /* Safari 2-3 */
  20: html[xmlns*=""] body:last-child #seis { color: red }
  21:  
  22: /* safari 3+, chrome 1+, opera9+, ff 3.5+ */
  23: body:nth-of-type(1) #siete { color: red }
  24:  
  25: /* safari 3+, chrome 1+, opera9+, ff 3.5+ */
  26: body:first-of-type #ocho {  color: red }
  27:  
  28: /* saf3+, chrome1+ */
  29: @media screen and (-webkit-min-device-pixel-ratio:0) {
  30:  #diez  { color: red  }
  31: }
  32:  
  33: /* iPhone / mobile webkit */
  34: @media screen and (max-device-width: 480px) {
  35:  #veintiseis { color: red  }
  36: }
  37:  
  38:  
  39: /* Safari 2 - 3.1 */
  40: html[xmlns*=""]:root #trece  { color: red  }
  41:  
  42: /* Safari 2 - 3.1, Opera 9.25 */
  43: *|html[xmlns*=""] #catorce { color: red  }
  44:  
  45: /* Everything but IE6-8 */
  46: :root *> #quince { color: red  }
  47:  
  48: /* IE7 */
  49: *+html #dieciocho {  color: red }
  50:  
  51: /* IE 10+ */
  52: @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  53:    #veintiun { color: red; }
  54: }
  55:  
  56: /* Firefox only. 1+ */
  57: #veinticuatro,  x:-moz-any-link  { color: red }
  58:  
  59: /* Firefox 3.0+ */
  60: #veinticinco,  x:-moz-any-link, x:default  { color: red  }
  61:  
  62: /* FF 3.5+ */
  63: body:not(:-moz-handler-blocked) #cuarenta { color: red; }
  64:  
  65:  
  66: /***** Attribute Hacks ******/
  67:  
  68: /* IE6 */
  69: #once { _color: blue }
  70:  
  71: /* IE6, IE7 */
  72: #doce { *color: blue; /* or #color: blue */ }
  73:  
  74: /* Everything but IE6 */
  75: #diecisiete { color/**/: blue }
  76:  
  77: /* IE6, IE7, IE8, but also IE9 in some cases   */
  78: #diecinueve { color: blue\9; }
  79:  
  80: /* IE7, IE8 */
  81: #veinte { color/*\**/: blue\9; }
  82:  
  83: /* IE6, IE7 -- acts as an !important */
  84: #veintesiete { color: blue !ie; } /* string after ! can be anything */
  85:  
  86: /* IE8, IE9 */
  87: #anotherone  {color: blue\0/;} /* must go at the END of all rules */
  88:  
  89: /* IE9, IE10 */
  90: @media screen and (min-width:0\0) {
  91:     #veintidos { color: red}
  92: }

来源:http://www.ido321.com/509.html

浏览器的CSS Hacks相关推荐

  1. 转:【总结】浏览器CSS Hacks汇总,浏览器兼容方式CSS Hacks

    [总结]浏览器CSS Hacks汇总 浏览器兼容可以说是前端开发所要面对的第一个挑战,目前我的电脑上已经安装了6种浏览器(基于IE内核的不算,如Maxthon等). CSS hacks利用浏览器的漏洞 ...

  2. 浏览器专属 CSS Hack:区分 Firefox / Opera / Safari / Internet Explorer

    浏览器专属 CSS Hack:区分 Firefox / Opera / Safari / Internet Explorer CSS Hack 是在标准 CSS 没办法兼容各浏览器显示效果时才会用上的 ...

  3. 防御 CSS 黑客——介绍“安全的 CSS hacks”

    我们如何在 CSS 中定位 Internet Explorer? 你使用 CSS hacks.条件样式表或其他东西吗? 关于这个已经有很多讨论了,我并不是要开始一个新的讨论. 每个人都有权发表自己的意 ...

  4. 谈一谈浏览器解析CSS选择器的过程【前端每日一题-6】

    谈一谈浏览器解析CSS选择器的过程? 这是一道发散题,可以根据自己的理解自行解答. 在开始前,我们必须了解一个真相:为什么排版引擎解析 CSS 选择器时一定要从右往左解析? 简单的来说:浏览器从右到左 ...

  5. 超棒的跨浏览器纯CSS动画实现 - Animate.css

    为什么80%的码农都做不了架构师?>>>    日期:2012-8-12  来源:GBin1.com 在线演示  本地下载 通常情况下如果需要生成web动画效果的话,我们肯定会考虑使 ...

  6. [css] 说说浏览器解析CSS选择器的过程?

    [css] 说说浏览器解析CSS选择器的过程? 按照从上到下,从右到左的顺序解析. 个人简介 我是歌谣,欢迎和大家一起交流前后端知识.放弃很容易, 但坚持一定很酷.欢迎大家一起讨论 主目录 与歌谣一起 ...

  7. 瞧瞧UC浏览器对CSS样式的“关怀”

    瞧瞧UC浏览器对CSS样式的"关怀" UC对CSS这样的"照顾"尤其8.0以下体现的是淋漓尽致! 不"支持"font-family属性,也就 ...

  8. html浏览器的区别是什么意思,不同浏览器对css的识别有区别吗?

    不同浏览器对css的识别是有区别,因此针对不同的浏览器去写不同的CSS.下面本篇文章给大家介绍一些常用CSS书写技巧(不同浏览器之间的差异).有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所 ...

  9. 区别不同浏览器,CSS hack写法

    区别不同浏览器,CSS hack写法: 区别IE6与FF: background:orange;*background:blue; 区别IE6与IE7: background:green !impor ...

最新文章

  1. pacman 查询_pacman包管理常用命令
  2. FPGA/IC技术交流2020
  3. 微软商店安装包_搞定你的数学问题:微软发布新APP可以手写或扫描数学题进行解答...
  4. PKG_CONFIG_PATH错误提示解决办法
  5. 太扎心!10亿网民:4成初中学历,月收入超5000元不足3成
  6. MicroK8s及KubeFlow安装文档
  7. python实用技巧(四)
  8. background相关属性
  9. Python 多进程multiprocessing
  10. 【BZOJ】1085 [SCOI2005]骑士精神(IDA*)
  11. 1699 个词汇 的 计算机英语
  12. iOS系统快捷指令一键打开北京健康宝个人信息扫码登记界面
  13. 注册表编辑器,任务管理器,己被系统管理员停用----应急响应
  14. 时间标准 GMT, UTC, CST
  15. 代码随想录第十七天LeetCode 110、257、404
  16. 4484: [Jsoi2015]最小表示
  17. 多麦克风做拾音的波束_乱侃外设 篇四十二:一浪更比一浪强!HyperX Quadcast S 声浪加强版麦克风浅评...
  18. spring之AOP切面不生效!!!!!原因在这
  19. 视图的概念、特点及使用
  20. 任志强:和马云是好朋友 房子没添砖但还会涨

热门文章

  1. 编写一个 SQL 查询来实现分数排名
  2. 电脑上不去无线网如何解决
  3. QT 使用 QTcpSocket来检测 ip 设备的网络状态
  4. AT89S52的看门狗定时器
  5. 新零售线上+线下的完美营销
  6. 狂神JUC——CAS
  7. 星星之火-30:什么是WCDMA的伪随机码与扰码?
  8. 发票查验|身份证实名认证增强版API开发文档
  9. 【金融风控-贷款违约预测】数据挖掘学习:5.模型融合
  10. 软件设计师 UML建模大题