2013-09-21 64 views
1

我有SASS這樣的代碼:SASS - :最後一個孩子,和。去年孩子在IE8不工作

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

和HTML代碼:

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

以上代碼是不在IE8中工作。我知道IE8不支持:最後一個孩子,我爲此定義了頂級孩子。

當我編輯SASS代碼:現在

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

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

一切工作,但它會導致代碼重複。

我使用JS函數爲IE8添加.last-child,但我認爲沒關係。

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

回答

2

這裏的問題是,你根本無法不受支持的選擇與支持的選擇結合起來。瀏覽器已有刪除整個規則。請參閱spec

既然你加入.last-child類JS,它可能是最簡單的,只是利用這個類的和放棄的原因很簡單,它不是在IE8支持使用:last-child。如果您想要使用:last-child並在稍後刪除IE8支持(如果它成爲選項),那麼您必須暫時與代碼重複同時進行。

+0

非常感謝! –