小编典典

如何为a:before和a:after编写:hover条件?

css

如何写:hover:visited条件a:before

我正在尝试,a:before:hover但是没有用


阅读 963

收藏
2020-05-16

共1个答案

小编典典

这取决于您实际要执行的操作。

如果您只是希望:beforea元素与伪类匹配时将样式应用于伪元素,则需要编写a:hover:beforea:visited:before代替。通知伪元件配备
的伪类(事实上,在整个选择器的最末端)。还要注意,它们是两件事。一旦遇到诸如此类的语法问题,将它们都称为“伪选择器”将使您感到困惑。

如果您正在编写CSS3,则可以用双冒号表示一个伪元素,以使这种区别更加清楚。因此,a:hover::beforea:visited::before。但是,如果您正在为IE8和更旧的版本等旧版浏览器进行开发,则可以使用单一冒号就可以了。

伪类和伪元素的这个特定的顺序在陈述规格:

一个伪元素可以附加到选择器中的最后一个简单选择器序列。

简单选择的序列 是不是由一个组合子分隔的简单选择器的链。它总是以类型选择器或通用选择器开头。序列中不允许使用其他类型选择器或通用选择器。

一个 简单的选择器 可以是类型选择器,通用选择器,属性选择器,类选择器,ID选择器或伪类。

伪类是一个简单的选择器。但是,伪元素不是,即使它类似于简单的选择器。

但是,对于诸如:hover1之类的用户操作伪类,如果 当用户与伪元素本身而非a元素进行交互 时才 需要此效果,则 只能
通过一些晦涩的依赖于布局的变通办法来实现。正如文本所暗示的,标准CSS伪元素当前不能具有伪类。在这种情况下,您将需要应用:hover到实际的子元素而不是伪元素。


1 当然,这不适用于诸如:visited问题中的链接伪类,因为伪元素不是链接。

2020-05-16