轉:http://hi.baidu.com/atmo/blog/item/9f51bc03dd1e3a8dd53f7c69.html 諸如設定新聞標題顏色,如果是這樣的代碼 <a href="#"><font color="red">Atmo</font></a> 這樣沒問題,根據css優先順序就近原則,你會認為在任何的環境下都會顯示red顏色,繼續往下看,確實一般情況下他顯示的是red顏色。 如果定義了一個全域的css,定義了*或者font顏色 <style type="text/css"> * {color:blue} </style> 或者 <style type="text/css"> font{color:blue} </style> <a href="#"><font color="red">Atmo</font></a> 那麼此時的font裡的顏色就不再是red,而是blue,這樣就不符合css的就近原則,具體原因我不清楚,可能是font這個標籤不符合w3c標準,屬於被廢棄的標籤,也可能font這個標籤根本就不屬於css的範疇。 如果是 <style type="text/css"> * {color:blue} font{color:yellow} </style> <a href="#"><font color="red">Atmo</font></a> 這樣的話,font標籤顯示的顏色是yellow 如果是 <style type="text/css"> * {color:blue} font{color:yellow} </style> <div style="color:#999999"><font style="color:green">Atmo</font></div> font標籤顯示的是style裡的顏色不受其他的影響,顏色是green 所以最終的解決辦法是 <font style="..."></font> 這樣不管外部的css如何寫,都不會改變<font>的顏色 比如在做html編輯器、新聞標題的時候一定要注意,記得用style 很多新聞系統裡都是 <font color=""></font> 這樣如果外部定義了*{} 或者font{},你的<font color=""></font>就無效 經過測試發現,font的優先順序 style > id > class > font > * > font color=".." |