2017-02-26 43 views
1

沒有選擇不工作,所以我有這樣的::如預期

b:not(.alert-danger) { 
 
    color: #fff; 
 
}
<div class="alert alert-danger" role="alert"> 
 
    <h3><b>text</b></h3> 
 
</div> 
 

 
<h3><b>text2</b></h3>

的事情是,警報(文本)獲得白色,我不明白髮生了什麼。 text2也變白,但沒關係。

我只想對text2生效,而不是text1。

回答

3

:not(.alert-danger) > h3 { 
 
    color: #fff 
 
}
<div class="alert alert-danger" role="alert"> 
 
    <h3><b>text</b></h3> 
 
</div> 
 
<h3><b>text2</b></h3>

您的選擇:

b:not(.alert-danger) { color: #fff; } 

...在說:

目標b元素,除非他們有一類alert-danger

這與您的HTML結構不匹配。另外你不能有一個父母匹配的孩子,因爲這不是CSS的工作方式。

訂正選擇器被說:

目標h3元素是任何元素的子元素,除非該父具有類的alert-danger

您也可以針對b如果你喜歡:

:not(.alert-danger) b { color: #fff } 
+1

謝謝!那工作 – Janva