html - 为什么第 n 个子选择器不会被另一个选择器覆盖?

标签 html css

我设置了以下示例:http://jsfiddle.net/SXEty/

<style>
table td, th { padding: 8px; text-align: left; }
table td:nth-child(1) { color: red; }
table td { color: blue }
</style>
...
<table>
    <tr><th>Name</th><th>Age</th><th>City</th></tr>
    <tr><td>Bob</td><td>27</td><td>Los Angeles</td></tr>
    <tr><td>Charlie</td><td>34</td><td>San Diego</td></tr>
    <tr><td>Daniel</td><td>41</td><td>San Francisco</td></tr>
</table>

我很好奇为什么第一列是红色而不是蓝色。

在我的 CSS 中,我将每个第一个 child 设置为“红色”。但是我的下一行 CSS 将每个元素设置为“蓝色”。 CSS 的第二行(颜色:蓝色)不会覆盖上一行(颜色:红色)吗?还是第n个子属性优先?如果它确实有优先权,是否对所有浏览器都是如此?

最佳答案

因为 td:nth-child(1)td 更具体。

我建议使用星球大战主题对 CSS 特性进行很好的概述

http://www.stuffandnonsense.co.uk/archives/css_specificity_wars.html

enter image description here

关于html - 为什么第 n 个子选择器不会被另一个选择器覆盖?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15078277/

相关文章:

jquery - 如何使用 jQuery 将行追加到表中?

javascript - 如何在不进入页面的情况下显示水平滚动条

html - DIV HEIGHT 和 WIDTH 整页居中不起作用

javascript - 数据到达 Controller 但不查看

html - 从网页中提取颜色列表

javascript - 我是否应该转换内联脚本以便将其放入外部 .js 文件?

css - 有没有办法让图像的颜色从左到右动画化?

css - 如何在 Wordpress 中修改 404 模板的 CSS?

javascript - 如何在页面加载时全屏显示图像

css - IMAGE MAPS 和 CSS SPRITES 之间的区别