CSS样式:覆盖规则
規(guī)則一:由于繼承而發(fā)生樣式?jīng)_突時,最近祖先獲勝。
CSS的繼承機(jī)制使得元素可以從包含它的祖先元素中繼承樣式,考慮下面這種情況:
<html><head><title>rule 1</title><style>body {color:black;}p {color:blue;}</style></head><body><p>welcome to <strong>gaodayue的網(wǎng)絡(luò)日志</strong></p></body></html>?strong分別從body和p中繼承了color屬性,但是由于p在繼承樹上離strong更近,因此strong中的文字最終繼承p的藍(lán)色。
?
規(guī)則二:繼承的樣式和直接指定的樣式?jīng)_突時,直接指定的樣式獲勝。
在上面的例子中,假如還指定了strong元素的樣式,如:
strong {color:red;}那么根據(jù)規(guī)則二,strong中的文字最終顯示為紅色。
規(guī)則三:直接指定的樣式發(fā)生沖突時,樣式權(quán)值高者獲勝。
樣式的權(quán)值取決于樣式的選擇器,權(quán)值定義如下表:
| ?標(biāo)簽選擇器 | ?1 |
| ?類選擇器 | ?10 |
| ?ID選擇器 | ?100 |
| ?內(nèi)斂樣式 | ?1000 |
| ?偽元素(:first-child等) | ?1 |
| ?偽類(:link) | ?10 |
可以看到,內(nèi)聯(lián)樣式的權(quán)值>>ID選擇器>>類選擇器>>標(biāo)簽選擇器,除此以外,后代選擇器的權(quán)值為每項(xiàng)權(quán)值之和,比如”#nav .current a”的權(quán)值為100 + 10 + 1 = 111。
規(guī)則四:樣式權(quán)值相同時,后者獲勝。
<p class="byline">Written by <a class="email" href="mailto:jean@cosmofarmer. com">Jean Graine de Pomme</a></p>.byline a {color:red;}p .email {color:blue;}“.byline a”與”p .email”都直接指定了上面的a元素,且權(quán)值都為11,根據(jù)規(guī)則四,最終顯示藍(lán)色。
規(guī)則五:!important的樣式屬性不被覆蓋。
!important可以看做是萬不得已的時候,打破上述四個規(guī)則的”金手指”。如果你一定要采用某個樣式屬性,而不讓它被覆蓋的,可以在屬性值后加上!important,以規(guī)則四的例子為例,”.byline a {color:red !important;}”可以強(qiáng)行使鏈接顯示紅色。大多數(shù)情況下都可以通過其他方式來控制樣式的覆蓋,不能濫用!important。
轉(zhuǎn)載于:https://www.cnblogs.com/Nyan-Workflow-FC/p/10419468.html
總結(jié)
以上是生活随笔為你收集整理的CSS样式:覆盖规则的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 耐盐碱海水稻对话何登骥 丰收节贸促会-万
- 下一篇: CSS 基本样式