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 Hacks 总结

    CSS hack由于不同的浏览器,对CSS的解析认识不一样,因此会导致生成的页面效果不一样,我们就需要针对不同的浏览器去写不同的CSS,让他能在不同的浏览器中也能得到我们想要的页面效果. CSS ha ...

  3. 针对IE浏览器的CSS样式(兼容性)

    1. IE hacks: "_"  是IE6 专有的hack; "\9" 对IE6-IE10都有效: "\0"对IE8-IE10都有效: & ...

  4. IE浏览器和CSS盒模型【转】

    总结:css盒模型在不同浏览器之间(例如:ie和其他浏览器 如火狐)的差异只存在于ie6之前的版本中,如ie5.在ie6下, Internet Explorer 在标准模式下渲染时使用了 CSS 规范 ...

  5. 针对不同浏览器,CSS如何写

    我们在开发DIV+CSS页面时候常常会遇到开发出的网页的一些地方在各大浏览器比如微软IE6.微软IE7.微软IE8.火狐浏览器.谷歌浏览器有一些不同,如宽度.高度等地方有相差误.IE6比较老的版本浏览 ...

  6. 兼容主流浏览器的CSS透明代码

    透明往往能产生不错的网页视觉效果下面是兼容主流浏览器的CSS透明代码.transparent_class {  filter:alpha(opacity=50);  -moz-opacity:0.5; ...

  7. css hack 大全 各个浏览器的css

    各个浏览器的css hack区别属性: IE6: _zoom:1; IE6/7: *zoom:1; IE6/7/8/9 :\9 各个浏览器的css hack区别规则 IE6: *html{} IE7: ...

  8. Javascript检测浏览器对CSS属性的支持 /* supports */

    //检测浏览器对CSS属性的支持 supports = (function() { var div = document.createElement('div'), vendors = 'Khtml ...

  9. (转)兼容主流浏览器的CSS透明代码

    透明往往能产生不错的网页视觉效果下面是兼容主流浏览器的CSS透明代码.transparent_class { filter:alpha(opacity=50); -moz-opacity:0.5; - ...

随机推荐

  1. [转]BluetoothDevice.getType()-一个常常被忽略了的函数。好用的不要不要的

    自动安卓发布了4.0版本的蓝牙协议之后,越来越多的开发者收到了各种针对于BLE蓝牙的开发需求. 而且有很多时候还需要兼容以前的3.0版本,给大家的开发带来了困扰,笔者也遇到了这样的问题,偶然间发现了g ...

  2. org.hibernate.PropertyAccessException: Null value was assigned to a property of primitive type setter of com.chen.vo.Dept.parentId

    异常描述:执行以下的addAsHaveParentId2方法出现此异常: /*-----------------------类Dept.Dept.hbm.xml有parentId属性(数据库中有此列) ...

  3. IntelliJ Idea12 破解码与中文乱码配置

    user name:JavaDeveloper serial number:92547-KY2BB-QZ0S1-PEZCV-HUT8Q-6RYY4        会出现Ok可以点击就会将软件 安装后, ...

  4. jquery layout学习

    1.官网:http://layout.jquery-dev.com/index.cfm 2.博客园:http://www.cnblogs.com/chen-fan/articles/2044556.h ...

  5. 【BZOJ 2453|bzoj 2120】 2453: 维护队列 (分块+二分)

    2453: 维护队列 Description 你小时候玩过弹珠吗? 小朋友A有一些弹珠,A喜欢把它们排成队列,从左到右编号为1到N.为了整个队列鲜艳美观,小朋友想知道某一段连续弹珠中,不同颜色的弹珠有 ...

  6. QTreeView只显示指定驱动器及其目录,隐藏所有兄弟节点

    MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setup ...

  7. vimrc for mac

    " Configuration file for vim set modelines=0 " CVE-2007-2438 " Normally we use vim-ex ...

  8. linux的终端,网络虚拟终端,伪终端(转)

      blog.csdn.net/todd911/article/details/8025540 Linux上许多网络服务应用,如l2tp.pptp.telnet,都用到了伪终端.有朋友在问这方面的概念 ...

  9. VS2005工程由Pocket PC 2003 SDK转为WINCE6.0 SDK的问题

    把VS2005工程有采用的Pocket PC 2003 SDK改为WINCE6.0 SDK,具体操作见链接 http://blog.csdn.net/loongembedded/article/det ...

  10. Area of a Circle

    Area of a Circle Description: Complete the function circleArea so that it will return the area of a ...