Latest web development tutorials

CSS 創建

當讀到一個樣式表時,瀏覽器會根據它來格式化HTML 文檔。


如何插入樣式表

插入樣式表的方法有三種:

  • 外部樣式表
  • 內部樣式表
  • 內聯樣式

外部樣式表

當樣式需要應用於很多頁面時,外部樣式表將是理想的選擇。 在使用外部樣式表的情況下,你可以通過改變一個文件來改變整個站點的外觀。 每個頁面使用<link> 標籤鏈接到樣式表。 <link> 標籤在(文檔的)頭部:

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

瀏覽器會從文件mystyle.css 中讀到樣式聲明,並根據它來格式文檔。

外部樣式表可以在任何文本編輯器中進行編輯。 文件不能包含任何的html 標籤。 樣式表應該以.css 擴展名進行保存。 下面是一個樣式表文件的例子:

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

Remark 不要在屬性值與單位之間留有空格。 假如你使用"margin-left: 20 px" 而不是"margin-left: 20px" ,它僅在IE 6 中有效,但是在Mozilla/Firefox 或Netscape 中卻無法正常工作。


內部樣式表

當單個文檔需要特殊的樣式時,就應該使用內部樣式表。 你可以使用<style> 標籤在文檔頭部定義內部樣式表,就像這樣:

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


內聯樣式

由於要將表現和內容混雜在一起,內聯樣式會損失掉樣式表的許多優勢。 請慎用這種方法,例如當樣式僅需要在一個元素上應用一次時。

要使用內聯樣式,你需要在相關的標籤內使用樣式(style)屬性。 Style 屬性可以包含任何CSS 屬性。 本例展示如何改變段落的顏色和左外邊距:

<p style="color:sienna;margin-left:20px">This is a paragraph.</p>


多重樣式

如果某些屬性在不同的樣式表中被同樣的選擇器定義,那麼屬性值將從更具體的樣式表中被繼承過來。

例如,外部樣式表擁有針對h3 選擇器的三個屬性:

h3
{
color:red;
text-align:left;
font-size:8pt;
}

而內部樣式表擁有針對h3 選擇器的兩個屬性:

h3
{
text-align:right;
font-size:20pt;
}

假如擁有內部樣式表的這個頁面同時與外部樣式錶鍊接,那麼h3 得到的樣式是:

color:red;
text-align:right;
font-size:20pt;

即顏色屬性將被繼承於外部樣式表,而文字排列(text-alignment)和字體尺寸(font-size)會被內部樣式表中的規則取代。


多重樣式將層疊為一個

樣式表允許以多種方式規定樣式信息。 樣式可以規定在單個的HTML 元素中,在HTML 頁的頭元素中,或在一個外部的CSS 文件中。 甚至可以在同一個HTML 文檔內部引用多個外部樣式表。

層疊次序

當同一個HTML 元素被不止一個樣式定義時,會使用哪個樣式呢?

一般而言,所有的樣式會根據下面的規則層疊於一個新的虛擬樣式表中,其中數字4 擁有最高的優先權。

  1. 瀏覽器缺省設置
  2. 外部樣式表
  3. 內部樣式表(位於<head> 標籤內部)
  4. 內聯樣式(在HTML 元素內部)

因此,內聯樣式(在HTML 元素內部)擁有最高的優先權,這意味著它將優先於以下的樣式聲明: 標籤中的樣式聲明,外部樣式表中的樣式聲明,或者瀏覽器中的樣式聲明(缺省值)。

Remark提示:如果你使用了外部文件的樣式在<head>中也定義了該樣式,則內部樣式表會取代外部文件的樣式。