CSS3(2)--- 過渡(transition)


CSS3(2)--- 過渡(transition)

一、概念

1、什么是過渡

通俗理解 是從一個狀態 漸漸的過渡到 另外一個狀態。

比如一個盒子原先寬度為100px,當鼠標點擊時盒子的寬度變成200px,如果直接從100px變化到200px。從視覺上看去並不友好。我們更喜歡看到的是平滑的過渡。

2、浮動的語法

屬性語法格式

transition: 要過渡的屬性  花費時間  運動曲線  何時開始;
// 如果有多組屬性變化,還是用逗號隔開。前兩個屬性必須寫。后兩個可以不寫。運動曲線默認勻速。開始時間默認0秒。

屬性值

注意

- 如果想要所有的屬性都變化過渡, 寫一個all 就可以
- transition-duration 花費時間 單位是 秒 s (這個秒是一定需要的)
- 運動曲線 默認是 ease
- 默認是 0s 立馬開始
- 過渡寫到本身上 誰做過渡動畫,寫到誰身上(下面例子說明)

運動曲線示意圖


二、示例

1、示例一

效果

代碼

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>css3過渡</title>
	<style>
	div {
		width: 100px;
		height: 100px;
		background-color: pink;
		/*transition: width 0.5s ease 0s, height 0.3s; 多組屬性用逗號分隔*/
		transition: all 1s; /*  這里過渡是當前div,按照誰做過渡動畫,寫到誰身上,所以這里要寫在這里*/
	}
	div:hover {
		width: 400px;
		height: 300px;
	}
	</style>
</head>
<body>
	<div></div>
</body>
</html>

2、示例二

效果

代碼

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>CSS過渡</title>
	<style>
	div {
		width: 183px;
		height: 130px;
		border: 1px solid red;
		overflow: hidden;  /*多余部分隱藏*/
	}
	div img {
		width: 193px;
		height: 130px;
		transition: all 0.4s; /*所以變化,過渡時間0.4秒*/
	}
	div:hover img {
		margin-left: -10px;  /*移動*/
	}
	</style>
</head>
<body>
	<div>
		<img src="1.jpg" alt="">
	</div>
</body>
</html>

3、示例三

效果

代碼

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>css過渡</title>
	<style>
	* {
		margin: 0;
		padding: 0;
	}
	li {
		list-style: none;
	}
	.subnav {
		margin: 100px auto;
		width: 20px;
	}
	.subnav li {
		width: 20px;
		height: 20px;
		margin: 3px 0;
		background-color: pink;
		position: relative;
	}
	.subnav div {
		position: absolute;  /*子絕父相*/
		right: 0;
		top: 0;
		height: 20px;
		width: 0;
		background-color: purple;
		transition: all 0.6s;
		z-index: -1;  /*這里設置定位級別小於父類,所以父類浮在它上面*/
	}
	.subnav li:hover div {
		width: 100px;
	}
	</style>
</head>
<body>
	<div class="subnav">
		<ul>
			<li>
				<div></div>
			</li>
			<li><div></div></li>
			<li><div></div></li>
			<li><div></div></li>
			<li><div></div></li>
		</ul>
	</div>
</body>
</html>


``` 你如果願意有所作為,就必須有始有終。(16) ```


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM