我有一条旧的 CSS 行优先于我的新<img>
ID CSS 我该如何覆盖它?
我正在寻找更改灰色条内图像的宽度,并且无法使用新 ID 更改图像宽度。
这是我的代码:
#greybar img {
width: 75px;
float: left;
margin: 10px;
}
#rpmimage {
width: 125px;
}
我有一条旧的 CSS 行优先于我的新<img>
ID CSS 我该如何覆盖它?
我正在寻找更改灰色条内图像的宽度,并且无法使用新 ID 更改图像宽度。
这是我的代码:
#greybar img {
width: 75px;
float: left;
margin: 10px;
}
#rpmimage {
width: 125px;
}
您需要查找 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
查看它们具有什么特异性之类的东西。
我认为你应该能够做一个内联样式,至少作为一个快速而肮脏的把戏。
例如:
<img style="width:75px;" ... >