Je veux combiner :after
avec :hover
en CSS (ou tout autre pseudo sélecteur). J'ai essentiellement une liste et l'élément avec la selected
classe a une forme de flèche appliquée à l'aide de :after
. Je veux que la même chose soit vraie pour les objets qui sont survolés mais qui ne peuvent pas tout à fait le faire fonctionner. Voici le code
#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>
Réponses:
Ajoutez simplement
:after
à votre#alertlist li:hover
sélecteur de la même manière que vous le faites avec votre#alertlist li.selected
sélecteur:la source
:after:hover
par opposition à:hover:after
. C'est ce que j'ai fait au départ qui ne fonctionne pas de manière frustrante:hover
pseudo-classe.en scss
la source
jsFiddle Link
la source