CSS变形动画

过渡动画

css3的特征之一,可以在不使用flash或JavaScript的情况下,当元素从一种样式变换成另一种样式时为元素添加效果。

  • 过渡动画: 是从一个状态渐渐的过渡到另一个状态
  • 帧动画: 通过一帧一帧的画面按照固定顺序和速度播放,如电影胶片。

transition

  • 语法格式: transition:要过渡的属性 花费时间 运动曲线 何时开始; 如果有多组属性,使用逗号隔开。 1.transition-property:如果想要所以的属性都变化过渡,写一个all就可以 2.transition-duration: 花费时间,单位是秒s 比如:0.5s 这个单位是必须写的,ms 毫秒 3.transition-timing-function:运动曲线 默认是ease 4.transition-delay:规定过渡效果何时开始,默认是0
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
			div{
				width: 100px;
				height: 100px;
				background-color: pink;
				/* 多组属性用逗号分隔 */
				/* transition: width 0.5s ease 0s ,height 1s ease 0s ; */
				transition: all 10s;
				/* 过渡写到本身上,谁做过渡动画,就写到谁身上 */
			}
			div:hover{
				width: 800px;
				height: 800px;
			}
		</style>
	</head>
	<body>
		<div></div>
	</body>
</html>

复制代码

2D变形(CSS3)transform

transformCSS3具有颠覆性的特征之一,可以实现元素的位移、旋转、倾斜、缩放、甚至支持矩阵方式,配合过渡,可以取代大量之前只能靠Flash才可以实现的效果。

  • 位移 translate(x,y) x,y可以为负值
 translate(x,y)水平方向和垂直方向同时移动(也就是X轴和Y轴同时移动)
 translateX(x)仅水平方向移动(X轴移动)
 translateY(Y)仅垂直方向移动(Y轴移动)
复制代码
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
			div {
				width: 100px;
				height: 100px;
				background-color: pink;
				transition: all .6s;
			}

			div:hover {
				/*transform:位移, 第一个参数 x轴,第二个参数是y轴 */
				transform: translate(100px, 200px);
			}
		</style>
	</head>
	<body>
		<div></div>
	</body>
</html>

复制代码
  • 缩放 scale(x,y)

可以对元素进行水平和垂直方向的缩放

scale()的取值默认值是1,当值设置为0.010.99之间的任意值,作用是使一个元素缩小,而任何大于1.01的值是让元素方法

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
			div {
				width: 382px;
				height: 260px;
				border: 1px solid red;
				overflow: hidden;
			}

			div img {
				transition: all 1.6s;
			}

			div:hover img {
				transform: scale(1.1);
			}
		</style>
	</head>
	<body>
		<div><img src="images/1.jpg" alt=""></div>
	</body>
</html>

复制代码
  • 旋转 rotate(deg)

可以对元素进行旋转,正值为顺时针,负值为逆时针; 单位是deg

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
			div img {
				width: 100px;
				height: 100px;
				transition: all .6s;

			}

			div:hover img {
				transform: rotate(720deg);
			}
		</style>
	</head>
	<body>
		<div><img src="images/fengche.png"></div>
	</body>
</html>

复制代码

transform-origin可以调整元素转换变形的原点

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
			div img {
				width: 100px;
				height: 100px;
				transition: all .6s;
				/* 设置旋转中心点为 右下角 */
				transform-origin: right bottom;

			}

			div:hover img {
				transform: rotate(720deg);
			}
		</style>
	</head>
	<body>
		<div><img src="images/fengche.png"></div>
	</body>
</html>

复制代码
  • 倾斜 skew(deg,deg) 可以使元素一定的进度进行倾斜,可以为负值,第二个参数不写默认为0
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
			div {
				width: 200px;
				height: 200px;
				margin: 130px auto;
				background-color: pink;
				transition: all .5s;
			}

			div:hover {
				transform: skew(-720deg, 720deg);
			}
		</style>
	</head>
	<body>
		<div></div>
	</body>
</html>

复制代码

3D变形(CSS3)transform

参考地址

待续:2019年3月22日18:04:58
复制代码

事例代码地址

转载于:https://juejin.im/post/5c94f025f265da61014de227

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值