2013-03-12 127 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之类的东西,以了解它们具有何种特性。