CSS 創建
當讀到一個樣式表時,瀏覽器會根據它來格式化HTML 文檔。
如何插入樣式表
插入樣式表的方法有三種:
- 外部樣式表
- 內部樣式表
- 內聯樣式
外部樣式表
當樣式需要應用於很多頁面時,外部樣式表將是理想的選擇。 在使用外部樣式表的情況下,你可以通過改變一個文件來改變整個站點的外觀。 每個頁面使用<link> 標籤鏈接到樣式表。 <link> 標籤在(文檔的)頭部:
<link rel="stylesheet" type="text/css" href="mystyle.css">
</head>
瀏覽器會從文件mystyle.css 中讀到樣式聲明,並根據它來格式文檔。
外部樣式表可以在任何文本編輯器中進行編輯。 文件不能包含任何的html 標籤。 樣式表應該以.css 擴展名進行保存。 下面是一個樣式表文件的例子:
p {margin-left:20px;}
body {background-image:url("../images/back40.gif");}
不要在屬性值與單位之間留有空格。 假如你使用"margin-left: 20 px" 而不是"margin-left: 20px" ,它僅在IE 6 中有效,但是在Mozilla/Firefox 或Netscape 中卻無法正常工作。
內部樣式表
當單個文檔需要特殊的樣式時,就應該使用內部樣式表。 你可以使用<style> 標籤在文檔頭部定義內部樣式表,就像這樣:
<style>
hr {color:sienna;}
p {margin-left:20px;}
body {background-image:url("images/back40.gif");}
</style>
</head>
內聯樣式
由於要將表現和內容混雜在一起,內聯樣式會損失掉樣式表的許多優勢。 請慎用這種方法,例如當樣式僅需要在一個元素上應用一次時。
要使用內聯樣式,你需要在相關的標籤內使用樣式(style)屬性。 Style 屬性可以包含任何CSS 屬性。 本例展示如何改變段落的顏色和左外邊距:
多重樣式
如果某些屬性在不同的樣式表中被同樣的選擇器定義,那麼屬性值將從更具體的樣式表中被繼承過來。
例如,外部樣式表擁有針對h3 選擇器的三個屬性:
{
color:red;
text-align:left;
font-size:8pt;
}
而內部樣式表擁有針對h3 選擇器的兩個屬性:
{
text-align:right;
font-size:20pt;
}
假如擁有內部樣式表的這個頁面同時與外部樣式錶鍊接,那麼h3 得到的樣式是:
text-align:right;
font-size:20pt;
即顏色屬性將被繼承於外部樣式表,而文字排列(text-alignment)和字體尺寸(font-size)會被內部樣式表中的規則取代。
多重樣式將層疊為一個
樣式表允許以多種方式規定樣式信息。 樣式可以規定在單個的HTML 元素中,在HTML 頁的頭元素中,或在一個外部的CSS 文件中。 甚至可以在同一個HTML 文檔內部引用多個外部樣式表。
層疊次序
當同一個HTML 元素被不止一個樣式定義時,會使用哪個樣式呢?
一般而言,所有的樣式會根據下面的規則層疊於一個新的虛擬樣式表中,其中數字4 擁有最高的優先權。
- 瀏覽器缺省設置
- 外部樣式表
- 內部樣式表(位於<head> 標籤內部)
- 內聯樣式(在HTML 元素內部)
因此,內聯樣式(在HTML 元素內部)擁有最高的優先權,這意味著它將優先於以下的樣式聲明: 標籤中的樣式聲明,外部樣式表中的樣式聲明,或者瀏覽器中的樣式聲明(缺省值)。
提示:如果你使用了外部文件的樣式在<head>中也定義了該樣式,則內部樣式表會取代外部文件的樣式。