在downcodes.com前面的文章中,我們提及“重寫您的CSS文件使之更有條理、結構清晰”,這雖然是方法之一,但養成良好的編碼習慣也一直是我愛CSS所提倡的。今天的文章將就此內容,並作些討論。
最後定義的 CSS 樣式將會覆蓋在其先前定義的所有已經存在、或與之衝突的樣式,例如下面這個例子:
Example Source Code
[www.downcodes.com] p { color: red; background: yellow }
p { color: green }
以上的段落最終將呈現綠色的字體,並帶有黃色的背景,這是因為最後定義的color:green 將先前定義的red 覆蓋掉了,至於黃色背景為何沒有消失,那是因為第二個p 的定義中並沒有與之衝突的定義,因此它還是有效的。
你真的懂了嗎?好,我們來做個小測試:
Example Source Code
[www.downcodes.com] p.red { color: red }
p.green { color: green }
p.blue { color: blue }
Example Source Code
[www.downcodes.com] <p class="red green blue">Sample text. downcodes.com</p>
<p class="green blue red">Sample text. downcodes.com</p>
<p class="blue red green">Sample text. downcodes.com</p>
請問,最終顯示的時候,上面三段的文字都會呈現何種顏色呢?
答案是它們都顯示為blue ,也就是藍色,儘管每個段落都以不同順序應用了三個p 樣式,看上去應該按照應用樣式的順序來決定顏色,比如,第一個顯示為blue ,第第二個顯示為red ,第三個顯示為green ,其實這是錯誤的,這與應用樣式的順序無關,它們最終都聽從最後指定的樣式,顏色皆為blue 。