如何写:hover
和:visited
条件a:before
?
我正在尝试,a:before:hover
但是没有用
如何写:hover
和:visited
条件a:before
?
我正在尝试,a:before:hover
但是没有用
Answers:
这取决于您实际要执行的操作。
如果您只是希望:before
在a
元素与伪类匹配时将样式应用于伪元素,则需要编写a:hover:before
或a:visited:before
代替。通知伪元件配备后的伪类(事实上,在整个选择器的最末端)。还要注意,它们是两件事。一旦遇到诸如此类的语法问题,将它们都称为“伪选择器”将使您感到困惑。
如果您正在编写CSS3,则可以用双冒号表示一个伪元素,以使这种区别更加清楚。因此,a:hover::before
和a:visited::before
。但是,如果您正在为IE8和更旧的版本等旧版浏览器进行开发,则可以摆脱使用单个冒号的困扰。
伪类和伪元素的这个特定的顺序在陈述规格:
一个伪元素可以附加到选择器中的最后一个简单选择器序列。
甲简单选择的序列是不是由一个组合子分隔的简单选择器的链。它总是以类型选择器或通用选择器开头。序列中不允许使用其他类型选择器或通用选择器。
一个简单的选择器可以是类型选择器,通用选择器,属性选择器,类选择器,ID选择器或伪类。
伪类是一个简单的选择器。但是,伪元素不是,即使它类似于简单的选择器。
但是,对于诸如:hover
1之类的用户操作伪类,如果仅当用户与伪元素本身而非a
元素进行交互时才需要此效果,则只能通过一些晦涩的依赖于布局的变通办法来实现。正如文本所暗示的,标准CSS伪元素当前不能具有伪类。在这种情况下,您将需要应用:hover
到实际的子元素而不是伪元素。
1 当然,这不适用于诸如:visited
问题中的链接伪类,因为伪元素不是链接。
text-decoration
。
写a:hover::before
而不是a::before:hover
:example。
:after
和CSS3的更多信息::after
developer.mozilla.org/en-US/docs/Web/CSS/(单个:
具有更好的支持)
在鼠标悬停时更改菜单链接的文本。(悬停时的不同语言文字)这是
的HTML:
<a align="center" href="#"><span>kannada</span></a>
CSS:
span {
font-size:12px;
}
a {
color:green;
}
a:hover span {
display:none;
}
a:hover:before {
color:red;
font-size:24px;
content:"ಕನ್ನಡ";
}
尝试使用.card-listing:hover::after
hover
并after
使用::
它会起作用
您也可以使用右尖括号(“>”)将操作限制为一个类,就像我在这段代码中所做的那样:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css">
span {
font-size:12px;
}
a {
color:green;
}
.test1>a:hover span {
display:none;
}
.test1>a:hover:before {
color:red;
content:"Apple";
}
</style>
</head>
<body>
<div class="test1">
<a href="#"><span>Google</span></a>
</div>
<div class="test2">
<a href="#"><span>Apple</span></a>
</div>
</body>
</html>
注意: hover:before开关仅适用于.test1类