html5中动画总结,HTML5-CSS3总结学习(二)

一、rotate2d旋转指的是让元素在2维平面内顺时针旋转或者逆时针旋转

使用步骤:给元素添加转换属性 transform

属性值为 rotate(角度) 如 transform:rotate(30deg) 顺时针方向旋转30度div{

transform: rotate(0deg);

}

三角div {

position: relative;

width: 249px;

height: 35px;

border: 1px solid #000;

}

div::after {

content: "";

position: absolute;

top: 8px;

right: 15px;

width: 10px;

height: 10px;

border-right: 1px solid #000;

border-bottom: 1px solid #000;

transform: rotate(45deg);

transition: all 0.2s;

}

/* 鼠标经过div 里面的三角旋转 */

div:hover::after {

transform: rotate(225deg);

}

二、设置元素旋转中心点(transform-origin)transform-origin 基础语法transform-origin: x y;

重要知识点注意后面的参数 x 和 y 用空格隔开

x y 默认旋转的中心点是元素的中心 (50% 50%),等价于 center center

还可以给 x y 设置像素或者方位名词(top、bottom、left、right、center)

旋转中心案例div {

width: 200px;

height: 200px;

background-color: pink;

margin: 100px auto;

transition: all 1s;

/* 1.可以跟方位名词 */

/* transform-origin: left bottom; */

/* 2. 默认的是 50% 50% 等价于 center center */

/* 3. 可以是px 像素 */

transform-origin: 50px 50px;

}

div:hover {

transform: rotate(360deg);

}

三、2D 转换之 scalescale 的作用用来控制元素的放大与缩小

语法transform: scale(x, y)

知识要点注意,x 与 y 之间使用逗号进行分隔

transform: scale(1, 1): 宽高都放大一倍,相当于没有放大

transform: scale(2, 2): 宽和高都放大了二倍

transform: scale(2): 如果只写了一个参数,第二个参数就和第一个参数一致

transform:scale(0.5, 0.5): 缩小

scale 最大的优势:可以设置转换中心点缩放,默认以中心点缩放,而且不影响其他盒子

代码演示div:hover {

/* 注意,数字是倍数的含义,所以不需要加单位 */

/* transform: scale(2, 2) */

/* 实现等比缩放,同时修改宽与高 */

/* transform: scale(2) */

/* 小于 1 就等于缩放*/

transform: scale(0.5, 0.5)

}

四、 2D 转换综合写法以及顺序问题知识要点同时使用多个转换,其格式为 transform: translate() rotate() scale()

顺序会影响到转换的效果(先旋转会改变坐标轴方向)

但我们同时有位置或者其他属性的时候,要将位移放到最前面

代码演示div:hover {

transform: translate(200px, 0) rotate(360deg) scale(1.2)

}

五、 动画(animation)什么是动画动画是 CSS3 中最具颠覆性的特征之一,可通过设置多个节点来精确的控制一个或者一组动画,从而实现复杂的动画效果

动画的基本使用先定义动画

在调用定义好的动画

语法格式(定义动画)@keyframes 动画名称 {

0% {

width: 100px;

}

100% {

width: 200px

}

}语法格式(使用动画)div {

/* 调用动画 */

animation-name: 动画名称;

/* 持续时间 */

animation-duration: 持续时间;

}动画序列0% 是动画的开始,100 % 是动画的完成,这样的规则就是动画序列

在 @keyframs 中规定某项 CSS 样式,就由创建当前样式逐渐改为新样式的动画效果

动画是使元素从一个样式逐渐变化为另一个样式的效果,可以改变任意多的样式任意多的次数

用百分比来规定变化发生的时间,或用 from 和 to,等同于 0% 和 100%

代码演示

div {

width: 100px;

height: 100px;

background-color: aquamarine;

animation-name: move;

animation-duration: 0.5s;

}

@keyframes move{

0% {

transform: translate(0px)

}

100% {

transform: translate(500px, 0)

}

}

六、动画常见属性常见的属性

bVcRKa9代码演示div {

width: 100px;

height: 100px;

background-color: aquamarine;

/* 动画名称 */

animation-name: move;

/* 动画花费时长 */

animation-duration: 2s;

/* 动画速度曲线 */

animation-timing-function: ease-in-out;

/* 动画等待多长时间执行 */

animation-delay: 2s;

/* 规定动画播放次数 infinite: 无限循环 */

animation-iteration-count: infinite;

/* 是否逆行播放 */

animation-direction: alternate;

/* 动画结束之后的状态 */

animation-fill-mode: forwards;

}

div:hover {

/* 规定动画是否暂停或者播放 */

animation-play-state: paused;

}

七、 动画简写方式动画简写方式/* animation: 动画名称 持续时间 运动曲线 何时开始 播放次数 是否反方向 起始与结束状态 */

animation: name duration timing-function delay iteration-count direction fill-mode

知识要点简写属性里面不包含 animation-paly-state

暂停动画 animation-paly-state: paused; 经常和鼠标经过等其他配合使用

要想动画走回来,而不是直接调回来:animation-direction: alternate

盒子动画结束后,停在结束位置:animation-fill-mode: forwards

代码演示animation: move 2s linear 1s infinite alternate forwards;

八、速度曲线细节速度曲线细节animation-timing-function: 规定动画的速度曲线,默认是ease

bVcRKbc代码演示div {

width: 0px;

height: 50px;

line-height: 50px;

white-space: nowrap;

overflow: hidden;

background-color: aquamarine;

animation: move 4s steps(24) forwards;

}

@keyframes move {

0% {

width: 0px;

}

100% {

width: 480px;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值