1. 程式人生 > >CSS3中的過渡、動畫和變換

CSS3中的過渡、動畫和變換

過程 效果 head document tip 隨著 http ext 屬性。

一、過渡

  過渡效果一般由瀏覽器直接改變元素的CSS屬性實現。

  a、transition屬性

  transition 屬性是一個簡寫屬性,用於設置四個過渡屬性:

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

  註釋:請始終設置 transition-duration 屬性,否則時長為 0,就不會產生過渡效果。 

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <
meta charset="UTF-8"> 5 <title>Document</title> 6 <style type="text/css"> 7 div{ 8 width: 100px; 9 height: 100px; 10 background: blue; 11 transition: width 2s,background 3s,3S linear 3s; 12 } 13 div:hover
{ 14 width: 300px; 15 background: red; 16 transition: width,background, 3s linear 2s; 17 } 18 </style> 19 </head> 20 <body> 21 <div> 22 23 </div> 24 </body> 25 </html>

  可以設置設置某個屬性的過渡持續時間(transition: width 2s,background 3s,3s linear 3s;),也可以設置所有的屬性的過渡的持續時間(transition: width,background,

3s linear 2s)屬性值和時間必須用逗號隔開;

  b、transition-property

  transition-property 屬性規定應用過渡效果的 CSS 屬性的名稱。(當指定的 CSS 屬性改變時,過渡效果將開始)。

  提示:過渡效果通常在用戶將鼠標指針浮動到元素上時發生。

  技術分享圖片

   c、transition-duration

   transition-duration 屬性規定完成過渡效果需要花費的時間(以秒或毫秒計)。

  技術分享圖片

  d、transition-timing-funtion

  transition-timing-function 屬性規定過渡效果的速度曲線。該屬性允許過渡效果隨著時間來改變其速度。

  技術分享圖片

   e、transition-delay

  transition-delay 屬性規定過渡效果何時開始。transition-delay 值以秒或毫秒計。

  技術分享圖片  

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Document</title>
 6     <style type="text/css">    
 7         div{
 8             width: 100px;
 9             height: 100px;
10             background: blue;
11         }
12         div:hover{
13             width: 300px;
14             background: red;
15             transition-property: width,background;
16             transition-duration: 3s;
17             transition-timing-function: linear;
18             transition-delay: 0ms;
19         }
20     </style>
21 </head>
22 <body>    
23     <div>
24         
25     </div>    
26 </body>
27 </html>

  其中過渡屬性之間用逗號隔開,可以為延遲時間和持續時間設置多個值,分別對應不同的屬性。

  變化過程

  技術分享圖片

  技術分享圖片

  技術分享圖片

  上面的過都效果只有鼠標懸停在元素上才會發生,當鼠標離開時,會恢復到元素的開始狀態,可以設置反向過渡,使元素的過渡樣式平滑的返回初始樣式。  

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Document</title>
 6     <style type="text/css">    
 7         div{
 8             width: 100px;
 9             height: 100px;
10             background: blue;
11             transition: width 2s,background 3s, 3s linear 3s;/*反向過渡*/
12         }
13         div:hover{
14             width: 300px;
15             background: red;
16             transition: width,background, 3s linear 2s;
17         }
18     </style>
19 </head>
20 <body>    
21     <div>
22         
23     </div>    
24 </body>
25 </html>

  技術分享圖片

  技術分享圖片

  技術分享圖片

  技術分享圖片

  技術分享圖片

  註意:

  Internet Explorer 10、Firefox、Opera 和 Chrome 支持 transition 屬性。Safari 支持替代的 -webkit-transition 屬性。

  註釋:Internet Explorer 9 以及更早版本的瀏覽器不支持 transition 屬性。

二、動畫  

  

CSS3中的過渡、動畫和變換