写了一段代码,我注意到在某个地方我写了> :first-child
,后来写了> *:first-child
。这两个模块都可以正常工作,但是两者之间有区别吗?
即使我们考虑性能,它们也是相同的。从the specification中,我们可以阅读
如果由*表示的通用选择器(即没有名称空间前缀)不是简单选择器选择器序列的唯一组成部分,或者不是紧随其后的是伪元素,则* 可以省略和通用选择器的存在状态。
因此写> :first-child
的含义应与浏览器的> *:first-child
相同。
您也可以阅读
注意:建议*,不要省略,因为它可以减少例如
div :first-child
和div:first-child
之间的潜在混淆。在这里,div *:first-child
更具可读性。
因此,这不仅是优先事项,而且还有助于避免混乱并提高代码的可读性。