CSS 如何创建来电动画效果
层叠样式表(CSS) 使开发人员能够为你的网页创建视觉效果,使其具有吸引力和用户友好性。CSS提供了多种属性,如颜色、柔性框、网格、动画、阴影等,可以对元素进行风格化处理,从而使网站对许多用户具有吸引力,对用户友好。
在这篇文章中,我们讨论了如何使用HTML和CSS来设计来电动画效果。为了创造这种效果,我们将使用CSS动画属性和盒状阴影属性。
CSS动画
它使开发人员能够为HTML元素添加动画效果,如移动、振动等,为我们的网页赋予美学价值。
语法
animation: animation-name | animation-duration | speed;
CSS盒状阴影属性
它使开发者能够在一侧提供暗影,而在另一侧提供亮影。
语法
box-shadow: values;
这个属性的值是 –
- None – 不在元素上显示阴影。它是默认值。
-
Offset-X – 阴影在水平方向上离元素有多远。offset-X的正值在元素的右边创建一个阴影。而负值则把阴影放到元素的左边。
-
Offset-Y – 将阴影从元素的垂直方向推到多远。偏移量-Y的正值在元素上方产生阴影,而负值在元素下方产生阴影。
-
Blur-radius – 它指定了阴影的清晰度。数字越大,阴影就越模糊,这意味着阴影会更大、更轻。
-
Spread- radius– 它规定了阴影的大小。如果它的值是正的,那么大小就会增加。如果它是负的,那么大小就会减少。
-
Color – 它指定了阴影的颜色。
-
Inset – 它使开发者能够创建阴影,使元素的内容看起来低于边界的效果。因此,它在边界内创建阴影。
例子
<!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图标来显示一个电话铃声的图标。
然后,我们使用了盒状阴影属性和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>
来电图标将显示在网页上,由于动画的作用,将观察到铃声的效果。
结论
现代科技市场的客户需要更多的网站参与。在这一点上,动画在加强沟通方面起到了至关重要的作用。动画的互动性鼓励用户互动,改善用户体验。如果你想让你的网站在竞争中脱颖而出,同时受到目标受众的喜爱,聘请一家顶级的网站开发公司在你的网站中加入动画将是有益的。