代码之家  ›  专栏  ›  技术社区  ›  Thierry Roy

如何重用CSS选择器?

  •  0
  • Thierry Roy  · 技术社区  · 16 年前

    .foo .bar {
       background: red;
    }
    

    对于以下HTML,它可以正常工作:

    <div class="foo">
        <div class="bar">I have a red background</div>
    </div>
    

    但是,当我没有父子关系时,我似乎找不到重用CSS定义的方法。例如,如何将相同的CSS应用于以下DIV:

    <div class="???">I want a red background!</div>
    
    6 回复  |  直到 16 年前
        1
  •  10
  •   Gabriele Petrioli    15 年前

    您可以按照中的指定添加带有逗号(,)的附加选择器 W3C selectors grouping

    .foo .bar, .foobar {
       background: red;
    }
    

    <div class="foo">
        <div class="bar">I have a red background</div>
    </div>
    

    <div class="foobar">I want a red background!</div>
    
        2
  •  7
  •   bdukes Jon Skeet    16 年前

    可以使用逗号表示CSS规则应应用于的多个选择器

    .foo .bar, .??? {
       background: red;
    }
    
        3
  •  1
  •   Johrn    16 年前

    在定义中使用逗号分隔的选择器列表:

    .foo .bar, .otherSelector, #someID{
        background: red;
    }
    
        4
  •  0
  •   Vestel    16 年前
    .foo .bar, .redback {
         background: red;
    }
    

    你会用它变魔术吗

    <div class="redback">I want a red background!</div>
    

    或者去掉层次结构,只使用

    .bar {
         background: red;
    }
    

    这两种情况都适用

        5
  •  0
  •   enguerran    16 年前

    .foo .bar, .foobar {
       background: red;
    }
    

    <div class="foo">
        <div class="bar">I have a red background</div>
    </div>
    
    <div class="foobar">I want a red background!</div>
    
        6
  •  0
  •   Drew Wills    16 年前

    “.foo.bar”CSS定义是专门为父子关系(更准确地说是祖先关系)编写的。

    您可以这样编写CSS:

    .alternate-background {
       background: red;
    }
    

    <div>
        <div class="alternate-background">I have a red background</div>
    </div>
    

    这将允许您也使用:

    <div class="alternate-background">I want a red background!</div>