css修改(可以使用!不)?

时间:2011-04-04 20:35:23

标签: css

我可以做.one.two,并且该目标是任何具有“one”类和“2”类的元素吗?

如果我想要使用类“one”但不能与“two”结合的任何元素,该怎么办?例如.one!.two或类似的东西。

所有。

4 个答案:

答案 0 :(得分:2)

答案 1 :(得分:2)

CSS3包括:not(),但我认为它还不支持IE。适用于其他浏览器的最新版本:

.one:not(.two) {
  //your styles
}

答案 2 :(得分:2)

.one {background: red;}
.two {background: green;}
.one.two {background: blue;}

我不明白为什么你需要'不',因为.one的格式与.one but not .two相同。如果您已经在使用多个课程,那么您应该很高兴。

答案 3 :(得分:0)

听起来你需要read about specificity

.one将选择所有class="one"元素,.two将选择所有class="two"元素。

.one.two会选择所有class="one two"元素,并会覆盖可能为该元素设置.one.two的所有规则。

.one:not(.two)选择器会执行您想要的否定,但它不是跨浏览器兼容的。

添加像.one:not(.two)这样的规则的最兼容浏览器的方法是添加覆盖:

.one
{
  color: blue;
}

.one.two
{
  color: black;
}