如何慢是*真的吗?(How slow is * really?)

2019-09-22 01:51发布

大家指出,该* { ... }选择是很慢的。 但是,它有多慢是真的吗?

我总是尽量避免,但有时是非常有用的。 例如: * + h1 { margin-top 1em; } * + h1 { margin-top 1em; }

Answer 1:

把它很干脆:通用选择*仅慢,因为有你的页面上的元素。

由于从右到左匹配的浏览器需要每个元素匹配它所有的候选规则 ,所有元素将匹配*就好了。 它本身并不影响性能,但是如果你在你的页面或一个非常复杂的DOM许多元素,这就是它据称变得缓慢,但即便如此,它并没有明显降低浏览器的性能。

即使像* + h1 ,例如,是合理的,因为如果你想利用匹配性能考虑,然后从右到左匹配的浏览器将测试选择只在h1第一要素,检查是否有出现的任何元素之前他们之前(这真的没有费多大力气为*基本上是有保证的匹配)。

您也不妨看看我的这个回答对一个类似问题关于* + * (这是两个通用选择!)。



文章来源: How slow is * really?