1.基本語法
css的定義是由三個部分構成:選擇符(selector),屬性(properties)和屬性的取值(value)。
基本格式如下:
selector {property: value}
(選擇符 {屬性:值})
選擇符是可以是多種形式,一般是你要定義樣式的html標記,例如body、p、table……,你可以通過此方法定義它的屬性和值,屬性和值要用冒號隔開:
body {color: black}
選擇符body是指頁面主體部分,color是控制文字顏色的屬性,black是顏色的值,此例的效果是使頁面中的文字為黑色。
如果屬性的值是多個單詞組成,必須在值上加引號,比如字體的名稱經(jīng)常是幾個單詞的組合:
p {font-family: sans serif}
(定義段落字體為sans serif)
如果需要對一個選擇符指定多個屬性時,我們使用分號將所有的屬性和值分開:
p {text-align: center; color: red}
(段落居中排列;并且段落中的文字為紅色)
為了使你定義的樣式表方便閱讀,你可以采用分行的書寫格式:
p
{
text-align: center;
color: black;
font-family: arial
}
(段落排列居中,段落中文字為黑色,字體是arial)
2.選擇符組
你可以把相同屬性和值的選擇符組合起來書寫,用逗號將選擇符分開,這樣可以減少樣式重復定義:
h1, h2, h3, h4, h5, h6 { color: green }
(這個組里包括所有的標題元素,每個標題元素的文字都為綠色)
p, table{ font-size: 9pt }
(段落和表格里的文字尺寸為9號字)
效果完全等效于:
p { font-size: 9pt }
table { font-size: 9pt }
3.類選擇符
用類選擇符你能夠把相同的元素分類定義不同的樣式,定義類選擇符時,在自定類的名稱前面加一個點號。假如你想要兩個不同的段落,一個段落向右對齊,一個段落居中,你可以先定義兩個類:
p.right {text-align: right}
p.center {text-align: center}
然后用不在不同的段落里,只要在html標記里加入你定義的class參數(shù):
<p class=right>
這個段落向右對齊的
</p>
<p class=center>
這個段落是居中排列的
</p>
注意:類的名稱可以是任意英文單詞或以英文開頭與數(shù)字的組合,一般以其功能和效果簡要命名。
類選擇符還有一種用法,在選擇符中省略html標記名,這樣可以把幾個不同的元素定義成相同的樣式:
.center {text-align: center}
(定義.center的類選擇符為文字居中排列)
這樣的類可以被應用到任何元素上。下面我們使h1元素(標題1)和p元素(段落)都歸為“center”類,這使兩個元素的樣式都跟隨“.center”這個類選擇符:
<h1 class=center>
這個標題是居中排列的
</h1>
<p class=center>
這個段落也是居中排列的
</p>
注意:這種省略html標記的類選擇符是我們經(jīng)后最常用的css方法,使用這種方法,我們可以很方便的在任意元素上套用預先定義好的類樣式。
4.id選擇符
在html頁面中id參數(shù)指定了某個單一元素,id選擇符是用來對這個單一元素定義單獨的樣式。
id選擇符的應用和類選擇符類似,只要把class換成id即可。將上例中類用id替代:
<p id=intro>
這個段落向右對齊
</p>
定義id選擇符要在id名稱前加上一個“#”號。和類選擇符相同,定義id選擇符的屬性也有兩種方法。下面這個例子,id屬性將匹配所有id=intro的元素:
#intro
{
font-size:110%;
font-weight:bold;
color:#0000ff;
background-color:transparent
}
(字體尺寸為默認尺寸的110%;粗體;藍色;背景顏色透明)
下面這個例子,id屬性只匹配id=intro的段落元素:
p#intro
{
font-size:110%;
font-weight:bold;
color:#0000ff;
background-color:transparent
}
注意:id選擇符局限性很大,只能單獨定義某個元素的樣式,一般只在特殊情況下使用。
5.包含選擇符
可以單獨對某種元素包含關系定義的樣式表,元素1里包含元素2,這種方式只對在元素1里的元素2定義,對單獨的元素1或元素2無定義,例如:
table a
{
font-size: 12px
}
在表格內(nèi)的鏈接改變了樣式,文字大小為12象素,而表格外的鏈接的文字仍為默認大小。
6.樣式表的層疊性
層疊性就是繼承性,樣式表的繼承規(guī)則是外部的元素樣式會保留下來繼承給這個元素所包含的其他元素。事實上,所有在元素中嵌套的元素都會繼承外層元素指定的屬性值,有時會把很多層嵌套的樣式疊加在一起,除非另外更改。例如在div標記中嵌套p標記:
div { color: red; font-size:9pt}
……
<div>
<p>
這個段落的文字為紅色9號字
</p>
</div>
(p元素里的內(nèi)容會繼承div定義的屬性)
注意:有些情況下內(nèi)部選擇符不繼承周圍選擇符的值,但理論上這些都是特殊的。例如,上邊界屬性值是不會繼承的,直覺上,一個段落不會同文檔body一樣的上邊界值。
另外,當樣式表繼承遇到?jīng)_突時,總是以最后定義的樣式為準。如果上例中定義了p的顏色:
div { color: red; font-size:9pt}
p {color: blue}
……
<div>
<p>
這個段落的文字為藍色9號字
</p>
</div>
我們可以看到段落里的文字大小為9號字是繼承div屬性的,而color屬性則依照最后定義的。
不同的選擇符定義相同的元素時,要考慮到不同的選擇符之間的優(yōu)先級。id選擇符,類選擇符和html標記選擇符,因為id選擇符是最后加上元素上的,所以優(yōu)先級最高,其次是類選擇符。如果想超越這三者之間的關系,可以用!important提升樣式表的優(yōu)先權,例如:p { color: #ff0000!important }
.blue { color: #0000ff}
#id1 { color: #ffff00}
我們同時對頁面中的一個段落加上這三種樣式,它最后會依照被!important申明的html標記選擇符樣式為紅色文字。如果去掉!important,則依照優(yōu)先權最高的id選擇符為黃色文字。
7.注釋
你可以在css中插入注釋來說明你代碼的意思,注釋有利于你或別人以后編輯和更改代碼時理解代碼的含義。在瀏覽器中,注釋是不顯示的。css注釋以/* 開頭,以*/ 結尾,如下:
/* 定義段落樣式表 */
p
{
text-align: center; /* 文本居中排列 */
color: black; /* 文字為黑色 */
font-family: arial /* 字體為arial */
}