本篇內容主要講解“如何解決css樣式沖突問題”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“如何解決css樣式沖突問題”吧!
創(chuàng)新互聯是一家專業(yè)提供民和企業(yè)網站建設,專注與成都網站設計、成都做網站、H5網站設計、小程序制作等業(yè)務。10年已為民和眾多企業(yè)、政府機構等服務。創(chuàng)新互聯專業(yè)網絡公司優(yōu)惠進行中。
解決方法:1、細化選擇符,將選擇器的描述寫得更加精確;2、再寫一次選擇器名;3、改變CSS樣式表中的順序;4、主動提升優(yōu)先級,在需要使用的樣式后加上關鍵字“!important”。
本教程操作環(huán)境:windows7系統(tǒng)、CSS3&&HTML5版、Dell G3電腦。
1. 細化選擇符
通過使用組合器(Combinator)將選擇器的描述寫得更加精確,例如對于下述代碼片段,如果想給.cellphones中的.apple增加樣式,只使用.apple,勢必會對.fruit中的.apple也造成影響。
可以使用后代組合器(Descendant Combinator)或子代組合器(Child Combinator)這種更為精確的描述。描述得越精確,優(yōu)先級越高,優(yōu)先級更高的描述會覆蓋優(yōu)先級較低的描述。
/* 后代組合器:所有后代節(jié)點 */ .cellphones .apple { border: 1px solid black; } /* 更加精確的后代組合器 */ body .cellphones .apple { border: 1px solid blue; } /* 子代組合器:直接子節(jié)點 */ .cellphones > .apple { border: 1px solid red; }
如果給.apple按順序加上上述全部樣式,最終,邊框將呈現藍色。
詳細的優(yōu)先級規(guī)則參見CSS 優(yōu)先級
2. 再寫一次選擇器名
本質上是上一種情況的特例。例如對于.apple,添加如下樣式:
.cellphones > .apple.apple { border: 1px solid purple; } .cellphones > .apple { border: 1px solid red; }
最終,邊框將呈現紫色。
3. 改變CSS樣式表中的順序
對于相同類型選擇器指定的樣式,在CSS文件中的順序靠后的樣式會覆蓋之前的樣式。 例如對于下述代碼中的div元素,瀏覽器渲染的結果會是紅色的:
.blackBorder { border: 1px solid black; } .redBorder { border: 1px solid red; }
需要注意的是,盡管在HTML文件中.blackBorder出現在.redBorder后,但優(yōu)先級的判斷是根據他們在CSS文件中的順序。也就是說,CSS文件中更為靠后的.redBorder才會被采用。
4. 主動提升優(yōu)先級(不建議)
還有一種簡單粗暴但是并不建議的辦法,就是在需要使用的樣式后加上關鍵字!important可以將樣式優(yōu)先級提到極高。例如:
.greenBorder { border: 1px solid green !important; } .redBorder { border: 1px solid red; }
對于上述代碼,邊框將顯示為綠色。
使用 !important 是一個非常不好的習慣,會破壞樣式表中固有的級聯規(guī)則,使得調試變得非常困難!
到此,相信大家對“如何解決css樣式沖突問題”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!