CSS教程:學習CSS的繼承性
2024-07-11 08:24:36
供稿:網友
所謂CSS的繼承是指被包在內部的標簽將擁有外部標簽的樣式性質。繼承特性最典型的應用通常發揮在整個網頁的樣式預設,需要指定為其它樣式的部份設定在個別元素里即可。這項特性可以給網頁設計者提供更理想的發揮空間。但同時繼承也有很多規則,應用的時候容易讓人迷惑,donger今天就專門和大家聊聊這方面的應用。
CSS是層疊樣式表(Cascading Style Sheets)的簡稱,它的規范代表了互聯網歷史上一個獨特的發展階段。現在對于從事網頁制作的朋友來說,很少沒有聽說過CSS了吧,因為在制作網頁過程中我們經常需要用到。
CSS允許我們為文檔設置更為豐富且便于修改的外觀,可以減輕網頁設計者的工作負擔。這里我們主要想和朋友們一起對CSS的繼承性和特殊性進行一點深入的探討。
一、繼承
CSS的一個主要特征就是繼承,它是依賴于祖先-后代的關系的。繼承是一種機制,它允許樣式不僅可以應用于某個特定的元素,還可以應用于它的后代。例如一個BODY定義了的顏色值也會應用到段落的文本中。下面舉例說明:
樣式定義:
body{color:red;}
應用舉例代碼:
<p>CSS的<strong>層疊和繼承</strong>深入探討</p>
這段代碼的應用結果是:“CSS的層疊和繼承深入探討”這段話是紅顏色的,“層疊和繼承”由于應用了strong元素,所以是粗體。這很符合制作者的意圖,也是為什么繼承是CSS的一部分的原因。
二、CSS繼承的局限性
在CSS中,繼承是一種非常自然的行為,我們甚至不需要考慮是否能夠這樣去做,但是繼承也有其局限性。
首先,有些屬性是不能繼承的。這沒有任何原因,只是因為它就是這么設置的。舉個例子來說:border屬性,大家都知道,border屬性是用來設置元素的邊框的,它就沒有繼承性。多數邊框類屬性,比如象Padding(補白),Margin(邊界),背景和邊框的屬性都是不能繼承的。
三、繼承中容易引起的錯誤
有時候繼承也會帶來些錯誤,比如說下面這條CSS定義:
body{color:blue}
在有些瀏覽器中這句定義會使除表格之外的文本變成藍色。從技術上來說,這是不正確的,但是它確實存在。所以我們經常需要借助于某些技巧,比如將CSS定義成這樣:
body,table,th,td{color:blue}
這樣表格內的文字也會變成藍色。
四、多種樣式混合應用
既然有了繼承性,那么在樣式表中的應用上可能會有些讀者搞不清,多個樣式表同時應用到一個對象上會發生什么情形呢?先舉個簡單的例子:
樣式定義:
.apple{color:red;}h1{color:yellow;}
應用舉例代碼:
<h1 class="apple">這兒的蘋果好紅啊</h1>