前端面试之CSS3动画

本文详细介绍了CSS3中的动画特性,包括@keyframes规则、transform变形、transition平滑过渡和animation动画属性。通过这些属性,开发者可以创建丰富的网页动画效果,支持旋转、缩放、移动、扭曲等多种变换。此外,还探讨了各属性的使用方法和浏览器兼容性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 中有三个关于动画的样式属性transformtransitionanimation

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 可以用leftcenterright;y 可以用topcenterbottom

.transform-class {
   
    transform-origin: (left, bottom);
}

rotate 旋转

用法:rotate();表示通过指定的角度对元素进行旋转变形,如果是正数则顺时针旋转,如果是负数则逆时针旋转 ,比如transform: rotate(35deg);

.transform-rotate {
   
    transform: rotate(30deg);
}

translate 移动

移动也分三种情况:translate([, ])translateX()translateY();分别代表水平和垂直的移动、水平方向的移动以及垂直方向同时移动,移动单位是 CSS 中的长度单位:pxr

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值