過渡 transition

過渡、動畫和變換是CSS3中新添加的3個特性,通過JavaScript操作CSS3是直接由瀏覽器引擎處理的,雖然能節省開銷,但是,會耗費大量的處理能力,把用戶的電腦搞得越來越慢,最後死機。

過渡:

過渡就是網頁上一個元素從一個狀態慢慢變到另一個狀態。比如:鼠標移動到關鍵字上,關鍵字變大,閃爍之類的,,,狀態可以任意發揮了,所以,可以創造出很多炫彩的效果,期待吧。廢話不多說,入正題咯大笑

先看一個效果,我對文字和圖片都做了過渡:


<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>transition</title>
	<style type="text/css">
		#main{ 
		margin:0; padding: 0;
		background-color: #A19393;
		padding:0 auto;
		}
		.text{
			color: white;
			font-size: x-large ;
		}
		.text:hover{
			font-size: 30px;
			
			padding: 4px;
			background-color: #F5AD3D;
		}
		h2{
			text-align: center;
		}
		h2:hover{
			color;red;
			background-color: #F5AD3D;
			padding: 4px;
			/*border: thin solid black ;*/
		}
		img:hover {
			opacity: 0.5;
		}
		
	</style>
</head>
<body>
	<div id="main">
		<p>
			<h2 >分享健身成果,一起進步</h3>
		<span class="text">圖片分享,見證每一個人的蛻變。結識同樣熱愛運動的朋友,讓健身不再是孤獨的堅持。</span>
		</p>

		<p class="image">
				<img src="E:\新建文件夾\images\f3.jpg" alt="騎單車">

		</p>

		<p>
			<span class="text">每一個腳印,都是對自己的肯定,你不孤單。</span>
		</p>
		
	</div>
</body>
</html>

主要是利用  :hover  選擇器,給.  text 類和img 加上當鼠標滑過的時候,文字放大,加上背景顏色,照片模糊。


欣賞了效果,但感覺美中不足的是,效果太突兀了有木有,但是通過設置transition的屬性可以平緩的過渡了。



加上transition-delay transition-duration 等等之後,效果就不那麼突兀,自然平緩的過渡到想要的結果。

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>transition</title>
	<style type="text/css">
		#main{ 
		margin:0; padding: 0;
		background-color: #A19393;
		padding:0 auto;
		}
		.text{
			color: white;
			font-size: x-large ;
			tranasition-delay: 100ms;
			transition-duration: 250ms; 
		}
		.text:hover{
			font-size: 30px;
			
			padding: 4px;
			background-color: #F5AD3D;
			transition-delay: 100ms;   
			transition-property: font-size,padding,background-color;
			transition-duration: 500ms; 
			transition-timing-function: linear; 
		}
		h2{
			text-align: center;
			tranasition-delay: 100ms;
			transition-duration: 250ms; 
		}
		h2:hover{
			color:red;
			background-color: #F5AD3D;
			padding: 4px;
			/*border: thin solid black ;*/
			transition-delay: 100ms;
			transition-duration: 500ms;   
			transition-property: all;
			transition-timing-function: ease-in-out;
		}
		img{
			tranasition-delay: 100ms;
			transition-duration: 250ms; 
		}
		img:hover {
			opacity: 0.5;
			transition-delay: 100ms;
			transition-duration: 500ms;   
			transition-property: all;
		}

	</style>
</head>
<body>
	<div id="main">
		<p>
			<h2 >分享健身成果,一起進步</h3>
		<span class="text">圖片分享,見證每一個人的蛻變。結識同樣熱愛運動的朋友,讓健身不再是孤獨的堅持。</span>
		</p>

		<p class="image">
				<img src="E:\新建文件夾\images\f3.jpg" alt="騎單車">

		</p>

		<p>
			<span class="text">每一個腳印,都是對自己的肯定,你不孤單。</span>
		</p>
		
	</div>
</body>
</html>

雖然改動不大,但是給用戶的感覺絕對比不用好,還有,爲了更加自然,鼠標移開之後,元素也得緩慢的變回去,所以得用反向過渡,如:
.text{
			color: white;
			font-size: x-large ;
			tranasition-delay: 100ms;/*反向過渡*/
			transition-duration: 250ms; 
		}

transiton-property 的意思是給什麼屬性應用過渡,比如給字體字號使用就寫font-zize.背景顏色就使用 backgroundcolor.......,只需要寫屬性,或者簡單一點,all 代表全部屬性。

transition-timing-function 的意思是計算初始值和最終只之間的中間值,表示爲4個點的三次貝塞爾曲線(貝塞爾曲線後面再寫),不懂可以挨着試試,反正就5個。。閉嘴

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章