假设我有一个元素列表:
<ol>
<li>First</li>
<li>Second</li>
<li>Third</li>
</ol>
当我悬停列表项时,我需要能够获得有关每个主题的更多信息。我用CSS :after
伪元素做了这个。
ol {
list-style-type: decimal-leading-zero;
}
li:hover:after {
content: " + More info";
}
现在当我将鼠标悬停在More info
文字上时,我想改变它的颜色。我真的不明白如何实现这种效果。
我已经尝试了以下css规则,但它没有按预期工作。
li:after:hover {
color: red;
}
li:hover:after:hover {
color: red;
}
可以用CSS做吗?
如果是,另一个问题很有意思,我可以将onclick
事件附加到:after
元素吗?
答案 0 :(得分:22)
这完美无缺
.topButton:hover:after{
background-color: #000;
}
答案 1 :(得分:5)
根据ExtPro的评论,你不能
但你可以这样做......
HTML:
<ol>
<li>First<span> + More info</span></li>
<li>Second<span> + More info</span></li>
<li>Third<span> + More info</span></li>
</ol>
CSS:
li > span {
display:none;
}
li:hover > span {
display:inline;
}
li > span:hover {
color:red;
}
使用:活动为onClick?
li > span:active {
color:blue;
}
演示: http://jsfiddle.net/79Lvn/2/
或JS / jQuery方式?只是...
$('ol > li').append('<span> + More info</span>');
答案 2 :(得分:-2)