CSS将通配符应用于伪类

时间:2012-07-03 18:57:07

标签: css css3 wildcard pseudo-class

希望这不是一个愚蠢的问题,但我似乎无法弄清楚如何做到这一点。您是否可以将通配符应用于锚点悬停/焦点,以便将样式应用于所有类?

这样的东西
a:hover * { color: #ff0000; }

说我有

a { color: #DD0000; }
a.link { color: #ffffff; }
a.link2 { color: #000000; }
a.user { ...
a.anything { ...

解释我正在寻找的最简单的方法是拥有一个全局:悬停样式,但有多个:链接样式。 感谢

3 个答案:

答案 0 :(得分:2)

有很多方法可以做到这一点。正如其他人所提到的,您可以将相同的样式应用于多个类,如下所示:

div a.class1:hover, div a.class2:hover, div a.class3:hover { ... }

您还可以为要应用的样式创建自定义类:

div a.customClass:hover { ... }

您可以使用问题中提到的*,但apply hover to it

div *:hover { ... }

还有这个选项,您只需应用所有a的样式,尽管您可能已经知道此选项:

a:hover { ... }

编辑:如果您的样式被其他内容“覆盖”,快速简便的方法就是使用浏览器的开发者工具来检查元素。您甚至可以使用Chrome和Firefox附带的开发人员工具来应用伪类(即,即使您没有悬停在元素上,也可以应用:hover伪类)(您可能需要下载Firebug才能执行此操作)火狐)。

另一个选择是使用!important来增加选择器的特异性。例如:

a:hover { background: red !important; }

您可以详细了解如何计算特异性here

答案 1 :(得分:1)

如果要为特定标记应用全局css规则,请写入(对于锚点):

a:link{/*your styles go here*/}
a:hover{/*your styles go here*/}
a:active{/*your styles go here*/}
a:visited{/*your styles go here*/}

如果你想要一个以不同方式设置风格的特殊链接(可能是一个按钮),只需将一个类应用于它并为该类设置样式:

a.customlink{/*your styles go here*/}
编辑:如果你只想在悬停时改变链接的某些属性,那么对于两个不同的链接将会是相同的(让我们说一个是黄色的,而另一个是红色的背景,你想要它们都是有一个黑色背景),添加另一个相同的类到两个链接,并将其风格化。

JsFiddle Example

答案 2 :(得分:0)

您可以使用逗号a:hover link, a:hover link2, a:hover etc { color: #ff0000; }

分隔它们

a:hover { color: #ff0000; }不符合您的要求吗?