我在想,解析和渲染性能可能會對CSS中的規則有什麼影響。CSS性能 - 分組還是不分組?
方法1:
.class1 {
margin: 10px;
padding: 20px;
color: #ccc;
}
.class2 {
margin: 10px;
padding: 30px;
color: #ddd;
}
.class3 {
margin: 20px;
padding: 30px;
color: #eee;
}
.class4 {
margin: 20px;
padding: 20px;
color: #fff;
}
VS approach2:
.class1,
.class2 {
margin: 10px;
}
.class3,
.class4 {
margin: 20px;
}
.class1,
.class4 {
padding: 20px;
}
.class2,
.class3 {
padding: 30px;
}
.class1 {
color: #ccc;
}
.class2 {
color: #ddd;
}
.class3 {
color: #eee;
}
.class4 {
color: #fff;
}
當然,我們說的是用同樣的規則分組大css文件,所以同樣的選擇有時會裂成許多塊。
它是否會影響css解析和渲染,足以放棄這種方法來支持更大的文件,但更乾淨並在一個選擇器中收集所有規則?
選擇器匹配可能很昂貴。在現實生活中,每個選擇器不只是一個類,而是2-3個嵌套類。因此,對於每個元素,瀏覽器必須匹配選擇器三次以應用所有規則。首先是邊距,然後是填充,然後應用顏色。第二種方法似乎非常昂貴。
此外,分組被採取到一個非常極端的水平。不按類似元素的邏輯進行分組,但實際上所有元素具有相同的規則值。 在我看來,它是過度的。 – kali187
overDRYing也是一個不好的做法 http://joelabrahamsson.com/the-dry-obsession/ – kali187