前端攻城狮---css3之过渡动画

今天我们来学习一下css3的过渡动画transition

transition

我们先来看看要如何使用该属性要如何使用。

  • transition-property
  • transition-duration
  • transition-timing-function
  • transition-delay

如要传入4个值,第一个值表示需要监听过渡的属性,如left top等,但是大多数可以直接设置all,表示监听所有能够被监听到的属性。第二个值表示动画持续的时间。第三个值表示变化的速率,可以是自己定义的也可以css3提供的一些值,如:linear表示匀速=(cubic-bezier(0,0,1,1)),ease表示先慢后快最后再慢=(cubic-bezier(0.25,0.1,0.25,0.1)),我们可以看到cubic-bezier(0,0,1,1),就等价与速率的值我们可以去http://cubic-bezier.com/,自己去配去设置自定义速率。第四个值表示延时多少时间开始。

如何触发属性动画

触发一个行为,行为前和行为后属性发生了变化,从而触发属性动画。有哪些行为?下面我们来看看

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
	<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
	<title>Document</title>
	<style type="text/css">
		div{
			width: 60px;
			height: 60px;
			background-color: orange;
			position: absolute;
			top: 100px;
			left: 100px;
			transition:all 1s linear 0s;
		}
		div.haha{
			left: 900px;
		}
	</style>
</head>
<body>
	<div></div>

	<script type="text/javascript">
		var box = document.getElementsByTagName("div")[0];

		box.onclick = function(){
			box.className = "haha";
		}
	</script>
</body>
</html>

我们先给div设置了transition:all 1s linear 0s;表示对全部属性有效,动画时间1s,速率是匀速的,延时0s。然后通过点击事件给div设置了一个left:900px。点击事件触发先后left的值需要从100px-->900px,有属性发生了变法,从而有了动画。我们还可以通过伪去设置属性动画。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
	<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
	<title>Document</title>
	<style type="text/css">
		div{
			width: 30px;
			height: 30px;
			background: orange;
			 transition:all 2s linear 0s; 
		}
		div:hover{
			width:500px;
			height: 100px;
		}
	</style>
</head>
<body>
	<div></div>
</body>
</html>

当鼠标放上时,就会触发属性动画。那么哪些属性可以触发属性动画呢?比如宽高,margin,padding,border,字体背景,大部分都是满足的。

过渡动画相关知识点已经讲完,接下来会来讲js中dom相关知识点,如有表达错的请谅解,并请提出指出,且修改错误,望能共同进步。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值