2011-11-08 70 views
2

爲什麼CSS聲明不會在瀏覽器中顯示?爲什麼不顯示這個CSS聲明?

這裏是我的CSS文件的樣本:

.adv { 
color:#47463D; 
} 

.earnings { 
color:#B4FF00; 
} 

當我做<font class=adv>hello</font>,它的工作原理治療。

當我做<font class=earnings>hello</font>時,指定的.earnings的顏色不顯示在瀏覽器中。

頁面鏈接到正確的CSS文件。

+1

你忘了;在收益類的顏色定義的末尾。更何況你正在使用這是不正確的,要麼。 – MRR0GERS

+0

1.'font'標記已被棄用,因爲像html4一樣。 2.正確關閉你的標籤 - 你打開'font'而不是關閉'a'。 – Litek

+0

你有一個開放的FONT標籤和一個關閉的A標籤。我有一個預感,你有非常無效的HTML,這是沒有幫助。 –

回答

4

有機會在您的網頁上某個地方,您的樣式的特異性取代.earnings(請參閱this page)。 CSS通過體重秤應用,因此具有較高權重(計算出的特異性)的任何內容都優先於您認爲可應用的內容。

要做的最好的事情是使用像Firebug(Firefox擴展)或Chrome的檢查員,看看真的是應用。


Example(而且,順便說一句,CSS order is irrelevant

<style> 
    /* what you think is applied */ 
    .foo { color: red; } 

    /* What is being applied due to specificity */ 
    #bar .foo { color: green; } 
</style> 

<span class="foo">.foo</span> <!-- color is red --> 

<div id="bar"> 
    <span class="foo">#bar .foo</span> <!-- color is actually green --> 
</div> 
1

在您的顏色行後添加一個分號。

.adv { 
color:#47463D; 
} 

.earnings { 
color:#B4FF00; 
} 

此外,你應該在HTML使用雙引號的班左右,相匹配的結束標記沿:

<font class="earnings">hello</font> 

你的第二個字體標籤是越來越解析爲您的第一個內,並沒有表現出向上。

+1

而分號是一個好習慣,在最後一個樣式屬性後不需要 –

+3

HTML中的雙引號不是必需的。如果屬性值完全由非空白字符組成,則忽略它們不會造成傷害。 –

+0

儘管引用某種形式的引用是很好的做法。 – jli

2

確保使用引號括住參數值。你還需要確保你的標籤匹配

<a class="adv">hello</a> 
<font class="earnings">hello</font> 

最後,如果你在你需要把分號各一個.earnings有多個CSS參數。

+2

您只需要引用xhtml –

+0

確實如此,但使用某些瀏覽器可以幫助減少問題。特別是如果你的屬性中有空格(即多個類)。 – jtfairbank

+0

是不是最終分號技術上可選? – philipd

0

隨着firebug,使用元素檢查(因爲我不記得分號和引號是強制性的類屬性)並試圖瞭解其他選擇者是如何參與課堂「收入」的。

你能舉一個jsfiddle你的問題的例子嗎?

1

我不知道,如果你打算關閉字體標籤與標籤,但下面的代碼工作得很好:

<html> 
    <head> 
    <title>CSS Color Example</title> 
    <style type="text/css"> 
     .adv {color:red;} 
     .earnings {color:red;} 
    </style> 
    </head> 
    <body> 
    <div class=adv>hello</div> 
    <div class=earnings>hello</div> 
    </body> 
</html> 
2

在CSS聲明中的最後一個分號是可選的,所以這不是你的問題。

很可能您會應用其他具有更高優先級的樣式。CSS優先規則可能有點奇怪;最常見的障礙的一點是,高度特異性的聲明優先於隨後的聲明不那麼特定

從HTMLdog.com實施例:

div p { color: red; } 
    p { color: blue; } 

使用該樣式表,一個div內的任何p個元素將被塗成紅色,而不是藍色。

我真的建議你做的是爲你的瀏覽器(例如Firefox上的Firebug)獲得一個體面的開發工具插件,並瀏覽樣式跟蹤;它會告訴你什麼被覆蓋,以及什麼。