2015-02-12 92 views
2

我有3個主要元素:.submit-it,.send-it, .get-resultsLESS CSS選擇器組合不:和僞元素

我希望他們的所有:after元素具有某些樣式,除非他們的類別爲excludederror。我認爲這會奏效,但事實並非如此。

.submit-it, .send-it, .get-results { 
    &:not(.excluded), &:not(.error) { 
    &:after { 
     content: 'text'; 
    } 
    } 
} 

回答

1

通過生成以下選擇,你基本上是所有造型僞:after元素無論其類。

.submit-it:not(.excluded):after, 
.submit-it:not(.error):after, { ... } 

通過選擇不excluded類的所有元素,所有元素不error類,你是間接選擇所有的元素,因爲這兩個事件不是相互排斥的。

因此你會鏈:not()僞類,並替換:

&:not(.excluded), &:not(.error) 

有:

&:not(.excluded):not(.error) 
.submit-it, .send-it, .get-results { 
    &:not(.excluded):not(.error) { 
    &:after { 
     content: 'text'; 
    } 
    } 
} 

將輸出:

.submit-it:not(.excluded):not(.error):after, 
.send-it:not(.excluded):not(.error):after, 
.get-results:not(.excluded):not(.error):after { 
    content: 'text'; 
}