第5章〓CSS层叠样式表
内容导读
XML文本侧重于数据内容的描述,它没有提供对数据显示的信息,但是在实际应用中,为了方便用户读取和使用XML文本,通常需要使用样式表技术。样式表是由一系列指令规则构成,它是专门描述结构文档表现方式的一种文本内容。W3C针对XML文档推出了两种样式表语言: 一种是CSS层叠样式表,另一种是XSL可扩展样式表。
本章主要围绕CSS层叠样式表展开详细描述,并结合相关实例介绍如何使用CSS对XML文本进行样式的设计。
本章要点
◇理解CSS的概念。
◇掌握CSS的基本语法。
◇掌握CSS中常用属性及用法。
◇掌握CSS在XML文本中的引用方式。
5.1CSS概述
XML文本为存储结构化数据提供了存储、交流和共享的平台,它将显示内容与格式相分离,因而XML文本本身没有提供数据显示的信息。单纯使用XML文本,对于使用者而言,在阅读文档时会显得枯燥乏味,并且无法有效地获取重要数据。采用样式表技术,可以使XML呈现不同的样式,不但界面美观,在数据获取方面也起到重要作用。
CSS(Cascading Style Sheet,层叠样式表)也称为级联式样式表,它是W3C于1996年制定并发布的一种用于控制多重网页样式和布局的技术,它是实现了真正意义上的网页表现与内容分离的一种样式设计语言。采用CSS技术能够对网页中的布局、背景、颜色、字体以及其他样式效果实现更加精确的控制。使用CSS样式表,只需简单地改变样式,对应的元素就会自动更新,因而呈现不同的显示效果。
CSS技术的设计目标是为HTML文本的显示设置的,但是CSS在HTML和XML中是相通的,它通过定义一组特定的属性来设置标记文本的格式,用来在页面上获得更丰富的显示效果。CSS主要特点包括以下几个。
① 方便控制页面布局,并且可以同时更新多个页面的样式。
② 数据显示和内容相分离其数据表现力强,可读性好。
③ 减小页面文件容量,加快页面访问速度。
随着CSS技术的不断发展,目前CSS有3个不同级别的标准,分别为CSS1、CSS2和CSS3。W3C于1996年12月17日发布CSS1推荐标准,1999年1月11日,此推荐标准被重新修订,作为CSS2发布,并增加了对媒介和可下载字体的支持,CSS2是CSS中比较稳定的版本,也是目前使用最为广泛的版本。而CSS3是目前CSS技术的最高版本,W3C仍在对其开发和完善中。
5.2CSS语法
1. CSS基本语法
CSS是由选择器、属性名和属性值等一系列元素组成,其语法格式为:
选择器{
属性名1:属性值1;
属性名2:属性值2;
……
属性名n:属性值n;
}
说明: 选择器是HTML或XML文本对应的元素名称,它旨在告诉浏览器页面上哪个元素要受到特定规则的约束。属性名用于描述样式规则的名称,属性值描述样式规则对应的内容。其中,属性名和属性值成对出现,中间用冒号“: ”隔开,它们是由W3C所规定的一系列特定的名称和内容。通过属性可以告诉浏览器如何显示由该规则约束的元素,不同的属性之间需要用分号“;”隔开。
2. CSS注释
注释可增加程序的可读性,在CSS中也包含注释语句。包含在注释语句中的信息,浏览器在读取样式表时,将会忽略其内容。其语法格式为:
/* 注释内容 */
3. CSS中选择器中元素的使用
CSS技术最初的设计目标是针对HTML的,因而对应选择器的元素只能为英文字符,且不分字母大小写。
将XML应用于CSS中,会带来一定的问题。在XML中元素根据语法要求是可以自行定义的,且定义为英文字符需要区分大小写。如果使用CSS样式表描述XML文本,则XML文本对应的元素不能为非英文字符,且不建议使用通过区分大小写字母的方式定义元素。
使用CSS格式化XML不是常用的方法,更不能代表XML文本样式化的未来,W3C 推荐使用 XSL,XSL技术将在第6章重点讲解。
4. CSS中文的使用
CSS支持多种字符集,字符集中通常包括如宋体、微软雅黑等中文字符,因此需要在CSS文件中设置中文字符编码,设置指令为:
@charset "gb2312";
需要注意的是,使用该指令只能描述中文字符集,XML元素仍然不能使用中文。
根据CSS基本语法格式的介绍,这里简单举例说明CSS样式表的用法。举例如下。
文件521.xml
张红
SY102030
123456
赵楠
SY102031
654321
文件521.css
@charset "gb2312";
/*CSS使用方式*/
user { display:block; }
name { font-family:微软雅黑;
font-size:25pt; }
card { font-family:"Times New Roman";
font-size:20pt; }
passwd { font-family:"Arial Black";
font-size:15pt; }
文件521.xml 引用文件521.css,在浏览器显示的效果如图51所示。
图51使用CSS的显示效果
5.3CSS选择器
选择器是HTML或XML文本对应的元素名称,它旨在告诉页面上哪个元素要按照属性的要求显示相应的信息。选择器除了使用相应元素外,根据CSS选择器的用途,还可以将选择器分为多元素选择器、类选择器、ID选择器、通用选择器以及后代选择器等。
5.3.1多元素选择器
如果需要将XML中的多个不同元素设置为相同样式,可以将CSS的选择器匹配多个元素,多个元素之间用逗号分隔。
在文件521.css中,如果将元素name、card和passwd设置为相同的样式,可以改为:
@charset "gb2312";
user { display:block; }
name,card,passwd { font-family:微软雅黑;
font-size:20pt; }
5.3.2类选择器
在XML的实际应用中,同一个标记会被反复使用,如果需要为相同的标记赋予不同的CSS,就可以使用类选择器。为了将类选择器的样式与元素关联,需要在使用类选择器前为元素设定一个class属性并为其指定一个相应的值,结合点符号(.)即可设置类选择器。需要注意的是,类选择器允许定义相同的class属性值。
文件5321.xml
张红
SY102030
123456
赵楠
SY102031
654321
文件 5321.css
@charset "gb2312";
user.u01 { display:block;
font-family:微软雅黑;
font-size:20pt; }
user.u02 { display:block;
font-family:华文彩云;
font-size:20pt; }
文件5321.xml 引用文件5321.css,在浏览器显示的效果如图52所示。
图52使用CSS的显示效果
5.3.3ID选择器
ID选择器和类选择器相似,都可以为同一个标记赋予不同的CSS样式。为了将ID选择器的样式与元素关联,需要在使用ID选择器前为元素设定一个id属性,并为其指定一个相应的值,结合“#”符号即可设置ID选择器。但是不同于类选择器的是,ID选择器只能把CSS指定给一个标记,即ID选择器只允许定义一个唯一的id属性值。
文件 5331.xml
张红
SY102030
123456
赵楠
SY102031
654321
文件5331.css
@charset "gb2312";
user#u01 { display:block;
font-family:微软雅黑;
font-size:20pt; }
user#u02 { display:block;
font-family:华文彩云;
font-size:20pt; }
文件5331.xml 引用文件5331.css,在浏览器显示的效果如图53所示。
图53使用CSS的显示效果
5.3.4通用选择器
在CSS中可以使用“*”标识选择器,它表示匹配任意元素。它可以为XML中的每个元素设置相同的样式。
文件 5341.css
@charset "gb2312";
* { display:block;
font-family:微软雅黑;
font-size:20pt; }
文件521.xml 引用文件5341.css,在浏览器显示的效果如图54所示。
图54使用CSS的显示效果
5.3.5后代选择器
后代选择器是一种基于传承关系应用样式的选择器,它可以选择某个元素的后代元素设置样式。后代选择器要求该元素与后代元素间使用空格隔开即可。例如,对521.xml文档中元素的后代元素设置样式,其设置格式如文本5351.css所示。
文件 5351.css
@charset "gb2312";
users name { display:block;
font-family:微软雅黑;
font-size:20pt; }
文件521.xml 引用文件5351.css,在浏览器显示的效果如图55所示。
图55使用CSS的显示效果
5.4CSS属性设置
CSS通过声明设置页面的样式,声明主要包括属性名和属性值的组合。本书根据CSS的用途重点讲解常用的属性。
5.4.1颜色属性值
在页面设计中,颜色的应用为页面增添了多彩的效果。如何在页面中设置合理的布局,并运用精美的色彩搭配网页是设计者的任务之一。页面中颜色的运用是必不可少的一个元素,常用颜色值的地方包括字体颜色、背景颜色、边框颜色等。
一般情况下,颜色属性值可以通过颜色英文名称、RGB颜色等方式设置。其中,RGB色彩模式是通过对红、绿、蓝3个颜色通道的变化以及它们相互之间的叠加来得到各种颜色的,它是目前运用最广泛的颜色系统之一。RGB有以下3种常用表现方式。
(1) 红、绿、蓝3种颜色分量分别使用十六进制数表示,如#00FF00。
(2) 使用十进制格式为rgb(x,y,z)的方式表示,其中x、y、z的值位于0~255,如rgb(147,255,45)。
(3) 使用百分数格式为rgb(x%,y%,z%)的方式表示颜色,其中数值为百分数,如rgb(20%,40%,80%)。
常用颜色属性值如表51所示。
表51常用颜色属性值
颜色名称十六进制RGB十进制RGB百分数RGB备注
black#000000rgb(0,0,0)rgb(0%,0%,0%)黑色
blue#0000FFrgb(0,0,255)rgb(0%,0%,100%)蓝色
lime#00FF00rgb(0,255,0)rgb(0%,100%,0%)灰色
red#FF0000rgb(255,0,0)rgb(100%,0%,0%)红色
aqua#00FFFFrgb(0,255,255)rgb(0%,100%,100%)浅绿色
续表
颜色名称十六进制RGB十进制RGB百分数RGB备注
magenta#FF00FFrgb(255, 0,255)rgb(100%,0%,100%)品红色
white#FFFFFFrgb(255,255,255)rgb(100%,100%,100%)白色
5.4.2长度属性值
使用CSS设置的页面中,通常会使用长度属性值描述文字间距、页边距、行高等信息,长度的设定可以使用绝对长度、相对长度和百分数长度等。
1. 绝对长度
绝对长度是通过使用精确的单位来设定的值,主要包括in(英寸)、cm(厘米)、mm(毫米)、pt(点)、pc(派卡),它们之间的度量关系为
1 in = 2.54 cm = 25.4 mm = 72 pt = 6 pc
2. 相对长度
相对长度是相对于目前字体大小或屏幕像素所设定的值,包括px(像素)、em(元素字体高度)、ex(字体×高度)。
3. 百分数长度
在CSS中可以使用百分数指定属性的长度。例如,100%表示原始大小,200%表示原始大小的2倍,50%表示原始数据的一半。
5.4.3布局属性
布局属性用于设定XML元素在整个页面所处的位置。
1. 显示属性
XML不同于HTML,由于XML没有内置的层次结构,因此使用CSS时需要设置display属性,用于在建立布局时生成显示框类型。display属性常用的值包括以下几种。
① none: 隐藏或显示属性值,表示元素不会显示。
② block: 段落显示属性值,表示元素显示为段落样式,元素前后会带有换行符,使得元素处于一个独立的段落中。
③ inline: 行内显示属性值,也是默认属性值,表示元素前后没有换行符,显示在页面的一行中。
④ listitem: 列表显示属性值,表示该元素以列表方式显示。列表可以进一步通过liststyletype、liststyleposition或liststyleimage属性来修饰。
以文件521.xml为例,设置格式如文件5431.css所示。
文件5431.css
name { display:list-item;
list-style-type:disc;
margin:30px; }
card { display:list-item;
list-style-type:square;
margin:30px; }
passwd { display:list-item;
list-style-type:circle;
margin:30px; }
图56使用CSS的显示效果
文件521.xml 引用文件5431.css,在浏览器显示的效果如图56所示。
2. 边界属性
CSS的边界属性用于设定元素与页面上、下、左、右边界的距离,属性包括margintop、marginbottom、marginleft、marginright和margin。
① margintop: 设置上边界距离。
② marginbottom: 设置下边界距离。
③ marginleft; 设置左边界距离。
④ marginright: 设置右边界距离。
⑤ margin: 用于同时设置上、右、下、左边界的距离。
边界属性值可以使用绝对长度、相对长度、百分比长度设定。
3. 填充属性
CSS的填充属性用于设定元素边框与元素内容之间的空间。属性包括paddingtop、paddingbottom、paddingleft、paddingright和padding。
① paddingtop: 设置上内边距。
② paddingbottom: 设置下内边距。
③ paddingleft; 设置左内边距。
④ paddingright: 设置右内边距。
⑤ padding: 同时设置上、右、下、左内边距。
填充属性值可以使用绝对长度、相对长度、百分比长度设定。分别举例如下。
name{paddingtop:8px;}表示上内边距为8px。
name{padding:2cm;}表示上、下、左、右内边距都为2cm。
name{padding:2cm 4cm 3cm 4cm;}表示上、右、下、左内边距分别为2cm、4cm、3cm和4cm。
5.4.4边框属性
在display属性值为block的情况下,边框属性可以设定元素边框的样式、颜色和宽度。
1. 边框样式属性
边框样式属性包括bordertopstyle、borderbottomstyle、borderleftstyle、borderrightstyle和 borderstyle。
① bordertopstyle: 设定上边框样式。
② borderbottomstyle: 设定下边框样式。
③ borderleftstyle: 设定左边框样式。
④ borderrightstyle: 设定右边框样式。
⑤ borderstyle: 同时设定上、右、下、左边框的样式。
边框样式的属性可以有多种,常用边框样式的属性值如表52所示。
表52常用边框样式的属性值
值描述
none定义无边框,默认值
dotted定义点画线
dashed定义虚线
solid定义实线
double定义双实线
groove定义3D凹槽边框,效果取决于bordercolor的值
nidge定义3D垄状边框,效果取决于 bordercolor 的值
inset定义3D inset边框,效果取决于 bordercolor 的值
outset定义3D outset 边框,效果取决于 bordercolor 的值
以文件521.xml为例,设置格式如文件5441.css所示。
文件5441.css
name { display:block;
border-style: dotted;
margin:20px; }
card { display:block;
border-style:solid;
图57使用CSS的显示效果
margin:20px; }
passwd { display:block;
border-style: dotted solid double dashed;
margin:20px; }
文件521.xml 引用文件5441.css,在浏览器显示的效果如图57所示。
2. 边框颜色属性
边框颜色属性包括bordertopcolor、borderbottomcolor、borderleftcolor、borderrightcolor和 bordercolor。
① bordertopcolor: 设定上边框颜色。
② borderbottomcolor: 设定下边框颜色。
③ borderleftcolor: 设定左边框颜色。
④ borderrightcolor: 设定右边框颜色。
⑤ bordercolor: 同时设定上、右、下、左边框的颜色。
边框颜色属性可以使用任何合法的颜色属性值。
以文件521.xml为例,设置格式如文件5442.css所示。
文件5442.css
name { display:block;
border-style: dotted;
border-color: #0000ff;
margin:20px; }
card { display:block;
border-style:solid;
border-color:rgb(100%,0%,0%);
margin:20px; }
passwd { display:block;
border-style: dotted solid double dashed;
border-color: #FF0000 #00FF00 rgb(250,0,255) rgb(100%,0%,0%);
margin:20px; }
文件521.xml 引用文件5442.css,在浏览器显示的效果如图58所示。
图58使用CSS的显示效果
3. 边框宽度属性
边框宽度属性包括bordertopwidth、borderbottomwidth、borderleftwidth、borderrightwidth和 borderwidth。
① bordertopwidth: 设定上边框宽度。
② borderbottomwidth: 设定下边框宽度。
③ borderleftwidth: 设定左边框宽度。
④ borderrightwidth: 设定右边框宽度。
⑤ borderwidth: 同时设定上、右、下、左边框的宽度。
边框宽度属性值可以使用绝对长度、相对长度和特定关键字设定。特定关键字包括thin、medium和thick,分别表示细的边框、中等边框(默认值)和粗的边框。
以文件521.xml为例,设置格式如文件5443.css所示。
文件5443.css
name { display:block;
border-style: dotted;
border-color: #0000ff;
border-width:thin medium thick 12px;
图59使用CSS的显示效果
margin:20px; }
card { display:block;
border-style:solid;
border-color:rgb(100%,0%,0%);
border-width:thin medium thick 12px;
margin:20px; }
passwd { display:block;
border-style: dotted solid double dashed;
border-color: #FF0000 #00FF00 rgb(250,0,255) rgb(100%,0%,0%);
border-width:thin medium thick 12px;
margin:20px; }
文件521.xml 引用文件5443.css,在浏览器显示的效果如图59所示。
5.4.5背景属性
背景属性可以对元素的背景颜色、背景图像、背景重复、背景定位、背景关联等进行设置。
1. 背景颜色属性
在CSS中可以使用 backgroundcolor属性为元素设置背景颜色,该属性接受任何合理的颜色属性值。
以文件521.xml为例,设置格式如文件5451.css所示。
文件5451.css
name { display:block;
background-color:rgb(255,0,255);
margin:20px; }
card { display:block;
background-color:blue;
margin:20px; }
passwd { display:block;
background-color:rgb(0%,100%,0%);
margin:20px; }
图510使用CSS的显示效果
文件521.xml 引用文件5451.css,在浏览器显示的效果如图510所示。
2. 背景图像属性
backgroundimage用于设定背景图像,默认情况下,backgroundimage的属性值是none,表示背景上没有设置任何图像。如果需要设置背景图像,需要为这个属性设置一个URL值。
以文件521.xml为例,设置格式如文件5452.css所示。
文件5452.css
users { display:block;
background-image:url(image.jpg);
margin:20px; }
文件521.xml 引用文件5452.css,在浏览器显示的效果如图511所示。由图可见,背景图像在垂直方向和水平方向重复显示。
图511使用CSS的显示效果
需要注意的是,如果同时指定背景颜色和背景图像,背景图像会覆盖背景颜色。
3. 背景重复属性
如果需要在页面上对背景图像进行平铺,可以使用 backgroundrepeat属性。常用背景重复的属性值如表53所示。
表53常用背景重复属性值
值描述
repeat背景图像在垂直方向和水平方向重复,为默认值
repeatx背景图像在水平方向重复
repeaty背景图像在垂直方向重复
norepeat不允许图像在任何方向上平铺
以文件521.xml为例,设置格式如文件5453.css所示。
文件5453.css
users { display:block;
background-image:url(image.jpg);
background-repeat:no-repeat;
margin:20px; }
文件521.xml 引用文件5453.css,在浏览器显示的效果如图512所示。由图可见,图像没有在任何方向上平铺。
图512使用CSS的显示效果
4. 背景定位属性
图513相对位置属性值的示意图
在CSS中可以利用 backgroundposition属性定位背景图像,用于改变图像在背景中的位置。默认情况下,背景图像显示在页面的左上角。通常情况下该属性的属性值可以分为3类,即相对位置、绝对位置和百分比位置。
相对位置可以使用top(顶部)、bottom(底部)、center(居中)、left(左侧)、right(右侧)等关键字表示。其中,垂直位置关键字(top、bottom、center)和水平位置关键字(center、left、right)需要结合使用表示位置的属性值。相对位置属性值的示意图如图513所示。
注意: 如果backgroundposition的属性值仅使用了一个关键字,则第二个关键字的值默认为center。
绝对位置可以使用CSS中长度属性值设定,包括绝对长度单位和相对长度单位。
百分比位置是使用百分比数值设定图像位置。百分比位置属于相对位置设置的一种方式。如果backgroundposition设定的值为0%,表示该图像位于页面左上角; 如果backgroundposition设定的值为100%,表示该图像位于页面右下角。因而图像可以在0%~100%页面的相对位置进行设置。
以文件521.xml为例,设置格式如文件5454.css所示。
文件5454.css
users { display:block;
background-image:url(image.jpg);
background-repeat:no-repeat;
background-position:center;
margin:20px; }
文件521.xml 引用文件5454.css,在浏览器显示的效果如图514所示。由图可见,图像显示在界面的居中位置。
图514使用CSS的显示效果
5. 背景关联属性
backgroundattachment是用于设定背景关联的属性,其属性常用的值包括以下两个。
① scroll: 默认值,表示在文本比较长的情况下,当文本向下滚动时,背景图像也会随之滚动; 当文本滚动到超过图像的位置时,图像就会消失。
② fixed: 表示该元素声明的图像相对于可见区域是固定的,不会受到滚动的影响。
例如:
users { background-image:url(image.gif);
background-attachment:fixed; }
6. 背景图像尺寸属性
通常情况下,背景图像的尺寸是由图像自身大小决定的。但是CSS3推出的backgroundsize属性可以设定背景图像的尺寸,它主要通过像素或百分比数值在横向和纵向上改变图像尺寸。如果以百分比规定尺寸,那么尺寸是相对于原始图像的宽度和高度设定的。
以文件521.xml为例,设置格式如文件5455.css所示。
文件5455.css
users { display:block;
background-image:url(image.jpg);
background-repeat:no-repeat;
background-size : 80px 80px;
margin:20px; }
文件521.xml 引用文件5455.css,在浏览器显示的效果如图515所示。由图可见,图像以长80像素和宽80像素显示。
图515使用CSS的显示效果
7. 背景属性
background是一个简写的背景属性,它能够将以上规定的部分或全部背景属性设置在声明中,通常建议使用这个属性,它需要输入的字母更少,应用更加方便。例如:
users { background:url(image.gif) repeat-y fixed top left; }
5.4.6文本属性
文本属性可定义文本的外观。通过文本属性,可以改变文本的颜色和字间距、对齐文本、装饰文本、对文本进行缩进等。
1. 文本缩进属性(textindent)
textindent属性用于实现文本的缩进,它规定块级显示样式元素的第一行缩进一个给定的长度,长度可以使用度量单位,包括精确度量单位、百分比单位等。
以文件521.xml为例,设置格式如文件5461.css所示。
文件5461.css
name { display:block;
text-indent:1cm;
margin:20px; }
图516使用CSS的显示效果
文件521.xml 引用文件5461.css,在浏览器显示的效果如图516所示。
2. 文本对齐属性(textalign)
textalign属性用于设置一个元素中文本行互相之间的对齐方式,它影响display属性值为block的元素。常用属性值包括以下几个。
① left: 左对齐。
② right: 右对齐。
③ center: 居中对齐。
④ justify: 两端对齐。
以文件521.xml为例,设置格式如文件5462.css所示。
文件5462.css
name { display:block;
图517使用CSS的显示效果
text-align:right;
margin:20px; }
文件521.xml 引用文件5462.css,在浏览器显示的效果如图517所示。
3. 字间距属性(lettersprcing)
wordspacing属性可以改变单词之间的标准间隔,其默认值为normal。wordspacing 属性接受一个正数值或负数值,如果设为一个正数值,那么单词之间的间隔就会增加; 如果设为一个负数值,单词之间的间隔缩小。需要注意的是,wordspacing只针对英文内容有效,如果是中文字符,可以使用letterspacing。
以文件521.xml为例,设置格式如文件5463.css所示。
文件5463.css
name { display:block;
letter-spacing:100px;
margin:20px; }
图518使用CSS的显示效果
文件521.xml 引用文件5463.css,在浏览器显示的效果如图518所示。
4. 字符转换属性(texttransform)
texttransform是设置字符转换的属性,用于改变字母大小写,一般描述英文字符,其属性值包括以下几个。
① capitalize: 每个单词第一个字母大写。
② uppercase: 所有字母转换为大写。
③ lowercase: 所有字母转换为小写。
④ none: 默认值,不改变大小写。
5. 文字装饰属性(textdecoration)
textdecoration属性能够为文字内容添加装饰效果,属性值包括以下几个。
① none: 默认值,无装饰效果。
② underline: 为文字添加下画线。
③ overline: 为文字添加上画线。
④ linethrough: 为文字添加删除线。
⑤ blink: 为文字添加闪烁效果,个别浏览器支持。
以文件521.xml为例,设置格式如文件5464.css所示。
文件5464.css
name { display:block;
text-align:center;
text-decoration:line-through;
margin:20px; }
card { display:block;
text-align:center;
text-decoration:underline;
margin:20px; }
passwd { display:block;
text-align:center;
text-decoration:overline;
margin:20px; }
文件521.xml 引用文件5464.css,在浏览器显示的效果如图519所示。
6. 文本行距属性(lineheight)
lineheight属性设置文本行间的距离,该属性的值可以使用数字、绝对长度、相对长度和百分数长度和关键字normal等表示,其中normal为默认值,并且该属性不能使用负数值。
以文件521为例,设置格式如文件5465.css所示。
文件5465.css
user { display:block;
text-align:center;
line-height:400%; }
文件521.xml 引用文件5465.css,在浏览器显示的效果如图520所示。
图519使用CSS的显示效果
图520使用CSS的显示效果
5.4.7字体属性
在CSS中定义多种设置字体的属性,包括字体类型、字体风格、变形、加粗和大小等。
1. 字体类型属性(fontfamily)
通常情况下,页面中的字体由系统或浏览器的默认值确定。在CSS中可以使用fontfamily属性设置页面中不同的字体类型,如宋体、黑体、微软雅黑、Times New Roman等。
需要注意的是,如果是类似Times New Roman这种多个字符组合的字体,属性值需要使用双引号。例如:
name { font-family:"Times New Roman"; }
2. 字体风格属性(fontstyle)
fontstyle属性用于设置字体风格,该属性的值包括以下几个。
① normal: 默认值,文本正常显示。
② italic: 文本斜体显示。
③ oblique: 文本倾斜显示。
其中italic是一种简单的字体风格,用于设置斜体字,而oblique文本是指倾斜的文字,对于没有斜体的字体,可以使用oblique属性值来实现倾斜的文字效果。
以文件521.xml为例,设置格式如文件5471.css所示。
文件5471.css
@charset "gb2312";
name { display:block;
font-family:华文彩云;
font-style:italic;
margin:20px; }
文件521.xml 引用文件5471.css,在浏览器显示的效果如图521所示。
图521使用CSS的显示效果
3. 字体变形属性(fontvariant)
fontvariant属性设置小型大写字母的字体显示文本,这意味着所有的小写字母均会被转换为大写,但是所有使用小型大写字体的字母与其余文本相比,其字体尺寸更小。该属性的值包括以下几个
① normal: 默认属性值,用于保持字体原有状态。
② smallcaps: 将字体设为小型的大写字母。
4. 字体加粗属性(fontweight)
fontweight属性用于设置字体的粗细程度,该属性可以使用多种关键字设定,该属性的值包括以下几个。
① normal: 默认值,标准的字体显示。
② bold: 粗体字体显示。
③ bolder: 更粗的字体显示。
④ lighter: 更细的字体显示。
⑤ 100~900: 定义由粗到细的字体,属性值400等同于normal、700等同于bold。
图522使用CSS的显示效果
以文件521.xml为例,设置格式如文件5472.css所示。
文件5472.css
name { display:block;
font-weight:900;
margin:20px }
文件521.xml 引用文件5472.css,在浏览器显示的效果如图522所示。
5. 字体大小属性(fontsize)
fontsize属性用于设置字体的大小,它可以使用多种方式设定字体大小,包括特定关键字、绝对尺寸、相对尺寸、百分比尺寸等。
其中,特定关键字描述的属性值包括xxsmall、xsmall、small、medium、large、xlarge和xxlarge,依次表示由小到大显示字体,其中medium为默认值,表示字体正常显示。此外,还可使用关键字smaller或larger设置比父元素更小或更大的尺寸。
以文件521.xml为例,设置格式如文件5473.css所示。
文件5473.css
name { display:block;
font-weight:900;
font-size:xx-large;
margin:20px }
图523使用CSS的显示效果
文件521.xml 引用文件5473.css,在浏览器显示的效果如图523所示。
6. 字体属性(font)
font是一个字体的简写属性,它可以在声明中设置所有字体属性,通常按照规定的顺序设置字体属性,即fontstyle、fontvariant、fontweight、fontsize/lineheight、fontfamily。如果不设置其中的某个值,则未设置的属性会使用默认值显示。例如:
name { display:block;
font: bolder italic small-caps 40pt Arial; }
5.5在XML中引用CSS文件
在XML中使用CSS,通常需要将CSS文本引入XML文本中方可使用。引入CSS文本有两种方式: 一种为内嵌式; 另一种为外部引用方式。一般情况下,建议使用外部引用方式,因为它符合数据表示与数据显示相分离的要求,同时外部CSS文件能同时被多个XML使用; 而使用内部CSS会破坏XML文档的可读性,本书只讲解外部引用方式。
在XML中使用外部引用CSS文本的方式,需要使用以下处理指令:
其中,type表示样式表的MIME类型,CSS的MIME类型为text/css; href表示样式表文件的相对路径或绝对路径。
5.6CSS应用实例
下面通过一个示例综合应用CSS规范显示XML文档。
文件 561.xml
会员信息一览表
SY102030
张红
1986-02-15
金地滨河小区2号楼203室
13233339999
SY102031
赵楠
1988-11-20
万科新里程5号楼1103室
13212341122
SY102032
王刚
1990-08-25
青年居易2号楼203室
18612345678
文件 561.css
@charset "gb2312";
member,name,information,birthday,address,tel
{text-align :center ;
display :block ;
}
member
{margin:3px;
padding :1cm;
background-color :#FFFFFF;
}
name
{margin:10px;
font-size:50pt;
font-family:华文彩云 ;
text-align:center ;
}
information name
{font-size:30pt;
font-family:黑体 ;
}
member card
{font-size:25pt;
text-decoration:underline;
font-family:"Arial Black" ;
}
information
{font-size:25pt;
margin-top:1cm;
font-family:仿宋;
}
文件561.xml 引用文件561.css,在浏览器显示的效果如图524所示。
图524使用CSS的显示效果
5.7小结
CSS层叠样式表是一种用来表现HTML或XML等文件样式的语言,使用样式表技术,可以使枯燥无味的标记语言呈现不同的样式。多变的样式技术不仅提供给用户视觉上的享受,同时在数据处理和数据交互上也起到重要作用。
在CSS中,可以定义不同的属性描述元素的样式,CSS技术能够对网页中的布局、背景、颜色、字体以及其他样式效果实现更加精确的控制。使用CSS,只需简单地改变样式,对应的元素就会自动更新,因而呈现不同的显示效果。在XML中使用CSS,需要在XML中加入相关指令方可见效。
CSS在使用中,存在一定的局限性,由于它的初衷是为HTML服务,因而定义的XML文本中的元素不能使用中文,更为适合XML文档的样式表为XSL可扩展样式表。
5.8习题
1. 选择题
(1) 下面()不是CSS的特点。
A. 方便控制页面布局
B. 数据显示和内容相分离
C. 加快页面访问速度
D. 增加了页面文件大小
(2) 下列()是CSS的布局属性。
A. Borderstyle
B. font
C. display
D. lineheight
(3) ()选择器结合“#”符号设置相应属性,并且只允许定义一个唯一的属性值。
A. 类选择器
B. ID选择器
C. 通用选择器
D. 后代选择器
(4) 下列()不属于字体属性。
A. fontfamily
B. fontstyle
C. fontvariant
D. fontcolor
(5) 独立的层叠样式表的后缀名为()。
A. css
B. xml
C. xsl
D. html
2. 简答题
(1) 什么是CSS?它有什么作用?
(2) 在XML中如何引用CSS文本?
(3) 在CSS属性值中,颜色值的RGB有几种表现方式?分别是什么?
(4) 什么是类选择器?什么是ID选择器?它们有什么区别?
(5) 已知一个XML文档片段如下:
XML基础教程
靳新
编写相应的CSS文档,使得元素中的信息显示效果为:
① 使用块样式方式显示;
② 文字颜色为蓝色(blue);
③ 背景颜色为黄色(yellow)。
3. 上机操作
使用XML中的相关标记,制作一份个人简历,然后使用CSS设计该XML文档。