最近看了阮一峰老師關(guān)于CSS優(yōu)化的文章,受益良多。這里分享一下我自己的理解。
1. 避免使用通配符選擇器
CSS選擇器如#id、.class等,匹配的是具體的元素,效率比較高。而通配符選擇器如*、div等,會匹配所有元素,造成性能損失。
/* 反面示例 */ * { margin: 0; padding: 0; } /* 正面示例 */ body { margin: 0; padding: 0; }
2. 避免使用后代選擇器和子選擇器
后代選擇器和子選擇器會對DOM樹進(jìn)行遍歷,若層級太深,會造成性能損失。
/* 反面示例 */ nav ul li a { color: #fff; } /* 正面示例 */ .nav-link { color: #fff; }
3. 盡量使用縮寫
提高代碼可讀性的同時,縮寫可以減小文件大小,從而加快加載速度。
/* 反面示例 */ padding-top: 10px; padding-right: 20px; padding-bottom: 30px; padding-left: 40px; /* 正面示例 */ padding: 10px 20px 30px 40px;
4. 避免使用@import
@import會阻塞頁面的渲染,影響加載速度。
5. 使用瀏覽器前綴
針對不同的瀏覽器,可以使用相應(yīng)的前綴,提高兼容性。
/* 反面示例 */ border-radius: 5px; /* 正面示例 */ border-radius: 5px; -webkit-border-radius: 5px; -moz-border-radius: 5px;
6. 使用合理的選擇器順序
在編寫CSS規(guī)則時,可以根據(jù)選擇器的權(quán)重和優(yōu)先級,合理安排選擇器順序。這樣可以提高渲染速度。
/* 反面示例 */ .box { color: #333; } .box div { color: #666; } .box div span { color: #999; } /* 正面示例 */ .box span { color: #999; } .box div { color: #666; } .box { color: #333; }
以上就是阮一峰老師關(guān)于CSS優(yōu)化的部分內(nèi)容,希望能對大家有所幫助。