*css选择器的实际性能影响是什么?

*css选择器的实际性能影响是什么?,css,performance,css-selectors,Css,Performance,Css Selectors,可能重复: 我读到使用*CSS选择器并不理想,因为它需要更长的处理时间。然而,这到底是一个多大的问题?如果我的CSS中有以下内容,那么显示一个页面需要多长时间 #div1 *, #div2 * { float: none !important; width: auto !important; height: auto !important; text-align: left; position: static !important; } 在我看来,像图像这样的大型资产的连接速度和数量将产生

可能重复:

我读到使用*CSS选择器并不理想,因为它需要更长的处理时间。然而,这到底是一个多大的问题?如果我的CSS中有以下内容,那么显示一个页面需要多长时间

#div1 *,
#div2 * {
float: none !important;
width: auto !important;
height: auto !important;
text-align: left;
position: static !important; 
}
在我看来,像图像这样的大型资产的连接速度和数量将产生更大的影响。我所做的工作是移动优化,但页面大小(由于各种库)约为750KB,对此我无能为力

作为旁注,我知道使用!“重要”并不理想,但我继承的凌乱代码意味着在这种情况下它是必需的

优化CSS选择器的关键是关注最右侧 选择器,也称为键选择器(巧合?)。这里有一个非常好的例子 更昂贵的选择器:A.class0007*{}。虽然这个选择器 可能看起来更简单,但与之匹配的浏览器成本更高

因为浏览器从右向左移动,所以它首先检查所有 与键选择器“*”匹配的元素。这意味着浏览器必须 尝试将此选择器与页面中的所有元素匹配

优化CSS选择器的关键是关注最右侧 选择器,也称为键选择器(巧合?) 更昂贵的选择器:A.class0007*{}。尽管此选择器 可能看起来更简单,但与之匹配的浏览器成本更高

因为浏览器从右向左移动,所以它首先检查所有 与键选择器“*”匹配的元素。这意味着浏览器必须 尝试将此选择器与页面中的所有元素匹配


这感觉像是过早的优化:消除或减少大型资产将产生更大的影响。请记住,在移动设备上,处理器和内存受到限制,因此浏览器所做的工作越少越好。这感觉像是过早的优化:消除或减少大型资产将产生更大的影响。请记住,在移动设备上,处理器和内存都很有限,因此浏览器所做的工作越少越好。