使用CSS格式页

本文只是有关格式页的简要说明,完整的介绍来自万维网联盟(W3C)的层叠式格式页 (CSS) 。

本文的主要内容涉及:

CSS基础

让我们从设置文字和背景的颜色开始。使用STYLE元素可以为网页设置不同的样式属性:

<style type="text/css">
  body { color: black; background: white; }
</style>

在<style>和</style>之间的部分是符合CSS语法规则的特殊标记。这一规则是:在一个标识名后由大括号{和}括起来一些样(格)式列表。在本例中标识是body ,并为整个网页的body区设置了文字的颜色和背景色。

每一个样式属性由样式名、冒号和属性值组成。当其中的样式多于一个时,应使用分号来分开它们。在上面的例子中有两个属性---“color”(颜色),它们分别是文字和网页背景的颜色。我们看到甚至在最后一个属性的后面也要写上一个分号。

颜色可以通过名字或数值给出,如rgb(255, 204, 204) 是一种粉色。其中的三个值依次为红,绿,兰三原色,可能的取值范围从 0 对 255。也可以十六进制数 #FFCCCC.标记这同一种颜色。更多的有关颜色的细节 请看后面的章节。

注意 style元素必须放置在文档的 head 区内,而不应放入网页的body区。

链接到独立的格式页

如果你希望对不同的网页使用同一种格式,则下面的方法---使用独立的格式页---很值得考虑:

<link type="text/css" rel="stylesheet" href="style.css">

LINK 标识应放在文档的 head区内。rel 属性必须设成"stylesheet" 以使浏览器能够识别出由href 属性所给出格式页。

设置页面的边白

网页的旁边多留些空白可能会更加漂亮。通过"margin-left"属性 和"margin-right"属性可以很容易地设置左或右边白。例如:

<style type="text/css">
  body { margin-left: 10%; margin-right: 10%; }
</style>

这一格式为左和右边均留出了窗口宽度的10%大小的空白,注意它会随着浏览器窗口的不同而放大或缩小。

设置左右缩进

请看:

<style type="text/css">
  body { margin-left: 10%; margin-right: 10%; }
  h1 { margin-left: -8%;}
  h2,h3,h4,h5,h6 { margin-left: -4%; }
</style>

此例有三个样式规则。第一是对 body元素的,其二则是对 h1 ,最后是对其它头标元素 (h2, h3, h4, h5 和 h6)的。头标的缩进是以body的边界为基准的。body对应于窗口左右各留有10%的空白,而h1在此基础上向外移出8%。

再次提醒你,style 元素(或link元素)应放在文档的head区内。

控制上下边白

事实上浏览器对于上下边白以及标题、段落等有很好的设置,可以自动完成。但当你希望对一些特殊的标题或段落更多的空白,或是对空白有着特殊的要求,一切你都可以自己控制。这就是CSS的优点。

"margin-top" 属性指定与上面的元素的间隔,而"margin-bottom" 正好相反。如果你想对所有的h2都设置,则可以写成如下形式:

h2 { margin-top: 8em; margin-bottom: 3em; }

em 是非常有用的单位,它以字的大小缩放。1em恰是一个字的高度。在网页上使用em比使用诸如象素或磅要更加安全,因为以象素或磅为单位时如果遇到用户使用大字体则会出现麻烦。

磅常常用在字处理软件中,如10pt 字。很不幸,同样的磅值在不同的浏览器内显示的大小不同,在一个浏览器内工作良好但在另一个内则不然。使用 em作为单位可以回避这类问题。

如果想对某个特定的标题指定上下间距,则应该为这个特定的标题命名,并在标识中使用class 属性,如:

<h2 class="subsection">Getting started</h2>

样式格式如下:

h2.subsection { margin-top: 8em; margin-bottom: 3em; }

这一规则由标识名,圆点和class属性值组成。在圆点的前后注意不能有空格,否则会出错。也有其它的方法可以对某个特定的元素指定样式,但无疑class属性是最常用的。

 

首行缩进

有时你希望每一段落的首行有缩进。下面的样式规则给出了段落的缩进方式:

p { text-indent: 2em; margin-top: 0; margin-bottom: 0; }

在每个段落的首行有2个字的缩进,并禁止段落内部的行间空白。

字体控制

以下解释如何设置字体的样式、大小及如何使用斜体、加重(粗体)和其它的字体修饰。

字体修饰

最常用的修饰是斜体和加重(粗体)。多数浏览器以em 标识为斜体,以strong 标识为加重(粗体)。

em { font-style: italic; font-weight: bold; }
strong { text-transform: uppercase;  font-weight: bold; }

 

字体大小

font-size:用来指定文字的大小。

h1 { font-size: 200%; }
h2 { font-size: 150%; }
h3 { font-size: 100%; }

选择不同的字体

font-family:用来选择不同的字体。如果你想使用楷体,应注意在Windows下,楷体的正式名称是:楷体_gb2312。关于字体的名称,你可以在你的系统目录(如windows)下的font目录内找到。

body { font-family: Verdana, sans-serif; }
h1,h2 { font-family: Garamond, "Times New Roman", serif; }

 

增加边框与背景

可以很容易为标题、列表、段落或任何一组由div 元素所包围起来的部分增加边框。如:

div.box { border: solid; border-width: thin; width: 100% }

这一样式在网页中可以与下面的代码配合使用:

<div class="box">
这里的文字周围会有边框出现,
你知道是如何产生的吗?</div>

 

边框的线框有几种选择:dotted, dashed, solid, double, groove, ridge, inset 和 outset。 border-width属性用来设置边界宽度,它的取值为: thin, medium 和 thick 或直接用数值指定,如 0.1em。border-color 属性允许你设置边框的颜色。

为一矩形区域指定背景色或背景图像会收到很好的效果。这需要 background (背景)属性。可以使用div来指定这一矩形区域:

  div.color {
    background: rgb(204,204,255);
    padding: 0.5em;
    border: none;
  }

padding 属性指定矩形区域内文字与其边界之间的空白。

可以为上、下、左、右四边指定不同的空白大小。其属性名为 padding-left, padding-top, padding-right和 padding-bottom 如:padding-left: 1em.

你可以仅仅为某个边设定边框。你可以独立地控制每个边框的各种属性。分开设置使用 border-left, border-top, border-right and border-bottom ,整体设置则用style, width 或 color等等。如:

  p.changed {
    padding-left: 0.2em;
    border-left: solid;
    border-right: none;
    border-top: none;
    border-bottom: none;
    border-left-width: thin;
    border-color: red;
  }

这为class(名) 为"changed"的段落只设置了左手边的一条红线。

设置颜色

在前面我们已有些设置颜色的例子。这里再次说明:

  body {
    color: black;
    background: white;
  }
  strong { color: red }

这里设置了默认的黑色文字和白色背景,但对于加重(粗体)文字则以红色显示。共有16种标准的颜色名(后面会给出)。也可以使用三原色:红、绿、兰的十进制数值(取值范围从0到255,如rgb(255, 0, 0)是红色)来指定。也可以使用十六进制颜色值来设置,其格式为以#开头的6位十六进制数。其后有RGB与十六进制颜色值转换表。

设置链接色

使用CSS也可以设置超链接的颜色。

  :link { color: rgb(0, 0, 153) }  /* 未访问过的链接 */
  :visited { color: rgb(153, 0, 153) } /* 已访问过的链接 */
  :active { color: rgb(255, 0, 102) } /*正在单击的链接*/
  :hover { color: rgb(0, 96, 255) } /* 当鼠标在其上时 */

有时你可能希望链接没有下划线,使用 text-decoration 属性这也是可以实现的。如:

  a.plain { text-decoration: none }

在网页中的文字如下:

这个链接<a class="plain" href="what.html">无下划线</a>

大多数人在网页上见到有下划线的文字通常都认为是链接。所以最好你还是保留链接的下划线。类似地,对于链接的颜色也是如此。所以也不要试图修改它,除非它们与背景色相同或近似而不得于阅读。

色盲的问题

当使用颜色时,就注意有大约 5%到 10% 的人有各种形式的色盲。这会引起红与绿或黄与兰之间的分辨困难,极少数情况下对于所有颜色均无识别能力。所以应记住尽量避免前/背景色上使用上述搭配。

颜色名

标准的颜色名是: aqua, black, blue, fuchsia, gray, green, lime, maroon, navy, olive, purple, red, silver, teal, white,和 yellow. 这16种颜色是在HTML3.2 T 4.01 中定义的符合PC机上的基本VGA集。大多浏览器接受更多的颜色名,但它们的使用是非推荐的。

颜色名与RGB值
  black = "#000000"   green = "#008000"
  silver = "#C0C0C0"   lime = "#00FF00"
  gray = "#808080"   olive = "#808000"
  white = "#FFFFFF"   yellow = "#FFFF00"
  maroon = "#800000"   navy = "#000080"
  red = "#FF0000"   blue = "#0000FF"
  purple = "#800080"   teal = "#008080"
  fuchsia = "#FF00FF"   aqua = "#00FFFF"

所以颜色值"#800080" 与"purple"相同。

十六进制颜色值

值"#FF9999"是由红绿蓝三原色组成的颜色,#号后的两位表示红,其后的两位为绿,最后的两位为蓝。

输入 RGB 或十六进制数值后按相应的按钮进转换
red: 十六进制数值
green:
blue:

浏览器安全色

最新的计算机支持几千或几百万种颜色,但多数旧的颜色系统仅仅能显示256种色彩。为克服这一困难,浏览器从一固定的色板中提取颜色。

大多数浏览器支持名为“浏览器安全色”的色板。

浏览器安全色表

FFF
 FFF
CCC
 CCC
999
 999
666
 666
333
 333
000
 000
FFC
 C00
FF9
 900
FF6
 600
FF3
 300
99C
 C00
CC9
 900
FFC
 C33
FFC
 C66
FF9
 966
FF6
 633
CC3
 300
CC0
 033
CCF
 F00
CCF
 F33
333
 300
666
 600
999
 900
CCC
 C00
FFF
 F00
CC9
 933
CC6
 633
330
 000
660
 000
990
 000
CC0
 000
FF0
 000
FF3
 366
FF0
 033
99F
 F00
CCF
 F66
99C
 C33
666
 633
999
 933
CCC
 C33
FFF
 F33
996
 600
993
 300
663
 333
993
 333
CC3
 333
FF3
 333
CC3
 366
FF6
 699
FF0
 066
66F
 F00
99F
 F66
66C
 C33
669
 900
999
 966
CCC
 C66
FFF
 F66
996
 633
663
 300
996
 666
CC6
 666
FF6
 666
990
 033
CC3
 399
FF6
 6CC
FF0
 099
33F
 F00
66F
 F33
339
 900
66C
 C00
99F
 F33
CCC
 C99
FFF
 F99
CC9
 966
CC6
 600
CC9
 999
FF9
 999
FF3
 399
CC0
 066
990
 066
FF3
 3CC
FF0
 0CC
00C
 C00
33C
 C00
336
 600
669
 933
99C
 C66
CCF
 F99
FFF
 FCC
FFC
 C99
FF9
 933
FFC
 CCC
FF9
 9CC
CC6
 699
993
 366
660
 033
CC0
 099
330
 033
33C
 C33
66C
 C66
00F
 F00
33F
 F33
66F
 F66
99F
 F99
CCF
 FCC
CC9
 9CC
996
 699
993
 399
990
 099
663
 366
660
 066
006
 600
336
 633
009
 900
339
 933
669
 966
99C
 C99
FFC
 CFF
FF9
 9FF
FF6
 6FF
FF3
 3FF
FF0
 0FF
CC6
 6CC
CC3
 3CC
003
 300
00C
 C33
006
 633
339
 966
66C
 C99
99F
 FCC
CCF
 FFF
339
 9FF
99C
 CFF
CCC
 CFF
CC9
 9FF
996
 6CC
663
 399
330
 066
990
 0CC
CC0
 0CC
00F
 F33
33F
 F66
009
 933
00C
 C66
33F
 F99
99F
 FFF
99C
 CCC
006
 6CC
669
 9CC
999
 9FF
999
 9CC
993
 3FF
660
 0CC
660
 099
CC3
 3FF
CC0
 0FF
00F
 F66
66F
 F99
33C
 C66
009
 966
66F
 FFF
66C
 CCC
669
 999
003
 366
336
 699
666
 6FF
666
 6CC
666
 699
330
 099
993
 3CC
CC6
 6FF
990
 0FF
00F
 F99
66F
 FCC
33C
 C99
33F
 FFF
33C
 CCC
339
 999
336
 666
006
 699
003
 399
333
 3FF
333
 3CC
333
 399
333
 366
663
 3CC
996
 6FF
660
 0FF
00F
 FCC
33F
 FCC
00F
 FFF
00C
 CCC
009
 999
006
 666
003
 333
339
 9CC
336
 6CC
000
 0FF
000
 0CC
000
 099
000
 066
000
 033
663
 3FF
330
 0FF
00C
 C99
009
 9CC
33C
 CFF
66C
 CFF
669
 9FF
336
 6FF
003
 3CC
330
 0CC
00C
 CFF
009
 9FF
006
 6FF
003
 3FF