曝光台 注意防骗
网曝天猫店富美金盛家居专营店坑蒙拐骗欺诈消费者
</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.aero.cn
航空翻译 www.aviation.cn
本文链接地址:
XML实用大全(101)