21

可以说我有一个元素列表:

<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";
}

这是一个 jSfiddle

现在,当我将鼠标悬停在More info文本上时,我想更改它的颜色。我真的不明白如何实现这种效果。我尝试了以下 css 规则,但它没有按预期工作。

li:after:hover {
    color: red;
}

li:hover:after:hover {
    color: red;
}

可以用 CSS 做吗?

如果是,另一个问题很有趣,我可以在元素上附加一个onclick事件吗?:after

4

3 回答 3

44

this works perfectly

.topButton:hover:after{
    background-color: #000;
}
于 2014-11-03T01:32:48.417 回答
4

根据 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;
}

使用 :active 作为 onClick ?

li > span:active {
    color:blue;
}

演示:http: //jsfiddle.net/79Lvn/2/


还是 JS/jQuery 方式?只是...

$('ol > li').append('<span> + More info</span>');

演示:http: //jsfiddle.net/79Lvn/4/

于 2013-11-13T12:04:30.460 回答
-4

她你去伙计,做了一些“摆弄”并使用CSS使用

.third:hover .sub{
      display:inline;   
}

http://jsfiddle.net/79Lvn/3/

于 2013-11-13T12:23:01.390 回答