首頁技術文章正文

什么是層疊性?什么是繼承性?

更新時間:2022-01-12 來源:黑馬程序員 瀏覽量:

CSS是層疊式樣式表的簡稱,層疊性和繼承性是其基本特征。對于網(wǎng)頁設計師來說,應深刻理解和靈活運用這兩個概念。
1.層疊性
層疊性是指多種CSS樣式的疊加。例如,當使用內嵌式CSS樣式表定義<p>標記字號大小為12m,外鏈式定義<p>標記顏色為紅色,那么段落文本將顯示為12p既這兩種樣式產(chǎn)生了疊加。


2.繼承性
繼承性是指書寫CSS樣式表時,子標記會繼承父標記的某些樣式,如文本顏色和字號。例如,定義主體標記body的文本顏色為黑色,那么頁面中所有的文本都將顯示為黑色,這是因為其他標記都嵌套在<body>標記中,是<body>標記的子標記。
繼承非常有用,可以不必在標記的每個后代上添加相同的樣式。如果設置的屬性是一個可繼承的屬性,只需將它應用于父標記即可,例如下面的代碼:
p, div, hl, h2, h3, h4, ul, ol, dl, li(color: black;}

就可以寫成:

body( color:black;}

第二種寫法可以達到相同的控制效果,且代碼更簡潔(第一種寫法中有一些陌生的標記,了解即可)。
恰當?shù)厥褂美^承可以簡化代碼,降低CSS樣式的復雜性。但是,如果在網(wǎng)頁中所有的標記都大量繼承樣式,那么判斷樣式的來源就會很困難,所以對于字體、文本屬性等網(wǎng)頁中通用的樣式可以選用繼承。例如,字體、字號、顏色等可以在body標記中統(tǒng)一設置,然后通過繼承影響文檔中所有文本。
需要注意的是,并不是所有的CSS屬性都可以繼承,例如,下面的屬性就不具有繼承性。

邊框屬性, 如border、border-top、border-right、border-bottom等。
外邊距屬性,如margin、margin-top、margin-bottom、margin-left等。
內邊距屬性,如padding、padding-top、padding-right、padding-bottom等。
背景屬性,如background、background-image、background-repeat等。
定位屬性,如position、top、right、bottom、left、z-index等。
布局屬性, 如clear、float、clip、display、overflow等。
元素寬高屬性,如width、height。


注意:當為body標記設置字號屬性時,標題文本不會采用這個樣式,可能會認為標題沒有繼承文本字號,這種認識是錯誤的。標題文本之所以不采用body標記設置的字號,是因為標題標記h1~h6有默認字號樣式,這時默認字號覆蓋了繼承的字號。






猜你喜歡:

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

ES6借用構造函數(shù)繼承父類屬性

什么是類?怎樣聲明類的繼承關系?

CSS盒模型:標準盒模型與怪異盒模型詳細介紹

黑馬程序員HTML前端與移動開發(fā)培訓

分享到:
在線咨詢 我要報名
和我們在線交談!