【问题标题】:Repeated Pseudo-Class Selectors重复的伪类选择器
【发布时间】:2013-08-30 18:44:19
【问题描述】:

我在 Bootstrap CSS 文件中注意到:

 input:focus:invalid:focus,
 textarea:focus:invalid:focus,
 select:focus:invalid:focus {
   border-color: #e9322d;
   -webkit-box-shadow: 0 0 6px #f8b9b7;
      -moz-box-shadow: 0 0 6px #f8b9b7;
           box-shadow: 0 0 6px #f8b9b7;
 s}

似乎 :focus 为 input、textarea 和 select 指定了两次;这个有什么特殊功能吗?

【问题讨论】:

    标签: css twitter-bootstrap pseudo-class


    【解决方案1】:

    这增加了 css 选择器的specificity

    这是css 规范中的相关引用:

    注意:允许重复出现相同的简单选择器,这样做会增加特异性。

    因此,在这种特殊情况下,input:focus:invalid:focus 将优先于 input:focus:invalid

    这是一个simpler example,展示了css 特异性随着重复出现的增加:

    css

    span.color.color {
        color: green;
    }
    
    span.color {
        color: yellow;
    }
    

    html

    <span class="color">This will be green.</span>
    

    【讨论】:

    • 在这种情况下,是否会应用 input:focus:invalid ?给定示例上方的块是:input:focus:invalid, textarea:focus:invalid, select:focus:invalid { color: #b94a48; border-color: #ee5f5b; }
    • 我不想说它永远不会被应用,因为,TBH,我无法解释 Bootstrap 中的用法,除非它是为了注释掉上面的块,同时将其保留在来源...另外,如果我没记错的话,这是来自 BS2.3.2,所以今天很难问为什么当时添加了它...
    猜你喜欢
    • 2016-11-30
    • 1970-01-01
    • 2014-07-21
    • 1970-01-01
    • 2017-06-20
    • 2012-06-30
    • 1970-01-01
    • 1970-01-01
    • 2018-03-15
    相关资源
    最近更新 更多