HTML+CSS 輕松入門(mén)之繼承
css是層疊樣式表(cascading style sheets)的簡(jiǎn)稱(chēng),它的規(guī)范代表了互聯(lián)網(wǎng)歷史上一個(gè)獨(dú)特的發(fā)展階段?,F(xiàn)在對(duì)于從事網(wǎng)頁(yè)制作的朋友來(lái)說(shuō),很少?zèng)]有聽(tīng)說(shuō)過(guò)css了吧,因?yàn)樵谥谱骶W(wǎng)頁(yè)過(guò)程中我們經(jīng)常需要用到。
css允許我們?yōu)槲臋n設(shè)置更為豐富且便于修改的外觀,可以減輕網(wǎng)頁(yè)設(shè)計(jì)者的工作負(fù)擔(dān)。這里我們主要想和朋友們一起對(duì)css的繼承性和特殊性進(jìn)行一點(diǎn)深入的探討
一、繼承
css的一個(gè)主要特征就是繼承,它是依賴(lài)于祖先-后代的關(guān)系的。繼承是一種機(jī)制,它允許樣式不僅可以應(yīng)用于某個(gè)特定的元素,還可以應(yīng)用于它的后代
繼承是一種規(guī)則,它允許樣式不僅應(yīng)用于某個(gè)特定html標(biāo)簽元素,而且應(yīng)用于其后代。比如下面代碼:如某種顏色應(yīng)用于p標(biāo)簽,這個(gè)顏色設(shè)置不僅應(yīng)用p標(biāo)簽,還應(yīng)用于p標(biāo)簽中的所有子元素文本
p{color:red}
當(dāng)我們有一個(gè)p標(biāo)簽,p標(biāo)簽內(nèi)有元素都會(huì)使用p 標(biāo)簽的樣式
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>繼承</title> <style type="text/css"> p{ color:red; } </style> </head> <body> <p> css繼承性 <span>重要性</span> </p> </body> </html>
二、css繼承的局限性
在css中,繼承是一種非常自然的行為,我們甚至不需要考慮是否能夠這樣去做,但是繼承也有其局限性。
首先,有些屬性是不能繼承的。這沒(méi)有任何原因,只是因?yàn)樗褪沁@么設(shè)置的。舉個(gè)例子來(lái)說(shuō):border屬性,大家都知道,border屬性是用來(lái)設(shè)置元素的邊框的,它就沒(méi)有繼承性。多數(shù)邊框類(lèi)屬性,比如象padding(補(bǔ)白),margin(邊界),背景和邊框的屬性都是不能繼承的。
三、繼承中容易引起的錯(cuò)誤
有時(shí)候繼承也會(huì)帶來(lái)些錯(cuò)誤
四、多種樣式混合應(yīng)用
既然有了繼承性,那么在樣式表中的應(yīng)用上可能會(huì)有些讀者搞不清,多個(gè)樣式表同時(shí)應(yīng)用到一個(gè)對(duì)象上會(huì)發(fā)生什么情形呢
五、css繼承的優(yōu)先級(jí)問(wèn)題
使用離文檔近的css 樣式