CSS3动画
通过 CSS3,我们能够创建动画,这可以在许多网页中取代动画图片、Flash 动画以及 JavaScript 。
CSS3 @keyframes 规则
如需在 CSS3 中创建动画,您需要学习 @keyframes 规则。
@keyframes 规则用于创建动画。在 @keyframes 中规定某项 CSS 样式,就能创建由当前样式逐渐改为新样式的动画效果。
Internet Explorer 10、Firefox 以及 Opera 支持 @keyframes 规则和 animation 属性。
Chrome 和 Safari 需要前缀 -webkit-。
通过规定至少以下两项 CSS3 动画属性,即可将动画绑定到选择器:
- 规定动画的名称
- 规定动画的时长
CSS3 中的动画
动画是使元素从一种样式逐渐变化为另一种样式的效果。
您可以改变任意多的样式任意多的次数。
请用百分比来规定变化发生的时间,或用关键词 “from” 和 “to”,等同于 0% 和 100%。
0% 是动画的开始,100% 是动画的完成。
为了得到最佳的浏览器支持,您应该始终定义 0% 和 100% 选择器。
CSS3动画属性
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-806EaOUG-1598616322266)(C:\Users\Administrator\Desktop\1.jpg)]
CSS3 中有三个关于动画的样式属性transform
、transition
和animation
:
transform
transform
可以用来设置元素的形状改变。
主要有以下几种变形:rotate
(旋转)、scale
(缩放)、skew
(扭曲)、translate
(移动)和matrix
(矩阵变形)。
.transform-class {
transform : none | <transform-function> [ <transform-function> ]*
}
none
表示不做变换;``表示一个或多个变化函数,变化函数由函数名和参数组成,参数包含在()
里面,用空格分开,例如:
.transform-class {
transform : rotate(30deg) scale(2,3);
}
transform-origin 基点
所有的变形都是基于基点,基点默认为元素的中心点。用法:transform-origin: (x, y)
,其中 x 和 y 的值可以是百分比、rem 或者是 px 等等,也可以用表示位置的单词来表示例如:x 可以用left
、center
、right
;y 可以用top
、center
、bottom
。
.transform-class {
transform-origin: (left, bottom);
}
rotate 旋转
用法:rotate()
;表示通过指定的角度对元素进行旋转变形,如果是正数则顺时针旋转,如果是负数则逆时针旋转 ,比如transform: rotate(35deg);
.transform-rotate {
transform: rotate(30deg);
}
translate 移动
移动也分三种情况:translate([, ])
、translateX()
和translateY()
;分别代表水平和垂直的移动、水平方向的移动以及垂直方向同时移动,移动单位是 CSS 中的长度单位:px
、r