美文网首页
性能优化相关

性能优化相关

作者: shanshanfei | 来源:发表于2017-08-24 17:18 被阅读0次

CSS相关

讲浏览器回流、重绘等内容的一片翻译文章:
https://github.com/shanshanfei/translation/blob/master/%E6%B5%8F%E8%A7%88%E5%99%A8%E6%B8%B2%E6%9F%93%E6%9C%BA%E5%88%B6
1、写css样式的时候,注意:因为浏览器解析css文件时,解析规则是从右至左解析,所以最右边的为主解析器,这个主解析器最好不要匹配到N多元素,不然性能会很慢。如下示例:

// css
.container2 a {} //浏览器第一次会同时匹配到 .container1 下的a元素,然后再去排除不匹配的元素,严重影响加载性能
.container2 .link {} //这样就比上面的性能好很多

// html
<div class="container1">
    <a href=""></a>
    <a href=""></a>
    <!-- 成百上千个a元素 -->
    <a href=""></a>
</div>  
<div class="container2">
    <a href="" class="link"></a>
</div>

顺便提下css规则的优先级,是按照(a,b,c,d)的权重进行的:

  • a代表style属性等内联样式
  • b是选择器中id选择器的个数
  • c是选择器中类、伪类、属性选择器的个数
  • d是选择器中伪元素、标签选择器的个数
伪类和伪元素的区别(下面的话没怎么理解):

伪类是给某些选择器添加特殊的效果;
伪元素是将特殊效果添加到某些选择器上。

其实伪类相当于多添加一个类就可以实现,如:hover :active :last-child等;
伪元素相当于多添加一个元素才可以实现,如::first-letter ::after ::before。css3规定伪类是单冒号,伪元素是双冒号,目前为了兼容,伪元素也使用单冒号。

2、尽量减少在js中操作style样式,尽量将样式放置于css样式表中。原因是:js中操作样式可能会引起浏览器的reflow和repaint,增加性能开销;写在样式表中的话,可以在浏览器解析的阶段就基本确定样式。
3、html5 中的 window.requestAnimationFrame可以优化动画执行,原理也是减少了浏览器的回流和重绘。http://www.jianshu.com/p/864caa12bad7
4、可以提前设置好image的宽高,这样浏览器在解析的时候,就会预留出已知的空间来放置后续加载成功的图片,而不是等图片加载成功后,再重新reflow,可以提高性能。

链接

相关文章

  • IOS性能优化(多线程及GPU)(一)

    IOS性能优化(多线程及GPU) 性能优化相关知识链接 前言: 说到性能优化,这个话题挺广的,有的需要优化tabl...

  • jvm 相关阅读

    相关阅读 JVM性能优化1-JVM简介 JVM性能优化2-编译器 JVM性能优化3-垃圾回收 JVM性能优化4-C...

  • Android性能优化——性能优化的难题总结

    前言 现在都在谈性能优化或者在面试的时候被问到性能优化相关问题,那么我们为什么要做性能优化呢?以及性能优化的难点是...

  • Android性能优化--内存优化

    转载自:Android性能优化--内存优化 上一篇文章关于Android性能优化--启动优化探讨了启动优化相关的知...

  • 2020-04-11

    前端工程化相关 前端动画相关 优化前端性能

  • 组件的性能优化 - 01.单组件性能优化

    组件的性能优化 - 01.单组件性能优化 本文主要关注在React组件的性能优化的相关知识和原理上,便于对Reac...

  • 性能优化相关

    CSS相关 讲浏览器回流、重绘等内容的一片翻译文章:https://github.com/shanshanfei/...

  • 性能优化相关

    加载速度的优化,执行效率的优化,还有就是做一些措施改善用户的使用体验。 一般的性能问题出现的原因基本就是文件过大,...

  • 性能优化相关

    一、内存占用分析方法:1、单步注释法(适用于后台服务,逻辑较少,可以知道某个方法占用了多少内存,但是针对逻辑复杂的...

  • 性能优化相关

    入手点: 资源加载上 缩小首页渲染时间:关键资源的数量和大小做限制 删除不必要的代码和注释包括空格,尽量做到最小化...

网友评论

      本文标题:性能优化相关

      本文链接:https://www.haomeiwen.com/subject/lrvedxtx.html