CSS继承问题

时间:2013-03-12 16:17:40

标签: css inheritance

我有一个旧的css行优先于我的新<img> ID CSS我怎么能超越这个?

我想要更改greybar中图像的宽度,并且无法使用新ID更改图像宽度。

这是我的代码:

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

#rpmimage { 
    width: 125px;
}

2 个答案:

答案 0 :(得分:3)

您需要查找CSS特异性。简而言之,不同的选择者获得不同的分数。

ID值100,Class值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之类的内容,看看它们具有什么特异性。

答案 1 :(得分:-2)

我认为你应该能够做一个内联风格,至少作为一个快速而肮脏的技巧。

例如:

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