您的位置:寻梦网首页编程乐园CSS 初步CSS/层叠样式表手册

CSS1 属性



用于属性定义的语法

 
<Foo>
Foo类型的值. 共同类型的讨论在单位章节.
Foo
必须原文出现的关键字 (尽管无须限制大小写). 逗号和斜杠也必须原文出现.
A B C
A 必须存在, 然后是B, 然后是C, 需要按照顺序.
A | B
A 或B 必须存在.
A || B
A 或B或两者必须存在, 顺序随意.
[ Foo ]
用括号将项目归类在一起.
Foo*
Foo被重复使用零或更多的次数.
Foo+
Foo被重复使用一或更多的次数.
Foo?
Foo为可选.
Foo{A,B}
Foo必须存在最少A次,最多B次.

字体属性


字体族科

语法: font-family: [[<族科名称> | <种类族科>],]* [<族科名称> | <种类族科>]
允许值: <族科名称>
  • 任意字体族科名称都可以使用

<种类族科>

  • serif (e.g., Times)
  • sans-serif (e.g., Arial or Helvetica)
  • cursive (e.g., Zapf-Chancery)
  • fantasy (e.g., Western)
  • monospace (e.g., Courier)
初始值: 由浏览器决定
适用于: 所有对象
向下兼容:

字体族科可以用一个指定的的字体名或一个种类的字体族科。很明显,定义一个指定的字体名不会比定义一个种类的字体族科合适。多个族科的赋值是可以使用的,而如果确定了一个指定的字体赋值,就应该有一个种类族科名随后,以防第一个选择不存在。

字体族科声明的例子如下:

P { font-family: "New Century Schoolbook", Times, serif }

留意头两个赋值指定了字体的类型: New Century SchoolbookTimes。可是,因为它们两者都是serif字体,字体族科的种类作为后备列了出来,以防系统没有两者但有另一个serif合资格的字体。

任何包含空格的字体名都必须用单引号或双引号引住。

字体族科也可以用字体属性给出。


字体风格

语法: font-style: <值>
允许值: normal | italic | oblique
初始值: normal
适用于: 所有对象
向下兼容:

字体风格属性以三个方法的其中一个来定义显示的字体: normal (普通),italic (斜体) 或oblique (倾斜)。样式表的字体风格声明例子如下:

H1 { font-style: oblique }
P  { font-style: normal }

字体变形

语法: font-variant: <值>
允许值: normal | small-caps
初始值: normal
适用于: 所有对象
向下兼容:

字体变形属性决定了字体的显示是normal (普通) 还是small-caps (小型大写字母)。当文字中所有字母都是大写的时候,小型大写字母(值)会显示比小写字母稍大的大写字符。稍后版本的CSS将会支持附加的变形,如收缩、扩张、小写数码或其它自定义的变形。字体变形的定义例子如下:

SPAN { font-variant: small-caps }

字体加粗

语法: font-weight: <值>
允许值: normal | bold | bolder | lighter | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900
初始值: normal
适用于: 所有对象
向下兼容:

字体加粗属性用作说明字体的加粗。当其它值绝对时,bolderlighter值将相对地成比例增长。

注意: 因为不是所有的字体都有九个有效的加粗显示,一些加粗的会在指定下组合。如果指定的加粗无效,会按以下原则选择:

  • 500 会被 400代替,反之亦是
  • 100-300 会被指定为下一较细的加粗,如果有的话,否则就是下一较粗的加粗
  • 600-900 会被指定为下一较粗的加粗,如果有的话,否则就是下一较细的加粗

一些字体加粗的定义例子如下:

H1 { font-weight: 800 }
P  { font-weight: normal }

字体大小

语法: font-size: <绝对大小> | <相对大小> | <长度> | <百分比>
允许值:
  • <绝对大小>
    • xx-small | x-small | small | medium | large | x-large | xx-large
  • <相对大小>
    • larger | smaller
  • <长度>
  • <百分比> (in relation to parent element)


初始值: medium
适用于: 所有对象
向下兼容:

字体大小属性用作修改字体显示的大小。绝对长度(使用的单位为pt-像素和in-英寸) 需要谨慎地考虑到其适应不同浏览环境时的弱点。对于一个用户来说,绝对长度的字体很有可能会很大,或很小。

一些大小指定的定义如下:

H1     { font-size: large }
P      { font-size: 12pt }
LI     { font-size: 90% }
STRONG { font-size: larger }

网页制作者需要清楚Microsoft Internet Explorer 3.x 会错误地将emex单位当作像素,这很可能会令到使用了这些单位的文本不可读。浏览器还会错误地将百分比值视为相对于选中部分的缺省字体大小,而不是上级元素的字体大小。这种做法像

H1 { font-size: 200% }

这是危险的,其大小将被视为IE的一级标题的缺省字体大小的两倍,而不是两倍于上级元素的字体大小。在这种情况中,BODY 通常会被视为上级元素,而且很可能定义一个medium的字体大小,然而,在IE中一级标题的缺省字体大小可能被认为是xx-large

注意到了这些错误后,网页制作者在使用字体大小属性时,应该小心使用百分比的值,而且应该尽量避免使用emex这两个单位。


字体

语法: font: <值>
允许值: [ <字体风格> || <字体变形> || <字体加粗> ]? <字体大小> [ / <行高> ]? <字体族科>
初始值: 未定义
适用于: 所有对象
向下兼容:

字体属性用作不同字体属性的略写,特别是行高。例如,

P { font: italic bold 12pt/14pt Times, serif }

指定该段为bold(粗体)和italic(斜体)Times或serif字体,12点大小,行高为14点。


颜色及背景属性


颜色

语法: color: <颜色>
初始值: 由浏览器决定
适用于: 所有对象
向下兼容:

颜色属性允许网页制作者指定一个元素的颜色。查看单位可以知道颜色值的描述. 一些颜色规则的例子包括:

H1 { color: blue }
H2 { color: #000080 }
H3 { color: #0c0 }

为了避免与用户的样式表之间的冲突,背景颜色属性应该始终一起指定。


背景颜色

语法: background-color: <值>
允许值: <颜色> | transparent (透明)
初始值: transparent (透明)
适用于: 所有对象
向下兼容:

背景颜色属性设定一个元素的背景颜色。例如:

BODY { background-color: white }
H1   { background-color: #000080 }

为了避免与用户的样式表之间的冲突,无论任何背景颜色被使用的时候,背景图象都应该被指定。而大多数情况下,background-image: none都是合适的。

网页制作者也可以使用略写的背景属性,通常会比背景颜色属性获得更好的支持。


背景图象

语法: background-image: <值>
允许值: <统一资源定位URLs> | none (无)
初始值: none (无)
适用于: 所有对象
向下兼容:

背景图象属性设定一个元素的背景图象。例如:

BODY { background-image: url(/images/foo.gif) }
P    { background-image: url(http://www.htmlhelp.com/bg.png) }

为了那些不载入图象的浏览者,当定义了背景图象后,应该也要定义一个类似的背景颜色

网页制作者也可以使用略写的背景属性,通常会比背景图象属性获得更好的支持。


背景重复

语法: background-repeat: <值>
允许值: repeat | repeat-x | repeat-y | no-repeat
初始值: repeat
适用于: 所有对象
向下兼容:

背景重复属性决定一个指定的背景图象如何被重复。值为repeat-x时,图象横向重复,当值为repeat-y时图象纵向重复。例如:

BODY { background: white url(candybar.gif);
       background-repeat: repeat-x }

在以上例子中, 图象只会被横向平铺。

网页制作者也可以使用略写的背景属性,通常会比背景重复属性获得更好的支持。


背景附件

语法: background-attachment: <值>
允许值: scroll | fixed
初始值: scroll
适用于: 所有对象
向下兼容:

背景附件属性决定指定的背景图象是跟随内容滚动,还是被看作油画固定不动。例如,以下指定一个固定的背景图象:

BODY { background: white url(candybar.gif);
       background-attachment: fixed }

网页制作者也可以使用略写的背景属性,通常会比背景附件属性获得更好的支持。


背景位置

语法: background-position: <值>
允许值: [<百分比> | <长度>]{1,2} | [top | center | bottom] || [left | center | right]
初始值: 0% 0%
适用于: 块级及替换元素
向下兼容:

图象位置属性给出指定背景图象的最初位置。这个属性只能应用于块级元素和替换元素。(替换元素仅指一些已知原有尺寸的元素。HTML替换元素包括 IMG, INPUT, TEXTAREA, SELECT, 和 OBJECT。)

安排背景位置最容易的方法是使用关键字:

  • 横向的关键字 (left, center, right)
  • 纵向的关键字 (top, center, bottom)

<百分比>和<长度>也可用作安排背景图象的位置。百分比和元素字体大小有关。虽然使用长度是允许的,但因为它们处理不同的显示分辨率有不可避免的缺点,所以不被推荐。

当使用百分比或长度时,需首先指定横向位置,接着是纵向位置。一个值,例如20% 65%,指定图象的左起20%上起65%的那点会被放在元素的左起20%上起65%的那点的所在位置。一个值如5px 10px,指定图象的左上角会被放在元素的左起5像素上起10像素的位置。

如果仅给出横向的值,纵向位置的值为50%。长度和百分比的组合是允许的,负值也行。例如,10% -2cm是允许的。虽然,百分比和长度是不能够和关键字组合。

关键字解释如下:

  • top left = left top = 0% 0%
  • top = top center = center top = 50% 0%
  • right top = top right = 100% 0%
  • left = left center = center left = 0% 50%
  • center = center center = 50% 50%
  • right = right center = center right = 100% 50%
  • bottom left = left bottom = 0% 100%
  • bottom = bottom center = center bottom = 50% 100%
  • bottom right = right bottom = 100% 100%

如果背景图象被看作油画般固定不动,关于油画的图象会代替元素被放置。

网页制作者也可以使用略写的背景属性,通常会比背景位置属性获得更好的支持。


背景

语法: background: <值>
允许值: <背景颜色> || <背景图象> || <背景重复> || <背景附件> || <背景位置>
初始值: 未定义
适用于: 所有对象
向下兼容:

背景属性是一个更明确的背景—关系属性的略写。以下是一些背景的声明:

BODY       { background: white url(http://www.htmlhelp.com/foo.gif) }
BLOCKQUOTE { background: #7fffd4 }
P          { background: url(../backgrounds/pawn.png) #f0f8ff fixed }
TABLE      { background: #0c0 url(leaves.jpg) no-repeat bottom right }

当一个值未被指定时,将接受其初始值。例如,在上述的前三条规则,背景位置属性将被设置为0% 0%

为了避免与用户的样式表之间的冲突,背景和颜色应该一起被指定。


文本属性


文字间隔

语法: word-spacing: <值>
允许值: normal | <长度>
初始值: normal
适用于: 所有元素
向下兼容:

文字间隔属性定义一个附加在文字之间的间隔数量。该值必须符合长度格式,允许使用负值。

例如:

P EM   { word-spacing: 0.4em }
P.note { word-spacing: -0.2em }

字母间隔

语法: letter-spacing: <值>
允许值: normal | <长度>
初始值: normal
适用于: 所有元素
向下兼容:

字母间隔属性定义一个附加在字符之间的间隔数量。该值必须符合长度格式,允许使用负值。一个设为零的值会阻止文字的调整。

例如:

H1     { letter-spacing: 0.1em }
P.note { letter-spacing: -0.1em }

文本修饰

语法: text-decoration: <值>
允许值: none | [ underline || overline || line-through || blink ]
初始值: none
适用于: 所有元素
向下兼容:

文本修饰属性允许通过五个属性中的一个来修饰文本: underline (下划线),overline (上划线),line-through (删除线),blink (闪烁),或缺省地使用

例如,使用下列语句可以使连接不再有下划线:

A:link,A:visited,A:active { text-decoration: none }

纵向排列

语法: vertical-align: <值>
允许值: baseline | sub | super | top | text-top | middle | bottom | text-bottom | <百分比>
初始值: baseline
适用于: 内部元素
向下兼容:

纵向排列属性可以用作一个内部元素的纵向位置,相对于它的上级元素或相对于元素行。(一个内部元素是没有行在其前和后断开的,例如,在HTML中的EMA,和IMG)

该值可以是一个相对于元素行高属性的百分比,它会在上级基线上增高元素基线的指定数量。允许使用负值。

该值也可以是一个关键字。以下的关键字将影响相对于上级元素的位置:

  • baseline (使元素和上级元素的基线对齐)
  • middle (纵向对齐元素基线加上上级元素的x-高度——字母" x "的高度——的一半的中点)
  • sub (下标)
  • super (上标)
  • text-top (使元素和上级元素的字体向上对齐)
  • text-bottom (使元素和上级元素的字体向下对齐)

影响相对于元素行的位置的关键字有

  • top (使元素和行中最高的元素向上对齐)
  • bottom (使元素和行中最低的元素向下对齐)

纵向排列属性对于排列图象特别有用。以下是一些例子:

IMG.middle { vertical-align: middle }
IMG        { vertical-align: 50% }
.exponent  { vertical-align: super }

文本转换

语法: text-transform: <值>
允许值: none | capitalize | uppercase | lowercase
初始值: none
适用于: 所有元素
向下兼容:

文本转换属性允许通过四个属性中的一个来转换文本:

  • capitalize (使每个字的第一个字母大写)
  • uppercase (使每个字的所有字母大写)
  • lowercase (使每个字的所有字母小写)
  • none (使用原始值)

例如:

H1 { text-transform: uppercase }
H2 { text-transform: capitalize }

文本转换属性仅仅被用于表达某种格式的要求。这并非很适当的做法,例如,用文本转换使一些国家的名字的第一个字母大写,而其它字母小写。


文本排列

语法: text-align: <值>
允许值: left | right | center | justify
初始值: 由浏览器决定
适用于: 块级元素
向下兼容:

文本排列属性可以应用于块级元素(PH1,等),使元素文本得到排列。这个属性的功能类似于HTML的段、标题和部分的ALIGN属性。

以下是一些例子:

H1          { text-align: center }
P.newspaper { text-align: justify }

文本缩进

语法: text-indent: <值>
允许值: <长度> | <百分比>
初始值: 0
适用于: 块级元素
向下兼容:

文本缩进属性可以应用于块级元素(PH1,等.),以定义该元素第一行可以接受的缩进的数量。该值必须是一个长度或一个<百分比>。若百分比则视上级元素的宽度而定。通用的文本缩进用法是用于段的缩进:

P { text-indent: 5em }

行高

语法: line-height: <值>
允许值: normal | <数字> | <长度> | <百分比>
初始值: normal
适用于: 所有元素
向下兼容:

行高属性可以接受一个控制文本基线之间的间隔的值。当值为数字时,行高由元素字体大小的量与该数字相乘所得。百分比的值相对于元素字体的大小而定。不允许使用负值。

行高也可以由带有字体大小的字体属性产生。

行高属性可以用于双行距的文本:

P { line-height: 200% }

Microsoft Internet Explorer 3.x 会错误地将emex单位当作像素。这错误很可能会令到文本不可读,所以网页制作者需要避免引起这个随处可能发生的错误; 使用百分比单位往往是一个好的选择。


方框属性


上边界

语法: margin-top: <值>
允许值: <长度> | <百分比> | auto
初始值: 0
适用于: 所有元素
向下兼容:

上边界属性用一个指定的<长度>或百分比值来设置元素的上边界。百分比值参考上级元素的宽度。允许使用负值边际。

例如,以下的规则将消除文件的上边界。

BODY { margin-top: 0 }

注意如果边界在垂直方向邻接(重叠)了,会改用其中最大的那个边界值。


右边界

语法: margin-right: <值>
允许值: <长度> | <百分比> | auto
初始值: 0
适用于: 所有元素
向下兼容:

右边界属性用一个指定的<长度>或百分比值来设置元素的右边界。百分比值参考上级元素的宽度。允许使用负值边际。

例如:

P.narrow { margin-right: 50% }

注意如果边界在水平方向邻接(重叠)了,不会改用其它边界值。


下边界

语法: margin-bottom: <值>
允许值: <长度> | <百分比> | auto
初始值: 0
适用于: 所有元素
向下兼容:

下边界属性用一个指定的<长度>或百分比值来设置元素的下边界。百分比值参考上级元素的宽度。允许使用负值边际。

例如:

DT { margin-bottom: 3em }
注意如果边界在垂直方向邻接(重叠)了,会改用其中最大的那个边界值。 

左边界

语法: margin-left: <值>
允许值: <长度> | <百分比> | auto
初始值: 0
适用于: 所有元素
向下兼容:

左边界属性用一个指定的<长度>或百分比值来设置元素的左边界。百分比值参考上级元素的宽度。允许使用负值边际。

例如:

ADDRESS { margin-left: 50% }

注意如果边界在水平方向邻接(重叠)了,不会改用其它边界值。


边界

语法: margin: <值>
允许值: [ <长度> | <百分比> | auto ]{1,4}
初始值: 未定义
适用于: 所有元素
向下兼容:

边界属性用一到四个值来设置元素的边界,每个值都是长度、<百分比>或者自动。百分比值参考上级元素的宽度。允许使用负值边际。

如果四个值都给出了,它们分别被应用于上、右、下和左边界。如果只给出一个值,它被应用于所有边界。如果两个或三个值给出了,省略了的值与对边相等。


边界声明包括以下例子:

BODY { margin: 5em }             /* 所有边界设为5em */
P    { margin: 2em 4em }         /* 上和下边界为2em,左和右边界为4em */
DIV  { margin: 1em 2em 3em 4em } /* 上边界为1em,右边界为2em,下边界为3em,左边界为4em */

注意如果边界在垂直方向邻接(重叠)了,会改用其中最大的那个边界值。而水平方向则不会。

使用边界属性可以一次性地设置所有边界;也可以选择使用上边界下边界左边界右边界属性。


上补白

语法: padding-top: <值>
允许值: <长度> | <百分比>
初始值: 0
适用于: 所有对象
向下兼容:

上补白属性描述上边框和选择符的内容之间有多少间隔。该值可以是一个长度或<百分比>。百分比的值参考上级元素的宽度。不能使用负值。


右补白

语法: padding-right: <值>
允许值: <长度> | <百分比>
初始值: 0
适用于: 所有对象
向下兼容:

右补白属性描述右边框和选择符的内容之间有多少间隔。该值可以是一个长度或<百分比>。百分比的值参考上级元素的宽度。不能使用负值。


下补白

语法: padding-bottom: <值>
允许值: <长度> | <百分比>
初始值: 0
适用于: 所有对象
向下兼容:

下补白属性描述下边框和选择符的内容之间有多少间隔。该值可以是一个长度或<百分比>。百分比的值参考上级元素的宽度。不能使用负值。


左补白

语法: padding-left: <值>
允许值: <长度> | <百分比>
初始值: 0
适用于: 所有对象
向下兼容:

左补白属性描述左边框和选择符的内容之间有多少间隔。该值可以是一个长度或<百分比>。百分比的值参考上级元素的宽度。不能使用负值。


补白

语法: padding: <值>
允许值: [ <长度> | <百分比 ]{1,4}
初始值: 0
适用于: 所有对象
向下兼容:

补白属性上补白右补白下补白左补白属性的略写。

一个元素的补白边框和元素的内容之间的间隔的数值。可以给出从一到四的值,每个值可以是长度或<百分比>。百分比值参考上级元素的宽度。不能使用负值。

如果四个值都给出了,它们分别应用于上、右、下和左补白。如果给出一个值,它将被运用到各边上。如果两个或三个值给出了,省略了的值与对边相等。

例如,以下的规则设置上补白为2em,右补白为4em,下补白为5em,左补白为4em:

BLOCKQUOTE { padding: 2em 4em 5em }

上边框宽度

语法: border-top-width: <值>
允许值: thin | medium | thick | <长度>
初始值: medium
适用于: 所有对象
向下兼容:

上边框宽度属性用于指定一个元素上边框的宽度。值可以是三个关键字其中的一个,都不受字体大小或长度的影响,可以用于实现成比例的宽度。不允许使用负值。

也可以用在上边框边框的宽度边框的属性略写


右边框宽度

语法: border-right-width: <值>
允许值: thin | medium | thick | <长度>
初始值: medium
适用于: 所有对象
向下兼容:

右边框宽度属性用于指定元素的右边框的宽度。值可以是三个关键字其中的一个,都不受字体大小或长度的影响,可以用于实现成比例的宽度。不允许使用负值。

也可以用在右边框边框的宽度边框的属性略写


下边框宽度

语法: border-bottom-width: <值>
允许值: thin | medium | thick | <长度>
初始值: medium
适用于: 所有对象
向下兼容:

下边框宽度属性用于指定元素的下边框的宽度。值可以是三个关键字其中的一个,都不受字体大小或长度的影响,可以用于实现成比例的宽度。不允许使用负值。

也可以用在下边框边框的宽度边框的属性略写


左边框宽度

语法: border-left-width: <值>
允许值: thin | medium | thick | <长度>
初始值: medium
适用于: 所有对象
向下兼容:

左边框宽度属性用于指定元素的左边框的宽度。值可以是三个关键字其中的一个,都不受字体大小或长度的影响,可以用于实现成比例的宽度。不允许使用负值。

也可以用在左边框边框的宽度边框的属性略写。


边框宽度

语法: border-width: <值>
允许值: [ thin | medium | thick | <长度> ]{1,4}
初始值: 未定义
适用于: 所有对象
向下兼容:

边框宽度属性用一到四个值来设置元素的边界,值是一个关键字或长度。不允许使用负值长度。

如果四个值都给出了,它们分别应用于上、右、下和左边框的式样。如果给出一个值,它将被运用到各边上。如果两个或三个值给出了,省略了的值与对边相等。

这个属性是上边框宽度右边框宽度下边框宽度左边框宽度属性的略写。

也可以使用略写边框属性。


边框颜色

语法: border-color: <值>
允许值: <颜色>{1,4}
初始值: 颜色属性的值
适用于: 所有对象
向下兼容:

边框颜色属性设置一个元素的边框颜色。可以使用一到四个关键字。如果四个值都给出了,它们分别应用于上、右、下和左边框的式样。如果给出一个值,它将被运用到各边上。如果两个或三个值给出了,省略了的值与对边相等。

也可以使用略写边框属性。


边框样式

语法: border-style: <值>
允许值: [ none | dotted | dashed | solid | double | groove | ridge | inset | outset ]{1,4}
初始值: none
适用于: 所有对象
向下兼容:

边框样式属性用于设置一个元素边框的样式。这个属性必须用于指定可见的边框。

可以使用一到四个关键字。如果四个值都给出了,它们分别应用于上、右、下和左边框的式样。如果给出一个值,它将被运用到各边上。如果两个或三个值给出了,省略了的值与对边相等。

也可以使用略写边框属性。


上边框

语法: border-top: <值>
允许值: <上边框宽度> || <边框式样> || <颜色>
初始值: 未定义
适用于: 所有对象
向下兼容:

上边框属性是一个用于设置一个元素上边框的宽度式样颜色的略写。

注意只能给出一个边框式样

也可以使用略写边框属性。


右边框

语法: border-right: <值>
允许值: <右边框宽度> || <边框式样> || <颜色>
初始值: 未定义
适用于: 所有对象
向下兼容:

右边框属性是一个用于设置一个元素右边框的宽度式样、和颜色的略写。

注意只能给出一个边框式样

也可以使用略写边框属性。


下边框

语法: border-bottom: <值>
允许值: <下边框宽度> || <边框式样> || <颜色>
初始值: 未定义
适用于: 所有对象
向下兼容:

下边框属性是一个用于设置一个元素的下边框的宽度式样颜色的略写。

注意只能给出一个边框式样

也可以使用略写边框属性。


左边框

语法: border-left: <值>
允许值: <左边框宽度> || <边框式样> || <颜色>
初始值: 未定义
适用于: 所有对象
向下兼容:

左边框属性是一个用于设置一个元素左边框的宽度式样颜色的略写。

注意只能给出一个边框式样

也可以使用略写边框属性。


边框

语法: border: <值>
允许值: <边框宽度> || <r边框式样> || <颜色>
初始值: 未定义
适用于: 所有对象
向下兼容:

边框属性是一个用于设置一个元素边框的宽度式样颜色的略写。


边框声明的例子包括:

H2        { border: groove 3em }
A:link    { border: solid blue }
A:visited { border: thin dotted #800080 }
A:active  { border: thick double red }

边框属性只能设置四种边框;只能给出一组边框的宽度和式样。为了给出一个元素的四种边框的不同的值,网页制作者必须用一个或更多的属性,如:上边框右边框下边框左边框边框颜色边框宽度边框式样上边框宽度右边框宽度下边框宽度左边框宽度


宽度

语法: width: <值>
允许值: <长度> | <百分比> | auto
初始值: auto
适用于: 块级和替换元素
向下兼容:

每个块级或替换元素都可以用一个<长度>或“auto”值来指定其宽度。(替换元素仅指一些已知原有尺寸的元素。HTML替换元素包括 IMG, INPUT, TEXTAREA, SELECT, 和 OBJECT.) 宽度属性的初始值为“auto”,即为该元素的原有宽度(有就是元素自己的宽度,例如一个图象的宽度)。百分比参考上级元素的宽度。不允许使用负的长度值。

这个属性能用作给出一些INPUT元素的公共长度,好象SUBMITRESET按钮:

INPUT.button { width: 10em }

高度

语法: height: <值>
允许值: <长度> | auto
初始值: auto
适用于: 块级和替换元素
向下兼容:

每个块级或替换元素都可以用一个<长度>或“auto”值来指定其高度。(替换元素仅指一些已知原有尺寸的元素。HTML替换元素包括 IMG, INPUT, TEXTAREA, SELECT, 和 OBJECT.) 高度属性的初始值为“auto”,即为该元素的原有高度(有就是元素自己的高度,例如一个图象的高度)。不允许使用负的长度值。

宽度属性一样,高度可以应用于设定图象的比例:

IMG.foo { width: 40px; height: 40px }

在大多数情况下,我们都建议网页制作者使用图象编辑软件按比例伸缩图象,因为浏览器不可能高质量地伸缩图象,也因为使用这个属性缩小图象会导致用户下载了一个不必要的庞大文件。虽然如此,通过宽度高度属性伸缩图象依然是用户—定义样式表中一个有用的用作克服视觉问题的选择。


漂浮

语法: float: <值>
允许值: left | right | none
初始值: none
适用于: 所有元素
向下兼容:

漂浮属性允许网页制作者将文本环绕在一个元素的周围. 这同HTML 3.2中IMG元素的ALIGN=leftALIGN=right一样,但CSS1允许所有对象“漂浮”,而不像HTML 3.2那样仅仅允许图象和表格。


清除

语法: clear: <值>
允许值: none | left | right | both
初始值: none
适用于: 所有元素
向下兼容:

清除属性指定一个元素是否允许有元素漂浮在它的旁边。值left移动元素到在其左边的漂浮的元素的下面;同样的值right移动到其右边的漂浮的元素下面。其他的还有缺省的none值,和移动元素到其两边的漂浮的元素的下面的none值。这个属性类似于HTML 3.2的函数<BR CLEAR=left|right|all|none>,但它能应用于所有元素。


分类属性


显示

语法: display: <值>
允许值: block | inline | list-item | none
初始值: block
适用于: 所有对象
向下兼容:

显示属性允许使用四个值中的一个来定义一个元素:

  • block (在元素的前和后都会有换行)
  • inline (在元素的前和后都不会有换行)
  • list-item (与block相同, 但增加了目录项标记)
  • none (没有显示)

每个元素都典型地由浏览器基于HTML规格建议的展示形式给出一个缺省的显示值。

显示属性可能并不安全,因为它使用另外的不合适的格式显示元素。使用值none将关闭指定元素及其子元素的显示!


空白

语法: white-space: <值>
允许值: normal | pre | nowrap
初始值: normal
适用于: 块级元素
向下兼容:

空白属性将决定如何处理元素内的空格. 该属性的值取以下三个中的一个:

  • normal (将多个空格折叠成一个)
  • pre (不折叠空格)
  • nowrap (不允许换行,除非遇到<BR>标记)

目录样式类型

语法: list-style-type: <值>
允许值: disc | circle | square | decimal | lower-roman | upper-roman | lower-alpha | upper-alpha | none
初始值: disc
适用于: 带有显示值的目录项元素
向下兼容:

目录样式项属性指定目录项标记的类型,当目录样式图象值为none或当图象载入选项被关闭时使用。

例如:

LI.square { list-style-type: square }
UL.plain  { list-style-type: none }
OL        { list-style-type: upper-alpha }  /* A B C D E etc. */
OL OL     { list-style-type: decimal }      /* 1 2 3 4 5 etc. */
OL OL OL  { list-style-type: lower-roman }  /* i ii iii iv v etc. */

目录样式图象

语法: list-style-image: <值>
允许值: <url> | none
初始值: none
适用于: 带有显示值的目录项元素
向下兼容:

当图象载入选项打开时,目录样式图象属性在指定目录项标记使用哪个图象代替由目录样式类型属性指定的标记。

例如:

UL.check { list-style-image: url(/LI-markers/checkmark.gif) }
UL LI.x  { list-style-image: url(x.png) }

目录样式位置

语法: list-style-position: <值>
允许值: inside | outside
初始值: outside
适用于: 带有显示值的目录项元素
向下兼容:

目录样式位置属性可以取值inside(内部) or outside(外部),其中outside是缺省值。整个属性决定关于目录项的标记应放在那里。如果使用inside值,换行会移到标记下,而不是缩进。应用的例子如下:

Outside rendering:
 * List item 1
   second line of list item

Inside rendering:
   * List item 1
   second line of list item

目录样式

语法: list-style: <值>
允许值: <目录样式类型> || <目录样式位置> || <url>
初始值: 未定义
适用于: 带有显示值的目录项元素
向下兼容:

目录样式属性是目录样式类型目录样式位置,和目录样式图象属性的略写。

例如:

LI.square { list-style: square inside }
UL.plain  { list-style: none }
UL.check  { list-style: url(/LI-markers/checkmark.gif) circle }
OL        { list-style: upper-alpha }
OL OL     { list-style: lower-roman inside }

单位

长度单位

一个长度的值由可选的正号" + "或负号" - "、接着的一个数字、还有标明单位的两个字母组成。在一个长度的值之中是没有空格的,例如,1.3 em就不是一个有效的长度的值,但1.3em就是有效的。一个为零的长度不需要两个字母的单位声明。

无论是相对值还是绝对值长度,CSS1都支持。相对值单位确定一个相对于另一长度属性的长度,因为它能更好地适应不同的媒体,所以是首选的。以下是有效的相对单位:

  • em (em,元素的字体的高度)
  • ex (x-height,字母 "x" 的高度)
  • px (像素,相对于屏幕的分辨率)

绝对长度单位视输出介质而定,所以逊色于相对单位。以下是有效的绝对单位:

  • in (英寸,1英寸=2.54厘米)
  • cm (厘米,1厘米=10毫米)
  • mm (米)
  • pt (点,1点=1/72英寸)
  • pc (帕,1帕=12点)

百分比单位

一个百分比值由可选的正号"+"或负号"-"、接着的一个数字,还有百分号"%"。在一个百分比值之中是没有空格的。

百分比值是相对于其它数值,同样地用于定义每个属性。最经常使用的百分比值是相对于元素的字体大小。


颜色单位

颜色值是一个关键字或一个RGB格式的数字。

Windows VGA(视频图像阵列)形成了16各关键字: aquablackbluefuchsiagraygreenlimemaroonnavyolivepurpleredsilvertealwhite,and yellow

RGB颜色可以有四种形式:

  • #rrggbb (#00cc00)
  • #rgb (#0c0)
  • rgb(x,x,x) x是一个介乎0到255之间的整数 (rgb(0,204,0))
  • rgb(y%,y%,y%) y是一个介乎0.0到100.0之间的整数 (rgb(0%,80%,0%))

上述的例子指定同一颜色。

Douglas R. Jacobson先生还开发了速查手册RGB Color Chart (61 kB)。


统一资源管理URLs

一个URL值的格式为 : url(foo)foo是一个URL(统一资源管理,因特网的地址)。URL可以选择用单引号( ' )或者双引号( " ),并且,在URL之前或之后可以包含空格。

在URL中的括弧,逗号,空格,单引号,或双引号必须避开反斜杠。不完整的URLs被理解为样式表的源代码,而不是HTML源代码。

注意: Netscape Navigator 4.x 会错误地将不完整的URLs理解为相关的HTML源代码。注意到这个错误后,网页制作者应该在可能的地方使用完整的URLs。

例如:

BODY { background: url(stripe.gif) }
BODY { background: url(http://www.htmlhelp.com/stripe.gif) }
BODY { background: url( stripe.gif ) }
BODY { background: url("stripe.gif") }
BODY { background: url(\"Ulalume\".png) } /* quotes in URL escaped */


CSS 索引CSS 结构CSS 属性

翻译:Water Tang and Xianzhen Liang