• 热门标签

当前位置: 主页 > 航空资料 > 计算机 >

时间:2010-08-09 13:16来源:蓝天飞行翻译 作者:admin
曝光台 注意防骗 网曝天猫店富美金盛家居专营店坑蒙拐骗欺诈消费者

图13-16
盒子有3个基本属性:m a rg i n、b o r d e r和p a d d i n g(参见图1 3 - 1 7)。
图13-17
每个盒子都有边界─即使边界是不可见的─边界将盒子与相邻的盒子或画面分开。边
界与相邻盒子外边缘的距离,或者边界与载体盒子的距离叫做m a rg i n。盒子和盒子边界的距离
叫p a d d i n g。
第13章样式XML使用589 下载
上空白区
边界
上填充区
左空白区
右空白区
下空白区
左填充区
右填充区
下填充区
盒子的这部分包含
文本。填充区将文
本和盒子边界隔离
开,空白区将盒子
与相邻的盒子隔离

关于这方面的例子,参考下面的X M L代码─f l o a t _ s a m p l e . x m l:
程序清单1 3 - 2 7
下面是相应的样式表─f l o a t _ s a m p l e . c s s:
程序清单1 3 - 2 8
590使用XML 高级编程
下载
解释事件的顺序如下:
段落元素遇到C S S引擎并与带PA R A G R A P H选项的规则相匹配。段落内容被设定为一个四周
带边框的块对象,但它的内容并不直接显示。
C S S引擎在元素< PARAGRAPH > 中遇到的第一个元素就是元素< L E F T _ B O X >。元素
< L E F T _ B O X >与带L E F T _ B O X选项的规则相匹配。设定图像为一个带边框的移动盒子。移动盒
子按f l o a t属性的指定方向向左边移动。用属性m a rg i n - t o p、m a rg i n - l e f t、m a rg i n - r i g h t和m a rg i n -
b o t t o m设定包围移动对象的边框。用属性p a d d i n g - t o p、p a d d i n g - l e f t、p a d d i n g - r i g h t和p a d d i n g -
b o t t o m设定显示对象的周围区域。移动盒子的显示位置相对于载体盒子(元素< PARAGRAPH >
以前生成的块段落)的左边界和上边界确定。
然后C S S引擎得到元素< PARAGRAPH >的数据内容。内容在移动盒子的四周显示。移动盒
子和文本之间的距离用属性m a rg i n - r i g h t和m a rg i n - b o t t o m设定。
12. 交互式行为
M i c r o s o f t在Internet Explorer 5中引入了行为扩展。这对C S S来说是一个添加的功能,添加了
如高亮度显示文本等交互式功能。在写本书的时候,在h t t p : / / w w w. w 3 . o rg / T R / b e c s s上提供一个
工作草案。我们可以在任何X M L元素上添加一个行为。和D H T M L文件不同,通常X M L文件不
包含脚本,因为脚本不符合将数据和表示方式(或交互方式)分隔的概念。为了增加解释文件
的交互性可以对任何X M L元素加上行为。例如,当鼠标点在解释后的元素< T I T L E >上时要想高
亮度显示它,必须像下例一样向元素上添加一个行为:
程序清单1 3 - 2 9
在这种情况下,行为可以采用包含一些J a v a S c r i p t的H T M L组件(或H T C)的形式。
在最新的行为扩展工作草案中一个有趣的特征是@ s c r i p t命令。它允许在一个样式表中包
括脚本。@ s c r i p t 是一个功能强大的命令,它对于那些已经对程序语言如J a v a S c r i p t 、
P e r l S c r i p t、P y t h o n S c r i p t或V B S c r i p t有经验的开发者来说十分有用。脚本有什么好处呢?脚本
可以完成许多事情,如管理D O M,以及添加事件处理器到D O M结点生成的事件上。这些功能
在支持DOM Level 1的浏览器上不可能实现,但在DOM Level 2的工作草案中有支持事件这一
部分。可以在h t t p : / / w w w. w 3 . o rg / T R / W D - D O M - L e v e l - 2 / e v e n t s . h t m l上找到D O M事件界面的解
释文件。通过DOM Level 2界面增加事件处理可能很可笑,但@script CSS 命令将会使事情变
得十分容易。
@ s c r i p t命令中包含的或指向的脚本同H T M L里<script >元素中的脚本相似。在函数或过程
(或对象)中没有包括的代码被放在一个内部“主要”函数中,当第一次装载样式表并解释时执
行这些代码。事件处理器可以是函数或程序,它们的名字通常用On _开头。例如,一个添加到元
素<TITLE >上的事件处理器可以命名为O n _ TitleClick( ) 。那么,我们如何将事件和事件处理器
连接起来呢?可以通过对与元素相关联的规则添加一个新属性来实现。要在元素<TITLE >上添
加一个事件处理器,我们可以对规则添加下列内容:
第13章样式XML使用591 下载
程序清单1 3 - 3 0
在这种情况下元素<TITLE >的属性O n C l i c k指的是O n _ TitleClick( ) 函数,这个函数应该在
@ s c r i p t命令中包括。
另一个要点是虽然我们说C S S不能更改X M L文档的结构,但如果执行了@ s c r i p t命令这一点
就不成立了。为什么?因为浏览器可能允许脚本管理D O M,这就有可能改变文件结构。下面是
一个带行为扩展的浏览器所遵循的事件顺序:
• 解释X M L文档并建立层次结构(这个结构就是用D O M访问的内容)。
• 装载和解释C S S样式表。
• 提取@ s c r i p t命令的内容并交给一个脚本处理器(例如一个J a v a S c r i p t解译器)进行解释和
执行。
• 脚本解释器首先执行“主要”函数(或内部的“主要”函数)。这个代码可以访问D O M,
还允许D O M管理文件结构的每个元素。
• 向结构中的每个元素添加一套属性。通过选项匹配功能完成匹配。
• 当用户与解释文件交流时,中止并调用添加到元素上的事件处理器─即调用在@ s c r i p t命
令中包括的一个程序或函数。元素和事件处理器之间的连接是通过一个事件属性(如
O n C l i c k)来实现的。
现在,有了这些新的附加功能, C S S变得更有趣,其特征有:
• 行为扩展在文档交互和文档结构管理上的方式与X S L十分相似,但它使用的是程序语言如
J a v a S c r i p t、V B S c r i p t、P e r l S c r i p t、P y t h o n S c r i p t或者浏览器所支持的任何语言。
 
中国航空网 www.aero.cn
航空翻译 www.aviation.cn
本文链接地址:XML高级编程下(29)