【问题标题】:CSS pseudo-class fallback?CSS伪类后备?
【发布时间】:2013-03-27 04:34:46
【问题描述】:

我想为表格使用tr:nth-child(even/odd) 伪类,但我也想支持 IE 2 人口。那么,如果不支持nth-child,是否有任何纯粹的css方式为tr添加边框?

【问题讨论】:

    标签: html css pseudo-class


    【解决方案1】:

    你可以试试Selectivizr,我认为这是最简单的解决方案。

    编辑:

    您也可以使用 jquery 为您添加类:

    $(function() {
        $("tr:odd").addClass("odd");
        $("tr:even").addClass("even");
    });
    

    EDIT2:

    另外,如果您使用的是 Modernizr,您可以尝试this

    EDIT3 :)

    tr { border-bottom: 1px solid #ccc; }
    
    tr:nth-child(odd),
    tr:nth-child(even) { border: none; }
    
    tr:nth-child(odd) { background: #eee; }
    
    tr:nth-child(even) { background: #ddd; }
    

    【讨论】:

    • 我尽量避免使用脚本,但我想如果我已经在使用 jQuery,我不妨试试。
    • 是的,不幸的是,我认为没有办法解决它。您可以先尝试为旧浏览器设置样式,然后可以使用 css3 选择器覆盖它,这有意义吗?
    • 请注意,当使用 jQuery 向 IE8 中的偶数或奇数元素添加类时,它可能无法按预期工作 - stackoverflow.com/questions/3282066/ie8-and-jquery-selectors
    【解决方案2】:

    你可以在你的类/元素之间添加+,就像下面这个例子一样,每5个<tr>删除margin-right

    tr{margin-right:10px;}
    tr + tr + tr + tr + tr{margin-right:0;}
    

    没有任何 javascript 和 IE7+ 兼容的 NTH 伪类的绝佳替代品;)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-21
      • 2011-12-13
      • 2013-08-10
      相关资源
      最近更新 更多