日期:2013-09-03  浏览次数:21093 次

  CSS(Cascading Stylesheets,层叠款式表)是一种制造网页的新技术,如今曾经为大多数的浏览器所支持,成为网页设计必不可少的工具之一。使用CSS能够简化网页的格式代码,加快下载显示的速度,也减少了需求上传的代码数量,大大减少了反复劳动的任务量。尤其是当你面对的是无数百个网页的站点时,CSS几乎象是神对我们的恩赐! 

前言

  CSS(Cascading Stylesheets,层叠款式表)是一种制造网页的新技术,如今曾经为大多数的浏览器所支持,成为网页设计必不可少的工具之一。

  W3C(The World Wide Web Consortium)把动态HTML(Dynamic HTML)分为三个部分来实现:脚本言语(包括JavaScript、Vbscript等)、支持动态效果的浏览器(包括Internet Explorer、Netscape Navigator等)和CSS款式表。

一.层叠款式表的特点

  且不说过去的网页缺少动感,就是在网页内容的排版规划上也有很多困难,如果不是专业人员或特别有耐心的人,很难让网页按本人的构思和创意来显示信息。即便是掌握了HTML言语精髓的人也要通过多次地测试,才能驾驭好这些信息的排版,过程十分漫长和痛苦。为了Internet的发展,让更多人早日踏足这个多姿多彩的世界,新的HTML辅助工具呼之欲出。

  款式表就是在这种需求下诞生的,它首先要做的是为网页上的元素精确地定位,可以让网页设计者象导演一样,轻易地控制由文字、图片组成的演员们,在网页这个舞台上按剧本要求好好地表演。

  其次,它把网页上的内容结构和格式控制相分离。浏览者想要看的是网页上的内容结构,而为了让浏览者更好地看到这些信息,就要通过格式控制来帮忙了。以前两者在网页上的分布是交错结合的,查看修正很不方便,而如今把两者分开就会大大方便网页的设计者。内容结构和格式控制相分离,使得网页可以光由内容构成,而将所有网页的格式控制指向某个CSS款式表文件。这样一来的好出表如今两个方面:

  第一,简化了网页的格式代码,外部的款式表还会被浏览器保存在缓存里,加快了下载显示的速度,也减少了需求上传的代码数量(由于反复设置的格式将被只保存一次)。

  第二,只需修正保存着网站格式的CSS款式表文件就可以改变整个站点的风格特色,在修正页面数量庞大的站点时,显得格外有用。避免了一个一个网页的修正,大大减少了反复劳动的任务量,当你面对的是无数百个网页的站点时,CSS几乎象是神对我们的恩赐!^_^

二.添加层叠款式表的方法

  我们为网页添加款式表的方法有四种。

  1.最简单的方法是直接添加在HTML的标识符(tag)里:

  <Tag style="properties">网页内容</tag>
  举个例子:
  <p style="color: blue; font-size: 10pt">CSS实例</p>


  代码说明:

  用蓝色显示字体大小为10pt的“CSS实例”。虽然使用简单、显示直观,但是这种方法不怎样常用,由于这样添加无法完全发挥款式表的优势“内容结构和格式控制分别保存”。 

  2.添加在HTML的头信息标识符< head>里:

<head>
<style type="text/css">
<!--款式表的具体内容-->
</style>
</head>


  type="text/css"表示款式表采用MIME类型,协助不支持CSS的浏览器过滤掉CSS代码,避免在浏览器面前直接以源代码的方式显示我们设置的款式表。但为了保证上述情况一定不要发生,还是有必要在款式表里加上注释标识符“< !--注释内容-->”。

  3.链接款式表

  同样是添加在HTML的头信息标识符< head>里:

<head>
<link rel="stylesheet" href="*.css" type="text/css" media="screen">
</head>


  *.css是单独保存的款式表文件,其中不能包含< style>标识符,并且只能以css为后缀。
  Media是可选的属性,表示使用款式表的网页将用什么媒体输出。取值范围:
    ·Screen(默认):输出到电脑屏幕
    ·Print:输出到打印机
    ·TV:输出到电视机
    ·Projection:输出到投影仪
    ·Aural:输出到扬声器
    ·Braille:输出到凸字触觉感知设备
    ·Tty:输出到电传打字机
    ·All:输出到以上所有设备
  如果要输出到多种媒体,可以用逗号分隔取值表。

  Rel属性表示款式表将以何种方式与HTML文档结合。取值范围:
    ·Stylesheet:指定一个外部的款式表
    ·Alternate stylesheet:指定使用一个交互款式表

  4.联合使用款式表

  同样是添加在HTML的头信息标识符< head>里:

<head>
<style type="text/css">
<!--
@import "*.css"
-->
</style>
</head>


  以@import开头的联合款式表输入方法和链接款式表的方法很类似,但联合款式表输入方式更有优势。由于联合法可以在链接外部款式表的同时,针对该网页的具体情况,做出别的网页不需求的款式规则。

  需求留意的是:
    ·联合法输入款式表必须以@import开头。
    ·如果同时输入多个款式表有冲突的时候,将按照第一个输入的款式表对网页排版。
    ·如果输入的款式表和网页里的款式规则冲突时,使用外部的款式表。

三.层叠款式表的格式 

  普通来说,款式表的声明分为选择符(selector)和块{}(block),块里包含属性(properties)和属性的取值(value),基本格式如下:

  选择符 {属性:值}
  其它格式1:
  选择符1,选择符2,选择符3 {属性1:值1;属性2:值2;属性3:值3}


  有时候多个选择符将使用相反的设置,为了简化代码,我们可以一次性为它们设置款式,并在多个选择符之间加上“,”来分隔它们。

  当有多个属性的时候,必须在两个属性之间用“;”来分隔。

  其它格式2:
  选择符1 选择符2 {属性1:值1;属性2:值2;属性3:值3}


  和格式1非常类似,只是在选择符之间少加了“,”,但作用却大不相反。表示如果选择符2包括的内容同时包括在选择符1里的时候,所设置的款式规则才起作用。

四.层叠款式表的分类

  为了使网页的格式不过分的单调,必需让相反的选择符也能分类,并能按照不同的类别来进行不同的款式设计。基本格式如下:

  选择符.类别名 {属性:值}
  类别名将可以在HTML的标识符里援用:
  <标识符 class=类别名>网页内容


五.层叠款式表的伪类

  除了上述的分类方式外,为了使分类的使用更灵活多样,又产生了伪类的概念。类和伪类有什么样的区别呢?

  普通地说,选择符可以和多个类采用捆绑的方式来设定,这样虽然能够为同一个选择符创