html动画制作

一、2D 转换之 translate
1、 2D 转换
2D 转换是改变标签在二维平面上的位置和形状
移动: translate
旋转: rotate
缩放: scale

2、 translate 语法
x 就是 x 轴上水平移动
y 就是 y 轴上水平移动

transform: translate(x, y) 
transform: translateX(n) 
transfrom: translateY(n)

3、重点知识点
2D 的移动主要是指 水平、垂直方向上的移动
translate 最大的优点就是不影响其他元素的位置
translate 中的100%单位,是相对于本身的宽度和高度来进行计算的
行内标签没有效果

4、代码演示

div { 
background-color: lightseagreen; 
width: 200px; 
height: 100px; 
/* 平移 */ 
/* 水平垂直移动 100px */
/* transform: translate(100px, 100px); */
/* 水平移动 100px */
/* transform: translate(100px, 0) */ 
/* 垂直移动 100px */
/* transform: translate(0, 100px) */ 
/* 水平移动 100px */ 
/* transform: translateX(100px); */ 
/* 垂直移动 100px */
transform: translateY(100px) 
}

二、2D 转换 rotate
1、rotate 旋转
2D 旋转指的是让元素在二维平面内顺时针或者逆时针旋转

2、rotate 语法

/* 单位是:deg */ 
transform: rotate(度数)

3、 重点知识点
rotate 里面跟度数,单位是 deg
角度为正时,顺时针,角度为负时,逆时针
默认旋转的中心点是元素的中心点

4、 代码演示

img:hover { 
transform: rotate(360deg)
}

5、设置元素旋转中心点(transform-origin)
5.1 transform-origin 基础语法

transform-origin: x y;

5.2 重要知识点
注意后面的参数 x 和 y 用空格隔开
x y 默认旋转的中心点是元素的中心 (50% 50%),等价于 center center
还可以给 x y 设置像素或者方位名词( top 、 bottom 、 left 、 right 、 center )

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

2、 语法

transform: scale(x, y)

3、知识要点
注意,x 与 y 之间使用逗号进行分隔
transform: scale(1, 1) : 宽高都放大一倍,相当于没有放大
transform: scale(2, 2) : 宽和高都放大了二倍
transform: scale(2) : 如果只写了一个参数,第二个参数就和第一个参数一致
transform:scale(0.5, 0.5) : 缩小
scale 最大的优势:可以设置转换中心点缩放,默认以中心点缩放,而且不影响其他盒子

4、代码演示

div:hover { 
/* 注意,数字是倍数的含义,所以不需要加单位 */ 
/* transform: scale(2, 2) */
 /* 实现等比缩放,同时修改宽与高 */
  /* transform: scale(2) */ 
  /* 小于 1 就等于缩放*/ 
  transform: scale(0.5, 0.5) }

四、2D 转换综合写法以及顺序问题
1、 知识要点
同时使用多个转换,其格式为 transform: translate() rotate() scale()
顺序会影响到转换的效果(先旋转会改变坐标轴方向)
但我们同时有位置或者其他属性的时候,要将位移放到最前面

2、代码演示

div:hover { 
transform: translate(200px, 0) rotate(360deg) scale(1.2) 
}

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

2、动画的基本使用
先定义动画
在调用定义好的动画

3、语法格式(定义动画)

@keyframes 动画名称 {
    0% {width: 100px; 
       }
    100% {width: 200px 
 		} 
 	}

4、语法格式(使用动画)

div {
/* 调用动画 */ 
animation-name: 动画名称; 
/* 持续时间 */ 
animation-duration: 持续时间; 
}

5、动画序列
0% 是动画的开始,100 % 是动画的完成,这样的规则就是动画序列
在 @keyframs 中规定某项 CSS 样式,就由创建当前样式逐渐改为新样式的动画效果
动画是使元素从一个样式逐渐变化为另一个样式的效果,可以改变任意多的样式任意多的次

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

6、代码演示

<style> 
	div {
      
		width: 100px
  • 7
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值