2013-03-12 225 views
0

我有一箇舊的CSS線優先於我的新的<img> ID CSS我怎麼能超過這個?CSS繼承問題

我正在更改灰度欄中圖像的寬度,並且無法使用新ID更改圖像寬度。

這裏是我的代碼:

#greybar img { 
    width: 75px; 
    float: left; 
    margin: 10px; 
}  

#rpmimage { 
    width: 125px; 
} 
+5

也顯示html。沒有它應用的html是沒用的。 – 2013-03-12 16:18:43

+0

同意Marc!但你可以這樣做:'width:75px!important;'on #greybar img – Riskbreaker 2013-03-12 16:40:15

回答

-2

我想你應該能夠做一個在線式的,至少作爲一個快速和骯髒的把戲。

例如:

<img style="width:75px;" ... > 
+0

Please no,inline styling does not _fix_ the problem,it just hidden it – 2013-03-12 16:22:25

3

你需要查找CSS特異性。總之,不同的選擇器得到不同的分數。

的ID是值得100,一類是值得10,和一個標籤選擇是值得1.

這意味着,#greybar img值得101,而#rpmimage值得100因此,第一個「獲勝」 。

許多人建議不要使用CSS的ID,也不要在需要幫助的地方過分限定選擇器。

在你的情況下,你可以試試#rpmimage img,或者重新思考你正在用這些新知識去做什麼!

有很多'壞事'要做,包括使用內聯樣式(例如你會記得你下次遇到問題時會這麼做!),或者使用!important。與!important的事情是,它優先於所有的事情,這意味着下一次你有這個問題你無處可去。

http://coding.smashingmagazine.com/2007/07/27/css-specificity-things-you-should-know/是一篇很好的文章,它有一些很好的實踐,值得大家真正閱讀!

對於一個很好的工具來幫助理解更復雜的選擇器,請嘗試http://specificity.keegan.st/ - 這可以讓您測試諸如#id:after p > img之類的東西,以瞭解它們具有何種特性。