當其父級具有特定類別時,我需要覆蓋子級顏色。.parent { width: 100%;}.parent>.child { color: black;}.parent>.child.blue { color: blue;}.parent.error { color: red !important;}.parent.error>.child { color: red !important;}<div class="parent"> <div class="child">Child #1</div> <div class="child blue">Child #2</div></div>當使用 jquery 添加父類時出現“錯誤”時$('.parent').addClass('error'),只有Child #1顏色變?yōu)榧t色。2 號孩子(班上有額外的藍色<div class="child blue">Child #2</div>)保持藍色。問題是,如何強制Child #2將其顏色更改為紅色而不指定.parent.error > .child.blue錯誤類別。/*If this style is added, it will work*/.parent.error > .child.blue { color: red !important;}謝謝...
1 回答

梵蒂岡之花
TA貢獻1900條經驗 獲得超5個贊
沒有進行更深入的頭腦風暴,我的第一反應是:CSS 基本原理說 - 定義越接近,它的優(yōu)先級就越高。
因此,該!important
部分對于使事情正常進行是必要的。
或者,您可以重新考慮相反的 CSS 定義。僅當父類不包含 .error
.blue 時,'.blue' 才會生效。
快速線索 - 對于非錯誤情況,類似這樣:
.parent:not(.error) > .child.blue { color: blue; }
- 1 回答
- 0 關注
- 159 瀏覽
添加回答
舉報
0/150
提交
取消