边界不在IE中工作

时间:2013-06-05 12:25:11

标签: css css-selectors border

我想将边框应用于

元素
  1. 拥有.xforms-required课程,而不是span元素或
  2. input元素,它们是具有.xforms-required class
  3. 的元素的后代

    所以我提出了

    .xforms-required:not(span), .xforms-required input {
        border: 1px solid gold !important;
    }  
    

    这是Fiddle

    它在Firefox 18.0.1中工作正常,而不在IE中工作(在IE 8中测试)。 不确定CSS选择器或border属性是否有问题。

    在IE中面对jsFiddle的一些问题所以为同一个

    写了一个简短的片段
    <html>
        <body>
            <style>
                .xforms-required:not(span), .xforms-required input {
                    border: 1px solid gold !important;
                }
            </style>
            <span class="xforms-required">
                <input>  // This should get border 
            </span>    
            <input class="xforms-required"> // This should get border    
        </body>
    </html>  
    

    对不起,可能是个愚蠢的问题,但不是一个CSS人..


    由于Adrift指出IE9 +支持:not(),所以在IE7 +版本中实现相同的任何其他选择

2 个答案:

答案 0 :(得分:3)

怎么样:

input.xforms-required, .xforms-required input {
    border: 1px solid gold;
}

可选:

span.xforms-required {
    border: none;
}

答案 1 :(得分:2)

转换评论以回答:IE8不支持:not()。您需要找到一些其他方法来定义您的选择器。也许input.xforms-required, .xforms-required input