2013-09-21 2 views
1
내가있어

SASS 코드를 다음과 같이 IE8에서 작동하지 :SASS - & : 마지막 아이, .last - 아이

li { 
    &:last-child, &.last-child { 
    color: red; 
    } 
} 

그리고 HTML 코드 :

<ul> 
    <li class="last-child">Hello there!</li> 
</ul> 

코드 그것의 위 IE8에서 작동하지 않습니다. 나는 IE8이 지원하지 않는다는 것을 안다 : 마지막 아이, 나는이 목적을 위해 .last-child를 정의했다.

때 나는이에 SASS 코드를 편집 :

li { 
    &:last-child { 
    color: red; 
    } 

    &.last-child { 
    color: red; 
    } 
} 

모든 것이 지금 노력하지만 중복을 코드에 연결됩니다.

JS 함수를 사용하여 IE8 용 .last-child를 추가하려고하지만 문제가되지 않는다고 생각합니다.

http://codepen.io/anon/pen/LFGAr

답변

2

여기서 문제는 단순히 지원 선택과 지원되지 않는 선택을 결합 할 수 있다는 것입니다. 브라우저에는 전체 규칙을 삭제하는이 있습니다. spec을 참조하십시오.

JS를 사용하여 .last-child 클래스를 추가 했으므로 IE8에서 지원되지 않는 간단한 이유 때문에 해당 클래스를 사용하고 :last-child을 사용하는 것이 가장 쉽습니다. :last-child을 사용하고 나중에 옵션이 될 경우 IE8 지원을 제거하려면 당분간 코드 복제본을 사용해야합니다.

+0

대단히 감사합니다. –