18-CSS 三大特性(層疊、繼承、優(yōu)先級)

一、CSS層疊性

層疊性

概念:

  • 所謂層疊性是指多種CSS樣式的疊加。
  • 是瀏覽器處理沖突的一個能力,如果一個屬性通過兩個相同選擇器設(shè)置到同一個元素上,那么這個時候一個屬性就會將另一個屬性層疊掉

原則:

  • 樣式?jīng)_突,遵循的原則是就近原則。 那個樣式離著結(jié)構(gòu)近,就執(zhí)行那個樣式。
  • 樣式不沖突,不會層疊

二、 CSS繼承性

繼承性

概念:

  • 子標(biāo)簽會繼承父標(biāo)簽的某些樣式,如文本顏色和字號。
  • 想要設(shè)置一個可繼承的屬性,只需將它應(yīng)用于父元素即可。

注意

  • 恰當(dāng)?shù)厥褂美^承可以簡化代碼,降低CSS樣式的復(fù)雜性。比如有很多子級孩子都需要某個樣式,可以給父級指定一個,這些孩子繼承過來就好了。
  • 子元素可以繼承父元素的樣式(text-,font-,line-這些元素開頭的可以繼承,以及color屬性

三、CSS優(yōu)先級

優(yōu)先級

概念:

  • 定義CSS樣式時,經(jīng)常出現(xiàn)兩個或更多規(guī)則應(yīng)用在同一元素上,此時,
  • 選擇器相同,則執(zhí)行層疊性
  • 選擇器不同,就會出現(xiàn)優(yōu)先級的問題。

1、權(quán)重計算公式

關(guān)于CSS權(quán)重,我們需要一套計算公式來去計算,這個就是 CSS Specificity(特殊性)

標(biāo)簽選擇器 計算權(quán)重公式
繼承或者 * 0,0,0,0
每個元素(標(biāo)簽選擇器) 0,0,0,1
每個類,偽類 0,0,1,0
每個ID 0,1,0,0
每個行內(nèi)樣式 style="" 1,0,0,0
每個!important 重要的 ∞ 無窮大
  • 值從左到右,左面的最大,一級大于一級,數(shù)位之間沒有進(jìn)制,級別之間不可超越。

  • 關(guān)于CSS權(quán)重,我們需要一套計算公式來去計算,這個就是 CSS Specificity(特殊性)

div {
    color: pink!important;
}

2、權(quán)重疊加

我們經(jīng)常用交集選擇器,后代選擇器等,是有多個基礎(chǔ)選擇器組合而成,那么此時,就會出現(xiàn)權(quán)重疊加。

就是一個簡單的加法計算

  • div ul li ------> 0,0,0,3

  • .nav ul li ------> 0,0,1,2

  • a:hover -----—> 0,0,1,1

  • .nav a ------> 0,0,1,1

注意:

數(shù)位之間沒有進(jìn)制 比如說: 0,0,0,5 + 0,0,0,5 =0,0,0,10 而不是 0,0, 1, 0, 所以不會存在10個div能趕上一個類選擇器的情況。

3、繼承的權(quán)重是0

這個不難,但是忽略很容易繞暈。其實,我們修改樣式,一定要看該標(biāo)簽有沒有被選中。

  • 如果選中了,那么以上面的公式來計權(quán)重。誰大聽誰的。
  • 如果沒有選中,那么權(quán)重是0,因為繼承的權(quán)重為0.

四、 CSS注釋

CSS注釋規(guī)則:

/*  需要注釋的內(nèi)容  */  進(jìn)行注釋的,即在需要注釋的內(nèi)容前使用 "/*" 標(biāo)記開始注釋,
在內(nèi)容的結(jié)尾使用 "*/"結(jié)束。

例如:

p {
    /* 所有的字體是14像素大小*/
    font-size: 14px; 
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容