如何使用CSS建立來電動畫效果?
級聯樣式表 (CSS) 使開發人員能夠為網頁建立視覺效果,使其更具吸引力且使用者友好。CSS 提供各種屬性,例如顏色、flexbox、網格、動畫、陰影等,以設定元素的樣式,從而建立對許多使用者具有吸引力且使用者友好的網站。
在本文中,我們討論瞭如何使用 HTML 和 CSS 設計來電動畫效果。為了建立此效果,我們將使用 CSS 動畫屬性和 box-shadow 屬性。
CSS 動畫
它使開發人員能夠為 HTML 元素新增動畫效果,例如移動、振動等,從而為我們的網頁增添美感。
語法
animation: animation-name | animation-duration | speed;
CSS box-shadow 屬性
它使開發人員能夠在一側提供深色陰影,而在另一側提供淺色陰影。
語法
box-shadow: values;
此屬性的值為:
無 - 元素上不顯示陰影。這是預設值。
水平偏移 - 將陰影從元素水平移動多遠。offset-X 的正值會在元素右側建立陰影。而負值則將陰影置於元素左側。
垂直偏移 - 將陰影從元素垂直移動多遠。offset-Y 的正值會在元素上方建立陰影,而負值則會在元素下方建立陰影。
模糊半徑 - 它指定陰影的清晰度。數字越大,陰影越模糊,這意味著陰影會更大更淺。
擴充套件半徑 - 它指定陰影的大小。如果其值為正,則大小增加。如果為負,則大小減小。
顏色 - 它指定陰影的顏色。
內陰影 - 它使開發人員能夠建立陰影,從而使元素的內容看起來位於邊框下方。因此,它在邊框內建立陰影。
示例
<!DOCTYPE html> <html> <head> <style> #demo { border: 5px solid; padding: 10px 15px; box-shadow: -5px -10px 0px 5px yellow; } </style> </head> <body> <h1>The box-shadow property</h1> <article id="demo"> <p>This is an article element with a shadow. It contains four values that are offset-X (horizontal distance), offset-Y (vertical distance), spread radius and color. </p> </article> </body> </html>
建立來電動畫效果
在下面的示例中,我們嘗試使用 CSS Font Awesome 圖示顯示正在響鈴的電話圖示。
然後,我們使用 box-shadow 屬性和 CSS 動畫來建立響鈴效果。為了控制動畫的順序,我們使用了 @keyframes。
示例
<!DOCTYPE html> <html> <head> <title>Incoming Call Animation</title> <link rel="stylesheet" href= "https://pro.fontawesome.com/releases/v5.10.0/css/all.css"> <style> body{ height: 80%; margin: 10px; padding: 0; display: flex; align-items: center; justify-content: center; background: black; } section{ position: absolute; top: 10%; display: flex; justify-content: center; align-items: center; border: 2px solid orange; height: 65%; width: 40%; } .call{ position: relative; background: black; color: orange; font-size: 35px; font-weight: bold; width: 70px; height: 70px; border-radius: 100%; border: solid 5px black; animation: anim 2s ease-in infinite, vibration 2s ease-in infinite; } .img{ position: absolute; top: 20px; left: 20px; height: 60px; width: 50px; } @keyframes anim { 0% { box-shadow: 0 1px 0 4px #ffffff; } 10%{ box-shadow: 0 1px 0 8px rgba(255, 165, 0, 1); } 25% { box-shadow: 0 1px 0 12px rgba(255, 210, 128, 1), 0 1px 0 16px rgba(255, 201, 102, 1); } 50% { box-shadow: 0 2px 5px 10px rgba(255, 184, 51, 1), 0 2px 5px 23px rgba(248, 248, 255, 1); } } @keyframes vibration { 0% { transform: rotate(0deg); } 25% { transform: rotate(20deg); } 50% { transform: rotate(0deg); } 75% { transform: rotate(-15deg); } 100% { transform: rotate(0deg); } } </style> </head> <body> <section> <div class= "call"> <i class= "fas fa-solid fa-phone img"> </i> </div> </section> </body> </html>
來電圖示將顯示在網頁上,並且由於動畫,將觀察到響鈴效果。
結論
在現代科技市場中,客戶需要更多網站參與。此時,動畫在增強溝通方面發揮著至關重要的作用。動畫的互動性促進了使用者互動,從而改善了使用者體驗。如果您希望您的網站在競爭中脫穎而出,同時又受到目標受眾的喜愛,那麼聘請頂級網站開發公司在您的網站中加入動畫將大有裨益。