- CSS全稱為“層疊樣式表 (Cascading Style Sheets)”,它主要是用于定義HTML內(nèi)容在瀏覽器內(nèi)的顯示樣式,如文字大小狡逢、顏色由境、字體加粗等棚亩。使用CSS樣式的一個好處是通過定義某個樣式,可以讓不同網(wǎng)頁位置的文字有著統(tǒng)一的字體虏杰、字號或者顏色等讥蟆。
- CSS語法:CSS 規(guī)則由兩個主要的部分構(gòu)成:選擇器,以及一條或多條聲明纺阔。
selector {declaration1; declaration2; ... declarationN }
- 選擇器通常是您需要改變樣式的 HTML 元素瘸彤,每條聲明由一個屬性和一個值組成。
- 屬性(property)是您希望設(shè)置的樣式屬性(style attribute)笛钝。每個屬性有一個值质况。屬性和值被冒號分開。
selector {property: value}
- 你可以對選擇器進行分組玻靡,這樣结榄,被分組的選擇器就可以分享相同的聲明。用逗號將需要分組的選擇器分開囤捻。在下面的例子中臼朗,我們對所有的標題元素進行了分組。所有的標題元素都是綠色的最蕾。
h1,h2,h3,h4,h5,h6 { color: green; }
- 根據(jù) CSS依溯,子元素從父元素繼承屬性。但是它并不總是按此方式工作瘟则±杪看看下面這條規(guī)則:
body { font-family: Verdana, sans-serif; }
根據(jù)上面這條規(guī)則,站點的 body 元素將使用 Verdana 字體(假如訪問者的系統(tǒng)中存在該字體的話)醋拧。 - 派生選擇器
通過依據(jù)元素在其位置的上下文關(guān)系來定義樣式慷嗜,你可以使標記更加簡潔。
在 CSS1 中丹壕,通過這種方式來應(yīng)用規(guī)則的選擇器被稱為上下文選擇器 (contextual selectors)庆械,這是由于它們依賴于上下文關(guān)系來應(yīng)用或者避免某項規(guī)則。在 CSS2 中菌赖,它們稱為派生選擇器缭乘,但是無論你如何稱呼它們,它們的作用都是相同的琉用。
派生選擇器允許你根據(jù)文檔的上下文關(guān)系來確定某個標簽的樣式堕绩。通過合理地使用派生選擇器策幼,我們可以使 HTML 代碼變得更加整潔。 - 如何插入樣式表
當讀到一個樣式表時奴紧,瀏覽器會根據(jù)它來格式化 HTML 文檔特姐。插入樣式表的方法有三種:
外部樣式表
當樣式需要應(yīng)用于很多頁面時,外部樣式表將是理想的選擇黍氮。在使用外部樣式表的情況下唐含,你可以通過改變一個文件來改變整個站點的外觀。每個頁面使用 <link> 標簽鏈接到樣式表沫浆。<link> 標簽在(文檔的)頭部:
<head>
<link rel="stylesheet" type="text/css" href="mystyle.css" />
</head>
瀏覽器會從文件 mystyle.css 中讀到樣式聲明捷枯,并根據(jù)它來格式文檔。
外部樣式表可以在任何文本編輯器中進行編輯件缸。文件不能包含任何的 html 標簽铜靶。樣式表應(yīng)該以 .css 擴展名進行保存。下面是一個樣式表文件的例子:
hr {color: sienna;}
p {margin-left: 20px;}
body {background-image: url("images/back40.gif");}
不要在屬性值與單位之間留有空格他炊。假如你使用 “margin-left: 20 px” 而不是 “margin-left: 20px” 争剿,它僅在 IE 6 中有效,但是在 Mozilla/Firefox 或 Netscape 中卻無法正常工作痊末。
內(nèi)部樣式表
當單個文檔需要特殊的樣式時蚕苇,就應(yīng)該使用內(nèi)部樣式表。你可以使用 <style> 標簽在文檔頭部定義內(nèi)部樣式表凿叠,就像這樣:
<head>
<style type="text/css">
hr {color: sienna;}
p {margin-left: 20px;}
body {background-image: url("images/back40.gif");}
</style>
</head>
內(nèi)聯(lián)樣式
由于要將表現(xiàn)和內(nèi)容混雜在一起涩笤,內(nèi)聯(lián)樣式會損失掉樣式表的許多優(yōu)勢。請慎用這種方法盒件,例如當樣式僅需要在一個元素上應(yīng)用一次時蹬碧。
要使用內(nèi)聯(lián)樣式,你需要在相關(guān)的標簽內(nèi)使用樣式(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;
}
而內(nèi)部樣式表擁有針對 h3 選擇器的兩個屬性:
h3 {
text-align: right;
font-size: 20pt;
}
假如擁有內(nèi)部樣式表的這個頁面同時與外部樣式表鏈接,那么 h3 得到的樣式是:
color: red;
text-align: right;
font-size: 20pt;
即顏色屬性將被繼承于外部樣式表城瞎,而文字排列(text-alignment)和字體尺寸(font-size)會被內(nèi)部樣式表中的規(guī)則取代渤闷。