CSS实用教程 l#G }j^Q
4Iou|
H
CSS(Cascading Stylesheets,层叠样式表)是一种制作网页的新技术,现在已经为大多数的浏览器所支持,成为网页设计必不可少的工具之一。使用CSS能够简化网页的格式代码,加快下载显示的速度,也减少了需要上传的代码数量,大大减少了重复劳动的工作量。尤其是当你面对的是有数百个网页的站点时,CSS简直象是神对我们的恩赐!^_^ kVu-,OU
B)`^/^7
前言 &.t|&8-
CSS(Cascading Stylesheets,层叠样式表)是一种制作网页的新技术,现在已经为大多数的浏览器所支持,成为网页设计必不可少的工具之一。 ;Z(~;D
W3C(The World Wide Web Consortium)把动态HTML(Dynamic HTML)分为三个部分来实现:脚本语言(包括JavaScript、Vbscript等)、支持动态效果的浏览器(包括Internet Explorer、Netscape Navigator等)和CSS样式表。 hSyA;*)U
U?:<clh
一.层叠样式表的特点 IRW%*W#
且不说过去的网页缺少动感,就是在网页内容的排版布局上也有很多困难,如果不是专业人员或特别有耐心的人,很难让网页按自己的构思和创意来显示信息。即便是掌握了HTML语言精髓的人也要通过多次地测试,才能驾驭好这些信息的排版,过程十分漫长和痛苦。为了Internet的发展,让更多人早日踏足这个多姿多彩的世界,新的HTML辅助工具呼之欲出。 J((.zLvz
样式表就是在这种需求下诞生的,它首先要做的是为网页上的元素精确地定位,可以让网页设计者象导演一样,轻易地控制由文字、图片组成的演员们,在网页这个舞台上按剧本要求好好地表演。 8{Id+Q>Vo,
其次,它把网页上的内容结构和格式控制相分离。浏览者想要看的是网页上的内容结构,而为了让浏览者更好地看到这些信息,就要通过格式控制来帮忙了。以前两者在网页上的分布是交错结合的,查看修改很不方便,而现在把两者分开就会大大方便网页的设计者。内容结构和格式控制相分离,使得网页可以光由内容构成,而将所有网页的格式控制指向某个CSS样式表文件。这样一来的好出表现在两个方面: 'L0{Ed+9
UCP4w@C
第一,简化了网页的格式代码,外部的样式表还会被浏览器保存在缓存里,加快了下载显示的速度,也减少了需要上传的代码数量(因为重复设置的格式将被只保存一次)。 `nDgwp:b"
1*Ui=M4
第二,只要修改保存着网站格式的CSS样式表文件就可以改变整个站点的风格特色,在修改页面数量庞大的站点时,显得格外有用。避免了一个一个网页的修改,大大减少了重复劳动的工作量,当你面对的是有数百个网页的站点时,CSS简直象是神对我们的恩赐!^_^ >{]mN5
qg;fh]j%
二.添加层叠样式表的方法 _Ak?i\
我们为网页添加样式表的方法有四种。 Bz#K_S
1.最简单的方法是直接添加在HTML的标识符(tag)里: 63?fn~0\
< Tag style=”properties”>网页内容< /tag> MJ:>ZRXCE
举个例子: 1@Zjv>jy[
< p style=”color: blue; font-size: 10pt”>CSS实例< /p> q$=EUB"C
代码说明: >@o}l:*
用蓝色显示字体大小为10pt的“CSS实例”。尽管使用简单、显示直观,但是这种方法不怎么常用,因为这样添加无法完全发挥样式表的优势“内容结构和格式控制分别保存”。 (W l5F
2.添加在HTML的头信息标识符< head>里: 32*FI SH^
< head> 'ehJr/0&g
< style type=”text/css”> ,3{z_Rax-
< !-- n/3gx4.g
样式表的具体内容 t"@:a
Y"
--> _,M:"3;Z
< /style> #j{!&4M
< /head> L('G1J}
type=”text/css”表示样式表采用MIME类型,帮助不支持CSS的浏览器过滤掉CSS代码,避免在浏览器面前直接以源代码的方式显示我们设置的样式表。但为了保证上述情况一定不要发生,还是有必要在样式表里加上注释标识符“< !--注释内容-->”。 d#9"_{P
y`EcBf
3.链接样式表 Gv,0{DVX<
同样是添加在HTML的头信息标识符< head>里: ]'UO]i/
< head> 2eBA&t
< link rel=”stylesheet” href=”*.css” type=”text/css” media=”screen”> LF~=,S
< /head> O/(qi8En
*.css是单独保存的样式表文件,其中不能包含< style>标识符,并且只能以css为后缀。 3e g<)
Media是可选的属性,表示使用样式表的网页将用什么媒体输出。取值范围: 3 TN?yP)
·Screen(默认):输出到电脑屏幕 > Rbgg1^]5
·Print:输出到打印机 YJ`[$0mam
·TV:输出到电视机 ( |1 $zF+
·Projection:输出到投影仪 5M{DJ/q
·Aural:输出到扬声器 fr0iEO_
·Braille:输出到凸字触觉感知设备 eiF!yk?2
·Tty:输出到电传打字机 *eO@<j?
·All:输出到以上所有设备 &!{wbm@
如果要输出到多种媒体,可以用逗号分隔取值表。 ~OXC6z
Rel属性表示样式表将以何种方式与HTML文档结合。取值范围: PIuk]&L^
·Stylesheet:指定一个外部的样式表 L/w9dk*uv
·Alternate stylesheet:指定使用一个交互样式表 :fr 2K
A2b
C5lA
4.联合使用样式表 {daNw>TH
同样是添加在HTML的头信息标识符< head>里: h
!~u9
< head> O]n"aAu@
< style type=”text/css”> qYW{$K
< !-- ogX'3L
@import “*.css” 4><b3r;T'
其他样式表的声明 X"W%(x`w
--> PomX@N}1
< /style> =$g8"[4
< /head> 22|f!la8n
以@import开头的联合样式表输入方法和链接样式表的方法很相似,但联合样式表输入方式更有优势。因为联合法可以在链接外部样式表的同时,针对该网页的具体情况,做出别的网页不需要的样式规则。 ~7!J/LHg
需要注意的是: |Mp_qg?g
·联合法输入样式表必须以@import开头。 _gY
so]S^B
·如果同时输入多个样式表有冲突的时候,将按照第一个输入的样式表对网页排版。 HlB'yOHv!
·如果输入的样式表和网页里的样式规则冲突时,使用外部的样式表。 D4m2*%M
>,` /
z
三.层叠样式表的格式 Tv0|e'^
一般来说,样式表的声明分为选择符(selector)和块{}(block),块里包含属性(properties)和属性的取值(value),基本格式如下: QK\QvU2y
选择符 {属性:值} NBR6$n
其它格式1: :XMw="u=
选择符1,选择符2,选择符3 {属性1:值1;属性2:值2;属性3:值3} TD-d5P^Kek
有时候多个选择符将使用相同的设置,为了简化代码,我们可以一次性为它们设置样式,并在多个选择符之间加上“,”来分隔它们。 !b*lL#s,Y
当有多个属性的时候,必须在两个属性之间用“;”来分隔。 ctOC.
其它格式2: S zOB{
选择符1 选择符2 {属性1:值1;属性2:值2;属性3:值3} :rb<mg[
和格式1非常相似,只是在选择符之间少加了“,”,但作用却大不相同。表示如果选择符2包括的内容同时包括在选择符1里的时候,所设置的样式规则才起作用。 P sD+?
i_ 4FxC4
四.层叠样式表的分类 r6Z&i^cMe
为了使网页的格式不过分的单调,必需让相同的选择符也能分类,并能按照不同的类别来进行不同的样式设计。基本格式如下: }(-R`.e;
选择符.类别名 {属性:值} ^\cB&<h
类别名将可以在HTML的标识符里引用: r +;C}[E
< 标识符 class=类别名>网页内容 M%:ACLYP
'
%OQd?MhL
五.层叠样式表的伪类 LS?hb)7
除了上述的分类方式外,为了使分类的使用更灵活多样,又产生了伪类的概念。类和伪类有什么样的区别呢? `"M=Z Vk
一般地说,选择符可以和多个类采用捆绑的形式来设定,这样虽然能够为同一个选择符创建多种不同的样式,但捆绑的形式同时也限制了设定的类为其它的选择符所使用。伪类的产生就是为了解决这个问题,每个预声明的伪类都可以被所有的HTML标识符引用,当然有些块级内容的设置除外。基本格式如下: A==P?,RG
.伪类名 {属性:值} >#R<