iT邦幫忙

2022 iThome 鐵人賽

DAY 15
0
自我挑戰組

商科生初探網頁全端開發系列 第 15

Day15-CSS Transition

  • 分享至 

  • xImage
  •  

CSS中的Transition屬性,是為了改變不同外觀間轉換的屬性,只要加上它,就可以補足兩個外觀間轉換的動畫,使其看來較為生動有趣。

以下就拿hover作個例子,請看動圖:

這裡是設定當滑鼠移到class為circle的div時,將原本的天藍色方塊變為黃色圓形區塊,不難看出這轉場蠻生硬的。

因此我可以試著添加Transition屬性,來看看有什麼變化,我在.class下輸入transition: 1s;

由於Transition屬性的作用,讓這兩區塊的外觀轉換有了動畫感,上述示範的1s指花1秒的時間做轉換。

在Transition屬性下能作出很多有趣的設定:

transition:Property Name | Duration | Timing Fuction | Delay;

A:Property Name 可以指定特定屬性轉換請見示範

.class下輸入transition: background-color 1s;後,可以發現只有背景顏色的變換有動畫效果,方形轉換成圓形的動畫效果消失了。


B:Duration 意指轉換動畫持續的時間,請看動圖:

.class下輸入transition: background-color 1s, border-radius 3s;後,背景顏色的變換效果時間為1秒,方形轉換成圓形的動畫時間為3秒。


C:Timing Fuction 是個可以在個別區塊設定被動畫特效影響的屬性,請見動圖:

這裡新增一個<section>,用裡面的div來說明,此處設定為滑鼠移到下方div時新增左側外邊距300px(margin-left),動畫時間為2秒,不過在底下接著輸入div:nth-of-type(1){transition-timing-function: ease-in; } div:nth-of-type(2){transition-timing-function: ease-out;}區分兩個紫色div的變化。這裡的ease-in、ease-out算是加速度曲線,參考自,不過其速率不同,這個網站提供更多範本


D:Delay 此項功能可以設定執行transition前停留的時間,請見示範:

套用最前面的例子,但是多了transition-delay: 2s;使得在執行transition前有2秒的延遲。


透過上述例子,在設計按鈕等需要互動的介面時,transition是個不錯的屬性,能增添許多趣味性,但並非所有屬性都支援transition,可支援屬性請參考

明天接續介紹常用動畫屬性:Transform。


上一篇
Day14-CSS絕對(Absolute)單位/相對(Relative)單位
下一篇
Day16-CSS Transform
系列文
商科生初探網頁全端開發30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言