0

我有一条旧的 CSS 行优先于我的新<img>ID CSS 我该如何覆盖它?

我正在寻找更改灰色条内图像的宽度,并且无法使用新 ID 更改图像宽度。

这是我的代码:

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

#rpmimage { 
    width: 125px;
}
4

2 回答 2

3

您需要查找 CSS Specificity。简而言之,不同的选择器得到不同的分数。

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查看它们具有什么特异性之类的东西。

于 2013-03-12T16:21:59.687 回答
-2

我认为你应该能够做一个内联样式,至少作为一个快速而肮脏的把戏。

例如:

<img style="width:75px;" ... >
于 2013-03-12T16:20:49.177 回答