【问题标题】:What does an asterisk before an equal sign mean (*=) ? What about the exclamation mark?等号前的星号是什么意思 (*=) ?感叹号呢?
【发布时间】:2017-04-05 01:24:29
【问题描述】:

我在 css 中找到了这些符号:

.nav li ul li a [class*="icol-"] { opacity: 0.5; filter: alpha(opacity=50); padding-top: 4px; }

.secNav .chzn-container { width: 100%!important; max-width: 100%; }

= 符号前的* 是什么意思?使用!符号时是注释吗?

【问题讨论】:

标签: css


【解决方案1】:
element[attribute*="includesthis"]

换句话说:

<a class="someclassicol-hello">Click me and win a free monkey</a>

被匹配

a[class*="icol-"]

如果字符串出现在属性中的任何位置,则为匹配。

还有^= 用于开头,$= 用于结尾。 Read more on this here.


!important 强制规则相互覆盖,否则它们不会。

a { color: red !important }
a.blue { color: blue }

<a class="blue">I'm actually red, because the less specific rule is !important</a>

Read more on that here。尤其是这一点:

什么时候应该使用!important

与任何技术一样,视情况而定,有利有弊。那么什么时候应该使用它,如果有的话?这是我对潜在有效用途的主观概述。

从不

!important 声明不应使用,除非在用尽所有其他途径后绝对必要。如果您出于懒惰、避免正确调试或匆忙完成项目而使用 !important,那么您就是在滥用它,您(或继承您项目的人)将遭受后果。

【讨论】:

    【解决方案2】:

    !!important 的一部分;它不是评论。 !important 强制始终应用规则。它通常用于覆盖或防止您的样式被覆盖。

    *= 表示“包含”。所以在这个例子中,第一行是寻找所有.nav li ul li a元素的子元素,其类名包含“icol-”。

    【讨论】:

    • 那么width: 100%!important; 是什么意思?
    • 这意味着该宽度将始终被应用(其他CSS样式无法覆盖它)。
    【解决方案3】:

    来自W3 recommendation

    [att*=val]

    表示具有 att 属性的元素,其值包含至少一个子字符串“val”的实例。如果 "val" 是空字符串,则选择器不代表任何内容。

    因此,在您的情况下,它将匹配其类属性中具有 icol- 的任何元素(.nav li ul li a 的子元素)。

    【讨论】:

      【解决方案4】:

      *=是一个属性选择器,见CSS3 specification

      !important 表示该规则被样式的作者认为是重要的,不应被覆盖,参见例如CSS2深入讲解。

      【讨论】:

        【解决方案5】:

        不要与~ 混淆,后者仅与周围的空白匹配。


        [class*="foo"] /* 'fooA bar' */
        

        将匹配包含foo 的类(周围有或没有空格

        [class~="foo"] /* 'foo bar' */
        

        将仅匹配包含foo 的类周围有空格


        还有:

        [class^="foo"] // begins with foo ('fooABC')
        [class$="foo"] // ends with foo ('ABCfoo')
        [class|="foo"] // begins with foo and is separated by a dash ('foo-bar')
        

        更多详情:Complex Selectors

        【讨论】:

        • 新语言必须学习,而以前的语言还没有掌握!辛苦了哈哈!
        • 很好的解释!!
        猜你喜欢
        • 2011-01-11
        • 1970-01-01
        • 2020-11-24
        • 2012-04-20
        • 1970-01-01
        • 1970-01-01
        • 2021-09-18
        • 1970-01-01
        • 2010-11-02
        相关资源
        最近更新 更多