日期:2013-06-22  浏览次数:21472 次

  前面我们讲解了css的语法,但要想在浏览器中显示出效果,就要让浏览器识别并调用。当浏览器读取款式表时,要按照文本格式来读,这里引见四种在页面中插入款式表的方法:链入外表款式表、内部款式表、导入外表款式表和内嵌款式。

  1. 链入外部款式表

  链入外部款式表是把款式表保存为一个款式表文件,然后在页面中用 link>标记链接到这个款式表文件,这个 link>标记必须放到页面的 head>区内,如下:
   <head>
  ……
   <link rel="stylesheet" type="text/css" href="mystyle.css">
  ……
  < /head>

  上面这个例子表示浏览器从mystyle.css文件中以文档格式读出定义的款式表。

  rel="stylesheet"是指在页面中使用这个外部的款式表。type="text/css"是指文件的类型是款式表文本。href="mystyle.css"是文件所在的位置。

  一个外部款式表文件可以使用于多个页面。当你改变这个款式表文件时,所有页面的款式都随之而改变。在制造大量相反款式页面的网站时,非常有用,不只减少了反复的任务量,而且有利于当前的修正、编辑,浏览时也减少了反复下载代码。

  款式表文件可以用任何文本编辑器(例如:记事本)打开并编辑,普通款式表文件扩展名为.css。内容是定义的款式表,不包含html标记,mystyle.css这个文件的内容如下:

  hr {color: sienna}
  p {margin-left: 20px}
  body {background-image: url("images/back40.gif")}

  (定义水平线的颜色为土黄;段落左边的空白边距为20象素;页面的背景图片为images目录下的back40.gif文件)
  
   2. 内部款式表

  内部款式表是把款式表放到页面的 head>区里,这些定义的款式就使用到页面中了,款式表是用 style>标记插入的,从下例中可以看出 style>标记的用法:
   <head>
  ……
   <style type="text/css">
  hr {color: sienna}
  p {margin-left: 20px}
  body {background-image: url("images/back40.gif")}
  < /style>
  ……
   </head>

  留意:有些低版本的浏览器不能识别style标记,这意味着低版本的浏览器会忽略style标记里的内容,并把style标记里的内容以文本方式直接显示到页面上。为了避免这样的情况发生,我们用加html注释的方式( !-- 注释 -->)隐藏内容而不让它显示:

   <head>
  ……
   <style type="text/css">
   <!--
  hr {color: sienna}
  p {margin-left: 20px}
  body {background-image: url("images/back40.gif")}
  -->
   </style>
  ……
   </head>
  
   3. 导入外部款式表

  导入外部款式表是指在内部款式表的 style>里导入一个外部款式表,导入时用@import,看下面这个实例:
   <head>
  ……
   <style type="text/css">
   <!--
  @import "mystyle.css"
  其他款式表的声明
  -->
   </style>
  ……
   </head>

  上例中@import “mystyle.css”表示导入mystyle.css款式表,留意使用时外部款式表的路径。方法和链入款式表的方法很类似,但导入外部款式表输入方式更有优势。实质上它是相当于存在内部款式表中的。

  留意:导入外部款式表必须在款式表的开始部分,在其他内部款式表上面。
  
   4. 内嵌款式

  内嵌款式是混合在html标记里使用的,用这种方法,可以很简单的对某个元素单独定义款式。内嵌款式的使用是直接将在html标记里加入style参数。而style参数的内容就是css的属性和值,如下例:

  <p style="color: sienna; margin-left: 20px">这是一个段落</p>

  (这个段落颜色为土黄,左边距为20象素)

  在style参数后面的引号里的内容相当于在款式表大括号里的内容。

  留意:style参数可以使用于任意body内的元素(包括body本事),除了basefont、param和script。
  
   5. 多重款式表的叠加

  上一章里我们曾经提到款式表的层叠顺序,这里我们讨论插入款式表的这几种方法的叠加,如果在同一个选择器上使用几个不同的款式表时,这个属性值将会叠加几个款式表,遇到冲突的地方会以最后定义的为准。例如,我们首先链入一个外部款式表,其中定义了h3选择符的color 、text-align和font-size属性:
  h3
  {
  color: red;
  text-align: left;
  font-size: 8pt
  }
  (标题3的文字颜色为红色;向左对齐;文字尺寸为8号字)
  然后在内部款式表里也定义了h3选择符的text-align和font-size属性:
  h3
  {
  text-align: right;
  font-size: 20pt
  }
  (标题3文字向右对齐;尺寸为20号字)
  那么这个页面叠加后的款式就是:
  color: red;
  text-align: right;
  font-size: 20pt
  (文字颜色为红色;向右对齐;尺寸为20号字)

  字体颜色从外部款式表里保留下来,而对齐方式和字体尺寸都有定义时,按照后定义的优先而按照内部款式表。

  留意:按照后定义的优先,所以优先级最高的是内嵌款式,内部款式表高于导入外部款式表,链入的外部款式表和内部款式表之间是最后定义的优先级高。