2015-07-10 70 views
0

說我有以下HTML結構內:CSS/LESS選擇元件不包含給定的ID

<div id="outer"> 
    <div id="target"> 
    </div> 
</div> 

外DIV可以或可以不具有id爲「外」。

我想申請款式只有當它的包含一個div內#target ID爲 「外」:

<div id="something-else"> 
    <div id="target"> 
    </div> 
</div> 

與少,我試過如下:

:not(#outer) { 
    #target { 
    // styles 
    } 
} 

這顯然不工作(我猜是因爲:not運算符不排除它的嵌套元素)。

有什麼辦法可以通過CSS/LESS實現這個嗎?當然,我知道我可以重構HTML /邏輯,所以我不使用這些樣式就可以應用這些樣式:不是,但是我想知道是否可以實現我所要求的方式。

+0

你知道不能在頁面上重複使用ID ...對嗎? –

+0

我不是......我只是舉例說明了兩種不同的情況:一種是它包含在「外部」中,另一種是它不在其中。 – jji

+0

行...只是檢查。 –

回答

1

試試這個

:not(#outer) > #target { 
    // Styles 
    background-color: red; 
    } 
} 

這裏有一個小fiddle你可以試試。