如何使用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>
來電圖示將顯示在網頁上,並且由於動畫,將觀察到響鈴效果。
結論
在現代科技市場中,客戶需要更多網站參與。此時,動畫在增強溝通方面發揮著至關重要的作用。動畫的互動性促進了使用者互動,從而改善了使用者體驗。如果您希望您的網站在競爭中脫穎而出,同時又受到目標受眾的喜愛,那麼聘請頂級網站開發公司在您的網站中加入動畫將大有裨益。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP