http://www.w3school.com.cn/css/css_howto.asp
http://www.runoob.com/css/css-howto.html
當讀到一個樣式表時,瀏覽器會根據它來格式化 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");}
不要在屬性值與單位之間留有空格(如:"margin-left: 20 px" ),正確的寫法是 "margin-left: 20px" 。
內部樣式表
當單個文檔需要特殊的樣式時,就應該使用內部樣式表。
你可以使用 <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 擁有最高的優先權。
- 瀏覽器缺省設置
- 外部樣式表
- 內部樣式表(位於 <head> 標簽內部)
- 內聯樣式(在 HTML 元素內部)
因此,內聯樣式(在 HTML 元素內部)擁有最高的優先權,
這意味着它將優先於以下的樣式聲明: 標簽中的樣式聲明,外部樣式表中的樣式聲明,或者瀏覽器中的樣式聲明(缺省值)。
如果你使用的外部文件樣式在 <head>中也定義了該樣式,則內部樣式表會取代外部文件的樣式。