《CSS 知识总结》

123 阅读2分钟

1.浏览器的渲染原理

  • 处理 HTML 并构建 DOM 树。

  • 处理 CSS构建 CSSOM 树。

  • DOMCSSOM 合并成一个渲染树。

  • 根据渲染树来布局,计算每个节点的位置。

  • 调用 GPU 绘制,合成图层,显示在屏幕上。

2. CSS 动画的两种做法(transition 和 animation)

transform属性允许旋转,缩放,倾斜或平移给定元素。

@keyframes关键帧 通过在动画序列中定义关键帧的样式来控制CSS动画序列中的中间步骤。

transition 过渡 作用是补充中间帧

常用语法 transition:属性名 时长 过渡方式 延迟 

常见过渡方式:
-   linear: 规定以相同速度开始至结束的过渡效果

-   ease: 规定慢速开始,然后变快,然后慢速结束的过渡效果

-   ease-in: 规定以慢速开始的过渡效果

-   ease-out: 规定以慢速结束的过渡效果

-   ease-in-out: 规定以慢速开始和结束的过渡效果

代码示例

<body>
  <div id="demo"></div>
</body>
#demo {
  width: 100px;
  height: 100px;
  border: 1px solid red;
  margin: 50px;
  transition: all 1s;
  /* all可以代表所有属性 */
}
#demo:hover {
  width: 200px;
  height: 150px;
}
预期效果:将鼠标移动到id为demo的border框内,border会在1秒内放大到宽200px、高150px

animation 动画

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

代码示例

<body>
  <div id="demo"></div>
</body>
#demo {
  width: 100px;
  height: 100px;
  border: 1px solid red;
  margin: 50px;
  animation: xxx 4s infinite;
}
@keyframes xxx {
  0% {
    transform: none;
  }
  50% {
    transform: translateX(200px);
  }
  100% {
    transform: translateX(200px) translateY(100px);
  }
}
预期效果:假设初始坐标为(0,0),前两秒border前往(200,0),  
后两秒border从(200,0)前往(200,100),然后直接从(200,100)跳到(0,0)。
如此循环往复。