CSS(层叠样式表 Cascading Style Sheets,缩写为 CSS)
CSS用于设置网页的样式及布局,是一种样式语言。
CSS 被分为不同等级:CSS1 现已废弃, CSS2.1 是推荐标准,被运用得最广泛,而CSS3分成多个小模块且正在标准化中。
1. 浏览器渲染原理
参考谷歌开发者团队编写的文档
1)根据HTML元素构建DOM树;
2)根据CSS元素构建CSSOM树;
3)将DOM树和CSSOM树合并成一棵渲染树(render tree);
4)根据渲染树来布局,计算出每个节点的几何位置(文档流,盒模型,位置及大小);
5)最后,将每个节点绘制到屏幕上,根据层叠关系展示画面。
虽然网页的展示页面看似简单,但实则都是经过了上述的5个步骤。一旦我们修改了DOM树或CSSOM树,那只能再重复一遍上述步骤来进行重新渲染。
2.用2种方法实现CSS动画
当许多静止的画面(帧)以一定速度(如每秒30帧)连续播放时,人的肉眼因视觉残象产生了错觉误以为是活动的画面。
1)transition 过渡
CSS transitions 可以决定哪些属性发生动画效果 (明确地列出这些属性),何时开始 (设置 delay),持续多久 (设置 duration) 以及如何动画 (定义timing function,比如匀速地或先快后慢)。
过渡只从开始到结束变化。如要循环,则需要用animation
2)animation 动画
animation属性是animation-name
动画名,animation-duration
时长, animation-timing-function
过渡方式,animation-delay
延迟,animation-iteration-count
次数,animation-direction
方向,animation-fill-mode
填充模式和 animation-play-state
是否暂停 属性的一个简写属性形式。
学习CSS时,需要多写代码,多查文档,多试验。