曝光臺 注意防騙
網曝天貓店富美金盛家居專營店坑蒙拐騙欺詐消費者
</CITATION>
如果在STYLE 特性中定義的屬性與樣式單中定義的屬性相沖突,那么特性中定義的屬性將優先執行。
應盡可能地避免使用STYLE 特性。如果把樣式信息放在獨立的樣式單中,那么文檔將會整潔得多,并且更易于維護。但是,
有時STYLE 特性是如此簡單與方便,以致難以將其忽略。
XML 實用大全
第 348 頁
其次,如果在有效的文檔中使用這種方法,將需要在ATTLIST 聲明語句中為設計樣式的元素聲明STYLE 特性。例如:
<!ELEMENT CITATION ANY>
<!ATTLIST CITATION CLASS CDATA #IMPLIED>
<!ATTLIST CITATION ID ID #REQUIRED>
<!ATTLIST CITATION STYLE CDATA #IMPLIED>
IE 5 支持STYLE 特性,Mozilla 支持用于HTML 元素的STYLE 特性,但Mozilla 第三版不支持XML 元素的STYLE 特性。等到
Mozilla 正式發行時,它很可能會完全支持STYLE 特性。
XML 實用大全
第 349 頁
12.4 繼承性
CSS 不要求為文檔中各元素的每個可能的屬性明確地定義規則。例如,如果沒有指定元素的字號的規則,那么此元素就會繼
承其父元素的字號。如果沒有指定元素顏色的規則,那么此元素也將繼承其父元素的顏色。同樣對大多數CSS 屬性也是如此。
事實上,唯一不被繼承的屬性就是背景和邊框屬性。
例如,考慮下列這些規則:
p { font-weight: bold;
font size: 24pt;
font-family: sans-serif }
BOOK { font-style: italic; font-family: serif}
現在來考察下面這個XML 文檔片段:
<P>
Michael Willhoite s <BOOK>Daddy s Roommate</BOOK> is
the #10 most frequently banned book in the U.S. in the 1990s.
</P>
盡管BOOK 元素沒有被明確地賦以font-weight 或font-size 屬性,但它仍以24 磅粗體顯示,因為它是P 元素的子元素。它
還是斜體的,因為在它自己的規則中被指定過了。BOOK 繼承了其父元素P 的font-weight 和font-size。如果此后在文檔中
BOOK 元素出現在某個其他元素的上下文中,那么它將繼承此元素的font-weight 和font-size。
font–family 就有點難以把握,因為P 和BOOK 為此屬性聲明了相互矛盾的值。在BOOK 元素內部,由BOOK 聲明的font–family
處于優先位置。在BOOK 元素外面,使用了P 的font–family。所以,Daddy s Roommate 是以serif(襯線)字體顯示的,而
most frequently banned book 則是以sans serif(非襯線)字體顯示的。
通常都想使子元素繼承其父元素的格式化。所以,不事先指定任何元素的格式化是很重要的。比如,假設我像下列的那樣已
聲明BOOK 以12 磅的字體輸出:
BOOK { font-style: italic; font-family: serif; font size: 12pt }
那么,此例就會獲得如圖12-3 所示的顯示結果:
XML 實用大全
第 350 頁
圖12-3 寫成12 磅字號的BOOK 元素
可以使用專門的規則改正圖中的情況,這個專門規則使用上下文選擇符在P 元素內挑選出BOOK 元素,但僅僅繼承父元素的
font-size 則更容易。
有一種方法可以避免此類問題,而同時又保持對各自元素大小的某種控制,這就是使用相對單位如em 和ex,而不使用如磅、
十二點活字、英寸、厘米和毫米這樣的絕對單位。em 是指在當前字體中字母m 的寬度。ex 是指在當前字體中字母x 的高度。
如果字體變大,則以em 和ex 測定的所有的尺寸都會隨之發生變化。
使用百分比單位對有些屬性也會達到相似的結果。例如,下列的規則設置FOOTNOTE_NUMBER 元素的字號為其父元素字號的
80%。如果父元素的字體增加或減小,那么FOOTNOTE_NUMBER 的字號也會相似地成比例變化。
FOOTNOTE_NUMBER { font-size: 80% }
將百分比精確地定位于多大,這要根據屬性而定。在vertical-align 屬性中,此百分比就是元素本身的行高。但頁邊距屬
性中,百分比就是此元素的寬度百分比
XML 實用大全
第 351 頁
12.5 級聯過程
將一個以上的樣式單與一個文檔相連接是可能的。例如,一個瀏覽器可能有一個缺省的樣式單,把此缺省的樣式單加入到設
計者為此頁提供的樣式單中。在此情況下,有可能有多個規則作用于一個元素,這些規則很可能會發生沖突。于是,確定以
何種順序應用這些規則就顯示得尤其重要。此過程稱為級聯(cascade),級聯樣式單在這個過程中獲得自己的名稱。
CSS 樣式單與XML 文檔相連接有幾種方法:
1.把<?xml-stylesheet?>處理指令包括在XML 文檔中。
2.使用@import,樣式單本身可以導入其他樣式單。
3.用戶可以使用瀏覽器的內部運行機制為文檔指定一個樣式單。
4.瀏覽器為大多數屬性提供缺省的樣式。
12.5.1 @import 指令
樣式單中包括@import 指令來加載保存在其他文件中的樣式單?墒褂媒^對或相對的URL 來標識導入的樣式單。例如,
@import url(http://www.w3.org/basicstyles.css);
@import url(/styles/baseball.css);
@import 指令必須出現在樣式單的開頭并在任何規則之前。導入樣式單的樣式單中的規則總要覆蓋被導入的樣式單中的規
則。被導入的樣式單以它們導入的順序級聯排列。禁止循環導入(如,poem.css 導入stanza.css,而stanza.css 又要導入
poem.css)。
12.5.2 !important 聲明
在CSS1 中,作者規則覆蓋讀者規則,除非讀者規則把!important 聲明與屬性相連接。例如,下列的規則說明TITLE 元素應
該著成藍色,即使文檔的作者要求是其他顏色。另一方面,只要作者規則不沖突,font-family 應該為serif。
TITLE { color: blue !important font-family: serif }
但是,作者規則也可以聲明為重要的。在此情況下,作者規則覆蓋讀者規則。
這是一種很壞的觀念。讀者總該有權選擇自己的瀏覽方式。不過,要使寫出的樣式單同時適合于下列幾種人,則是不可能做
到的:使用彩色顯示器和黑白顯示器的人們;使用21 英寸顯示器或電視機與使用手持機(PDA)的人們;視覺健康與視覺有缺
中國航空網 www.k6050.com
航空翻譯 www.aviation.cn
本文鏈接地址:
XML實用大全(101)