七、CSS 三大特性(完整详细解析)
**
CSS 三大特性(完整詳細(xì)解析)
**
1.優(yōu)先級(jí):
定義CSS樣式時(shí),經(jīng)常出現(xiàn)兩個(gè)或更多規(guī)則應(yīng)用在同一元素上,此時(shí),
- 選擇器相同,則執(zhí)行層疊性
- 選擇器不同,就會(huì)出現(xiàn)優(yōu)先級(jí)的問(wèn)題。
1)權(quán)重計(jì)算公式
a.簡(jiǎn)單記憶法: 通配符和繼承權(quán)重為0
標(biāo)簽選擇器 權(quán)重為1
類(偽類)選擇器為10
id 選擇器 權(quán)重為100
行內(nèi)樣式表 權(quán)重為 1000
!important 權(quán)重為 無(wú)窮大
2)權(quán)重疊加
我們經(jīng)常用交集選擇器,后代選擇器等,是有多個(gè)基礎(chǔ)選擇器組合而成,那么此時(shí),就會(huì)出現(xiàn)權(quán)重疊加。
就是一個(gè)簡(jiǎn)單的加法計(jì)算
- div ul li ------> 0,0,0,1 + 0,0,0,1 + 0,0,0,1 = 0,0,0,3
- .nav ul li ------> 0,0,1,0 + 0,0,0,1 + 0,0,0,1 = 0,0,1,2
- a:hover -----—> 0,0,0,1 + 0,0,1,0 = 0,0,1,1
- .nav a ------> 0,0,1,0 + 0,0,0,1 = 0,0,1,1
注意:
3). 繼承的權(quán)重為0,不管父元素權(quán)重多高,子元素得到的權(quán)重都是0
這個(gè)不難,但是忽略很容易繞暈。其實(shí),我們修改樣式,一定要看該標(biāo)簽有沒(méi)有被選中。
1) 如果選中了,那么以上面的公式來(lái)計(jì)權(quán)重,誰(shuí)大聽(tīng)誰(shuí)的。
2) 如果沒(méi)有選中,那么權(quán)重是0,因?yàn)槔^承的權(quán)重為0.
2.CSS層疊性
概念:
所謂層疊性是指多種CSS樣式的疊加。是瀏覽器處理沖突的一個(gè)能力,如果一個(gè)屬性通過(guò)兩個(gè)相同選擇器設(shè)置到同一個(gè)元素上,那么這個(gè)時(shí)候一個(gè)屬性就會(huì)將另一個(gè)屬性層疊掉
原則:
樣式?jīng)_突,遵循的原則是就近原則。哪個(gè)樣式離結(jié)構(gòu)近,就執(zhí)行哪個(gè)樣式。
樣式不沖突,則不會(huì)層疊
CSS層疊性的執(zhí)行口訣:長(zhǎng)江后浪推前浪,前浪死在沙灘上。
3.CSS繼承性
概念:
子標(biāo)簽會(huì)繼承父標(biāo)簽的某些樣式,如文本顏色和字號(hào)。想要設(shè)置一個(gè)可繼承的屬性,只需將它應(yīng)用于父元素即可。簡(jiǎn)單的理解就是:子承父業(yè)。
注意:
恰當(dāng)?shù)厥褂美^承可以簡(jiǎn)化代碼,降低CSS樣式的復(fù)雜性。比如有很多子級(jí)孩子都需要某個(gè)樣式,可以給父級(jí)指定一個(gè),這些孩子繼承過(guò)來(lái)就好了。
子元素可以繼承父元素的樣式有(text-,font-,line-這些元素開(kāi)頭的可以繼承,以及color屬性)
CSS繼承性口訣:龍生龍,鳳生鳳,老鼠生的孩子會(huì)打洞。
總結(jié)
以上是生活随笔為你收集整理的七、CSS 三大特性(完整详细解析)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 二、PHP框架Laravel学习笔记——
- 下一篇: 十、CSS三行代码实现 溢出的文字省略号