CSS匹配元素类元素

时间:2013-02-18 22:40:00

标签: css css-selectors

如何匹配tdtr所有类tr的所有my-class元素?

我试过

tr .my-class td

另外 - 完全符合资格会更好吗?

table tbody tr td是否优于td

3 个答案:

答案 0 :(得分:1)

请使用:

.my-class td

以你要求的方式完全取得资格通常不会更好。它被称为over-specific

答案 1 :(得分:1)

你可以简单地做:

.my-class td {
    // your css rules here
}

或者...

tr.my-class td {
    // your css rules here
}

或者...

table tbody tr.my-class td {
    // your css rules here
}

取决于您希望/需要的具体程度。

我建议你写的css越少越好,只要它适合你。

答案 2 :(得分:1)

始终尽量减少选择器的数量,而不是

tr.my-class td

仅使用

.my-class td

你的第二个问题与第一个问题有关。当您使用以下selctor

table tbody tr td

您的浏览器首先匹配所有td元素。然后检查这些元素中的哪一个放在tr元素中,然后检查tbody中的哪些元素,最后是table中的元素。由于在结构合理的代码td总是放在表中,因此不需要对选择器进行过度限定。

有很多关于CSS选择器效率的文章,例如,请查看这个http://csswizardry.com/2011/09/writing-efficient-css-selectors/