我正在使用 Twitter bootstrap 表格,并尝试将我自己的样式(背景颜色)分配给表格的元素。
有效方法:将 id="foo"
分配给每个
#foo { ... }
放入我的样式表中。
什么不起作用:将 class="foo"
分配给每个
.foo { ... }
放在我的样式表中。我还尝试通过在我的样式表中放置 td { ... }
和 tr td { ... }
来设置样式。都没有用。
为什么会这样?我想也许周围可能有一个同名的类,但除非 bootstrap 有一个名为“.asdfasdfasdfasdf”的类,否则我很确定情况并非如此。
最佳答案
在没有看到任何实际代码的情况下很难判断,但我猜你有一个具有更高特异性的 CSS 规则覆盖了你的类。要跟踪类似的内容,请在您的浏览器中使用“检查”来查看哪个规则正在覆盖您的 CSS 类。
CSS 优先级确实有效,并且是这样排序的:
- 元素、伪元素:0,0,0,1
- 类,伪类,属性:0,0,1,0
- ID:0,1,0,0
- 内联样式:1,0,0,0
例如:如果您有像 #body table tr td {}
这样的规则,它将始终具有比 tr td {}
更高的优先级,甚至比 正文表 tr td {}
或 tr td.someClass {}
。
您可以在此页面上阅读有关特异性的更多信息:Understanding Style Precedence in CSS: Specificity, Inheritance, and the Cascade .
关于html - 按 ID 设置元素样式有效,按类设置样式无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17953375/