網頁的樣式在IE等瀏覽器有預設值外,網頁瀏覽者、網頁製作者也可以設定。網頁製作者在網頁中設定樣式的方式也有許多種。當設定的樣式發生重複時,以哪一個為優先,哪一個設定會被覆蓋掉,以下做說明:
樣式種類的優先順序
網頁樣式設定方式共有以下3種,優先順序由高到低排序,優先順序高的樣式取代優先順序低的樣式。
- 網頁製作者所指定的樣式
- 網頁瀏覽者所指定的樣式
- 瀏覽器的預設樣式。
例如,文字顏色樣式在瀏覽器的預設值為黑色(black),若網頁瀏覽者改成(blue)(藍色),預設值將會被覆蓋,文字顏色變成藍色。若網頁製作著又將文字顏色樣式改成紅色,網頁瀏覽者的設定又會被覆蓋,文字顏色會變成紅色。
樣式指定方式的優先順序
網頁製作者所指定的樣式方式有以下幾種,優先順序由高到低排序,優先順序高的樣式取代優先順序低的樣式。
- 直接在HTML的元素中,使用Style屬性指定。
- 在HTML文中的<head>~</head>間,使用Style元素指定。
- 使用Link元素,參照CSS定義檔的定義。
- 在Style元素和CSS定義檔內,使用@import參照其他CSS定義檔的定義。
例如,如在HTML段落元素p內,使用style屬性指定文字顏色為紅色(color:red),即使在上述的2、3、4項有設定文字顏色不是紅色,段落內的文字最後還是會顯示紅色。
選擇器設定樣式的優先順序
利用選擇器重複設定樣式時的優先順序如下:
- 區分的越細,優先度越高。
- 重複相同指定時,後蓋前。
- 分號(;)前加入"
!important"為最優先。
例如:
- ul li{color:red;}、li{color:black;} → 元素li的文字顯示紅色(red)。
- li.sa{color:red;} 、.sa{color:black;} → class為sa的元素li的文字顯示紅色(red)。
- li.#sa{color:red;} 、#sa{color:black;} → id為sa的元素li的文字顯示紅色(red)。
- 重複設定h2 {color:red;} 、h2 {color:blue;} → 元素h2的文字顏色會變為藍色(blue)。
- h2{color:red!important;}、h2 {color:blue;} → 元素h2的文字顏色還是維持為紅色(red)。