结合:之后:hover
我想要结合:after
:hover
在CSS(或任何其他伪select器)。 我基本上有一个列表, selected
类的项目有一个箭头形状使用:after
。 我希望对于那些正在盘旋的对象也是如此,但是却无法完成它的工作。 这里是代码
#alertlist { list-style:none; width: 250px; } #alertlist li { padding: 5px 10px; border-bottom: 1px solid #e9e9e9; position:relative; } #alertlist li.selected, #alertlist li:hover { color: #f0f0f0; background-color: #303030; } #alertlist li.selected:after { position:absolute; top: 0; right:-10px; bottom:0; border-top: 10px solid transparent; border-bottom: 10px solid transparent; border-left: 10px solid #303030; content: ""; } <ul id="alertlist"> <li>Alert 123</li> <li class="selected">Alert 123</li> <li>Alert 123</li> </ul>
只需追加:after
您的#alertlist li:hover
select器之后执行与您的#alertlist li.selected
select器相同的方式:
#alertlist li.selected:after, #alertlist li:hover:after { position:absolute; top: 0; right:-10px; bottom:0; border-top: 10px solid transparent; border-bottom: 10px solid transparent; border-left: 10px solid #303030; content: ""; }
在scss中
&::after{ content: url(images/RelativeProjectsArr.png); margin-left:30px; } &:hover{ background-color:$turkiz; color:#e5e7ef; &::after{ content: url(images/RelativeProjectsArrHover.png); } }
#alertlist li:hover:after,#alertlist li.selected:after { position:absolute; top: 0; right:-10px; bottom:0; border-top: 10px solid transparent; border-bottom: 10px solid transparent; border-left: 10px solid #303030; content: ""; }
jsFiddle链接