CSS 总结(渲染原理+css动画transition/anim

2019-10-18  本文已影响0人  张德瘦嬢嬢

浏览器渲染原理

浏览器渲染必经之路

步骤:

三棵树
浏览器渲染三棵树.png
Paint绘制渲染
  1. 打开开发者工具
  2. 底部如果没用控制台什么的按esc调出
  3. 如果没有rendering工具,在三个原点(more tool)的地方调出
  4. 勾选第一个<input type="checkbox"> Painting Flashing
  5. 在调试运行过程中,如果页面有重新painting的时候,就会出现绿色的闪动,便于了解和理解painting过程


    打开浏览器 Paint Flashing
样式更新
  1. 极少数的时候运用鼠标hover等方式更新
  2. 绝大多数用的是JS更新样式
div.style.backgroundcolor='red' //新人才会在js里面用.style
div.style.display='none'
div.classList.add('red')  //高手会在js里面改样式
div.remove()

那写四种情况的渲染方式有没有不同呢?

  1. 全路渲染


    全路渲染.png
  2. 跳过layout


    跳过layout.png
  3. 跳过layout和paint.png


    跳过layout和paint.png
渲染优化

比如把left变成transform
比如css优化:使用will-change或者translate
比如JS优化:使用requestAnimationFrame代替setTimeout/setInterval
分步骤,每一步都可以优化,参考谷歌官方教程csstriggers看css具体哪些属性渲染了哪些步骤

CSS 动画

transition: all 2s;
transform:scale(1.3) ;
transform:translateX(30%) ;
transform:translate(30%,20px) ;
transform:translate3d(30%,20px,1px) ;
transform:rotate(45deg) ;

animation: .5s heart infinite alternate-reverse;
@keyframes heart {
  0%{
    transform: scale(1);
  }
  100%{
    transform: scale(1.2);
  }
@keyframes indentifier{
0%{top:0;left:0;}
30%{top:50px;}
100%{top:100px;left:100%;}
}
transform

四个常用功能:

  1. 位移translate
  2. 缩放scale
  3. 旋转rotate
  4. 倾斜skew
transform支translate
上一篇下一篇

猜你喜欢

热点阅读