前言大家都知道,对于网站来说,性能至关重要,css作为页面渲染和内容展现的重要环节,影响着用户对整个网站的第一体验 。因此,与其相关的性能优化是不容忽视的 。
对于性能优化我们常常在项目完成时才去考虑,经常在项目的末期,性能问题才会暴露出来,此时才进行一些相关的性能优化 。
文章插图
其实,如果我们从一开始编码,就注意一些细节问题,后面的工作量会小很多,下面我们来看看在书写CSS时,我们可以注意哪些细节,从而来提升CSS处理性能 。
先来看看这段代码:
<style> </style> ... <div class="red blue">这是什么颜色</div> <div class="blue red">这是什么颜色</div>你觉得这两块内容文字各是什么颜色呢???
答案,文章最后看图 。
回到主题:如何提升 CSS 性能?
一、减少 后代选择器 的使用
文章插图
先来了解一下后代选择器
div p {color: red;font-size: 14px; }样式选择器中间的空格是什么?它的名字是 —— 后代选择器 。如果项目很大,后代选择器非常多,这时候就很耗性能 。所以不建议使用没有意义的后代选择器,如:
.div p {// ... }后代选择器为什么会更消耗性能呢?
因为浏览器首先会找到所有 p 标签,然后再向上查找包含 class 为 div 标签 。这样一来如果代码中有很多 p 标签,无疑是会做很多重复工作的 。
二、减少使用 html 标签来定义 CSS 的方式,换成使用具体的 class
文章插图
浏览器会从右到左解析 CSS 选择器
.box div p a {// ... }浏览器会对上面的例子做如下的步骤处理:
1、首先找到页面所有的 <a> 元素
2、然后向上找到被 <p> 元素包裹的 <a> 元素
3、再向上查找到一直到 .box 的元素
从上面的步骤我们可以看出,越靠右的选择器越具有唯一性,浏览器解析 CSS 属性的效率就越高 。
所以一定换成使用具体的 class 编写 CSS 代码,可以有效的提升性能 。
三、避免 reflow 风险
文章插图
我们知道修改某些 CSS 属性会导致整个页面布局的重绘( repaint )/重排( reflow ) 。
推荐阅读
- 教你如何优雅地用Python连接MySQL数据库
- 淘宝直播录播总是被检测到违规 淘宝直播的一般违规如何处理
- ps如何导入/自制笔刷?
- 自媒体时代如何获得百万流量
- 自媒体时代?传统企业该如何搭建属于自己的私域流量?
- 如何泡好红茶红茶茶艺的十二道工序解读
- 如何泡好杯色香味俱全的红茶
- 如何用盖碗泡红茶红茶的盖碗泡法步骤
- 红茶要如何冲泡红茶又苦又涩是什么原因
- 红茶如何泡好喝红茶的冲泡方法