W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
1.6 串接
屏幕就是一個戰(zhàn)場,在一個HTML文件中,如果有3種不同的樣式表規(guī)則都使用P作為其選擇。輸入的樣式表指示瀏覽器將<P>文字用紅色顯示,而植入的樣式表指示瀏覽器用藍色顯示,而行內(nèi)樣式表指示瀏覽器用黃色。
那么可憐的瀏覽器該聽誰的呢?
好在支持樣式表的瀏覽器自身配有樣式表的串接順序來應(yīng)付這種情形??傆袔追N樣式表規(guī)則要比其它的規(guī)則更重要。根據(jù)正式的規(guī)定,以下為樣式表的串接順序:
Inline styles (行內(nèi)樣式)
Embedded styles (植入樣式)
Linked styles (鏈接樣式)
Imported styles (輸入樣式)
Default browser styles(缺省瀏覽器樣式)
瀏覽器將按照上述順序執(zhí)行樣式表的指令。
但是還要一個問題。如果同一種類的多個規(guī)則相互沖突怎么辦?比如,如果一項植入樣式表規(guī)則將<P>以綠色顯示,而另一個規(guī)則要求以紅色顯示?
多虧聰明的樣式表標準的發(fā)明人,對于這種沖突也有一個順序,但很復雜。這里有一個極其簡單的解決順序:
1.使用特別說明的樣式表規(guī)則,例:
BODY { color: green } P { color: red }
有一項規(guī)則特別說明<P> 中的文字一紅色顯示,但它同時也繼承了<BODY>的綠色規(guī)定。但是特別說明了的規(guī)則的重要性要大于繼承的規(guī)則,所以<P>之內(nèi)的文字一紅色顯示。
2.應(yīng)用繼承的樣式表規(guī)則
如果不存在第1步中所列的特別說明的規(guī)則(比如存在特別說明了的多項規(guī)則),則瀏覽器轉(zhuǎn)向執(zhí)行繼承的規(guī)則。如果找不到繼承的規(guī)則,則瀏覽器轉(zhuǎn)向執(zhí)行第3步。
3.按照樣式表規(guī)則在HTML中的顯示順序執(zhí)行。
P { color: green } P { color: red }
當無法適用上述規(guī)則時,瀏覽器將根據(jù)規(guī)則在代碼中顯示順序執(zhí)行。在上例中,<P>作為講座一紅色顯示,因為它是最后給出的規(guī)則。
注意:正式的串接樣式表規(guī)定對于串接順序有更詳細的規(guī)定。但由于執(zhí)行規(guī)定Netscape
Communicator 和Internet Explorer都不支持,所以本文中不再細述。
最后一個問題:如果樣式表規(guī)則同HTML標簽沖突時,如何處理?我們看一下這個例子:
I { font-family: impact } <P>I think <I><FONT FACE="Times"> East of Eden</FONT></I> is Stein beck's best novel.</P>
該例中樣式表規(guī)則要求瀏覽器使用Impact,但是傳統(tǒng)的HTML<FONT
FACE>標簽要求用Times字體,一個很明顯的傳統(tǒng)。
根據(jù)正式的樣式表規(guī)定,應(yīng)該優(yōu)先執(zhí)行樣式表規(guī)則。
但是最主要的幾種瀏覽器Netscape
和IE 4.0 都規(guī)定應(yīng)優(yōu)先執(zhí)行HTML。唉.......
你看到了吧,瀏覽器不能如我們希望的那樣應(yīng)用串接樣式表。節(jié)哀順變吧。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: