css知识总结

83 阅读2分钟

浏览器渲染原理

  • 浏览器向服务器请求到了HTML文档后便开始解析,产物是DOM,如果有CSS,会根据CSS生成CSS对象模型,然后再由DOM和CSSDOM合并产生渲染树,知道了所有节点的样式,便根据这些节点以及样式计算他们在浏览器中确切的大小和位置,这就是布局,最后再把节点绘制到浏览器上。

  • 解析HTML构建dom树,解析css构建css树----构建render树----布局render树----绘制render树

css动画

在研究CSS动画的过程中,需要先了解如何让一个元素变成我们希望的形状及可以移动位置。这时就需要我们使用到transform,其主要有translate位移、scale缩放、rotate旋转以及skew倾斜四个属性。主要有translate和animation。

transform

translate:

  • translateX()沿X轴平移;

  • translateY()沿Y轴平移;

  • translateZ()沿Z轴平移;

  • translate(x,y)移动至(x,y);

  • translate3d(x,y,z)三维空间内移动,一般比较少用到;

  • translate(-50%,-50%)可以实现绝对定位元素居中,但是要注意需要与left:50%;top:50%;结合使用。 接下来是scale:

  • scaleX 横向缩放(方向上的border也会缩放);

  • scaleY 纵向缩放(方向上的border也会缩放);

  • scale(x,y)整体缩放;

第三点是rotate:

  • rotate([<角度>|<0>]);
  • rotateX(~);
  • rotateY(~);
  • rotateZ(~);

最后是skew:

  • skewX([<角度>|<0>]);
  • skewY([<角度>|<0>]);
  • skew(x,y);(这个用的比较少)

animation

使用animation,就可以实现只补充关键帧的情况下进行多动画的合并。具体的语法如下:

@keyframes XXX {
	0%{}
	66.66%{}
	100%{}
}

即先声明关键帧,然后再添加声明:

animation: 时长|过渡方式|延迟|次数|方向|填充模式|是否暂停|动画名;

总结

css动画这块还是要多动手去写去尝试,光看文档是没用的。