2014-02-13 36 views
0

恢復@extend我想@extend在一定的條件和其他條件的類撤銷該@extend在SASS

<div class="myclass"> 
<div class="not_special"> 
</div> 
</div> 

所以當沒有.not_special孩子這將是

.myclass 
    @extend .special 

而且當有.not_special孩子

.myclass:has(.not_special) 
    //revoke the previous @extend 

我不能使用JavaScript來,因爲即使添加或刪除類TS都沒有明確的規定,因爲可能有許多事件和捕捉他們都不可能

+0

可能複製[有什麼方法可以在SASS中「取消」一個類?](http://stackoverflow.com/questions/12505378/is-there-any-way-to-unextend-a-class-in-sass) – cimmanon

回答

4

使用:not僞類

.myclass:not:has(.not_special) 
    @extend .special 

這將適用於@extend所有.myclass除非他們有一個孩子.not_special

+0

這將引用.myclass.not_special,我需要樣式.myclass不具有孩子.not_sp ecial –

+0

對不起 - 我誤解了你的更新,所以現在答案應該工作 – fcalderan