결합 후 : 호버


176

CSS (또는 다른 의사 선택기) :after와 결합하고 싶습니다 :hover. 기본적으로 목록이 있고 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>

#alertlist li : hover : after 규칙을 추가하려고 했습니까?
안드레아

답변:


225

선택기와 동일한 방식으로 선택기에 추가 :after하면됩니다 .#alertlist li:hover#alertlist li.selected

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

29
@Chris, 당신이 이전에 시도한 것은 :after:hover 과 반대 :hover:after입니다. 내가 처음에 실망
스럽게

3
@WickyNilliams : 설계 상의 (의사 클래스 대 의사 요소) 그건 - 참조 stackoverflow.com/questions/5777210/...
BoltClock

3
Chrome (v43) 또는 FF (v38)의 텍스트 장식에는 작동하지 않는 것 같습니다.
geoidesic

@geoidesic : 텍스트 장식은 전혀 다른 문제입니다. 특히 절대 위치 설정에서는 잘 작동하지 않습니다. 의사 요소 또는 :hover의사 클래스와 관련이 없습니다.
BoltClock

@BoltClock 절대 위치 지정을 사용하지 않지만 위의 선택기 구문을 사용하여 콘텐츠 이후의 색상을 변경할 수는 있지만 링크에서 : after 요소의 호버 상태에 대한 텍스트 장식을 변경할 수 없습니다 . 그렇지 않으면 텍스트 장식이 잘 작동합니다.
geoidesic

22

scss에서

&::after{
content: url(images/RelativeProjectsArr.png);
margin-left:30px;
}

&:hover{
    background-color:$turkiz;
    color:#e5e7ef;

    &::after{
    content: url(images/RelativeProjectsArrHover.png);
    }
}

8
 #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 링크


리 : 호버는 : 선택으로 afte 같은 클래스에서이 추가
키 쇼어 쿠마르에게
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.