使用CSS来定位任何包含任何两个类的元素?

前端之家收集整理的这篇文章主要介绍了使用CSS来定位任何包含任何两个类的元素?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们的生产环境使用的是与多个css类不兼容的自适应技术.这意味着在设置 HTML样式时很容易忘记和使用两个类,并且一旦生成就让它中断.

我想使用CSS作为一种方式来突出显示有人忘记并意外地将两个类应用于元素.

这样的事情是我的意图,虽然当然这是无效的.它应该突出显示应用了两个类的任何元素:

.*.* { /* not valid (I wish) */
  outline:2px dotted red;
  }@H_403_7@ 
 

我知道如果我知道这个类就行了,问题是我要标记任何两个类:

.classA.classB { /* not good enough */
  outline:2px dotted red;
  }@H_403_7@ 
 

我知道我可以用JS和书签来做到这一点,也许这是唯一的解决方案.如果只有CSS可能会更好,因为它会自动为所有开发人员和QA标记内容.

解决方法

删除大多数误报(例如,空格填充的属性值),您可以使用此选择器:
[class*=" "]:not([class^=" "]):not([class$=" "]) {
    outline: 2px dotted red;
}@H_403_7@ 
 

这仍然没有过滤掉像Phrogz在你自己的答案中所指出的值中的重复类,例如class =“foo foo”,但它总比没有好,而且我认为与使用空格填充的类属性相比,它发生的可能性要小得多.

猜你在找的CSS相关文章