代码之家  ›  专栏  ›  技术社区  ›  rodbv

在元素中组合CSS类

css
  •  4
  • rodbv  · 技术社区  · 16 年前

    这可能是我提出过的最愚蠢的问题,但为什么下面的文本没有变成红色?

    <html>
      <style>
      .c1 .c2 { 
         color: red; 
      }
      </style>
      <body>
         <span class="c1 c2">This should be red</span>
      </body>
    </html>
    

    编辑:我想匹配同时包含C1和C2类的元素,就像上面的例子一样。

    6 回复  |  直到 16 年前
        1
  •  9
  •   John Kugelman Michael Hodel    16 年前

    .c1 .c2 匹配c1元素内的c2元素,就像 html body 匹配HTML元素中的body元素。删除空间以将元素与两个类匹配:

    .c1.c2 { 
       color: red; 
    }
    
        2
  •  1
  •   Mitch Dempsey    16 年前

    应该是 .c1.c2 . 你写的方式是 c2 里面 c1 .

        3
  •  1
  •   wsanville    16 年前

    选择器 .c1 .c2 真的意味着一个元素与类 c2 在包含类的元素中 c1 .

    要获得所需的结果,请将选择器更改为 .c1.c2 将元素与两种样式匹配。

        4
  •  1
  •   Arkku    16 年前

    如果您的css的预期含义是匹配__元素和 c1 c2 在它的类列表中,它应该是 .c1.c2 . 给定的选择器( .c1 .c2 )表示_具有类的元素 C2 这是一个直接包含类的元素内部 C1 艾斯。

    编辑:为了完整起见,将一个元素与至少一个类匹配 C1 C2 你会用到 .c1, .c2 . 所以空间是指文件的结构,没有空间是__和_157;,逗号是__或_157;。

        5
  •  0
  •   David Thomas    16 年前

    因为 .c1 .c2 选择一个 c2 元素的子级/子代 c1 元素。

    你想要的是:

    c1,
    c2 {color: red; }
    

    回应OP的意见

    只针对具有两个类的元素:

    c1.c2 {color: red; }
    
        6
  •  0
  •   egrunin    16 年前

    你需要在.c1后面加逗号吗?