溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

CSS樣式覆蓋規(guī)則的示例分析

發(fā)布時(shí)間:2021-09-14 11:45:39 來源:億速云 閱讀:170 作者:小新 欄目:web開發(fā)

這篇文章給大家分享的是有關(guān)CSS樣式覆蓋規(guī)則的示例分析的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

首先需要明確的是,很多情況都會導(dǎo)致一個元素被運(yùn)用上多種樣式,樣式覆蓋的規(guī)則也需要根據(jù)不同的情況來定,具體規(guī)則如下。

規(guī)則一:由于繼承而發(fā)生樣式?jīng)_突時(shí),最近祖先獲勝。

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)_突時(shí),直接指定的樣式獲勝。

在上面的例子中,假如還指定了strong元素的樣式,如:

strong {color:red;}

那么根據(jù)規(guī)則二,strong中的文字最終顯示為紅色。

規(guī)則三:直接指定的樣式發(fā)生沖突時(shí),樣式權(quán)值高者獲勝。

樣式的權(quán)值取決于樣式的選擇器,權(quán)值定義如下表。

CSS選擇器 權(quán)值

標(biāo)簽選擇器 1
類選擇器 10
ID選擇器 100
內(nèi)聯(lián)樣式 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)值相同時(shí),后者獲勝。

考慮下面這種情況

<p  
  
class="byline">Written   
 by <a  
  
class="email"  
  
href="mailto:jean@cosmofarmer.   
 com">Jean   
 Graine de Pomme</a></p>    
12 .byline   
 a {color:red;}p   
 .email {color:blue;}

“.byline a”與”p .email”都直接指定了上面的a元素,且權(quán)值都為11,根據(jù)規(guī)則四,最終顯示藍(lán)色。

由于樣式表可以是外部的,也可以是內(nèi)部的,規(guī)則四提醒我們要注意外部樣式表引入的順序(及<link>元素的順序),以及外部樣式表與內(nèi)部樣式表的出現(xiàn)位置。一般來說,內(nèi)部樣式表出現(xiàn)在所有外部樣式表的引入之后,一般是在</head>之前。

規(guī)則五:!important的樣式屬性不被覆蓋。

!important可以看做是萬不得已的時(shí)候,打破上述四個規(guī)則的”金手指”。如果你一定要采用某個樣式屬性,而不讓它被覆蓋的,可以在屬性值后加上!important,以規(guī)則四的例子為例,”.byline a {color:red !important;}”可以強(qiáng)行使鏈接顯示紅色。大多數(shù)情況下都可以通過其他方式來控制樣式的覆蓋,不能濫用!important。

感謝各位的閱讀!關(guān)于“CSS樣式覆蓋規(guī)則的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

css
AI