如何使用 CSS 创建来电动画效果?
层叠样式表 (CSS) 使开发人员能够为网页创建视觉效果,使其更具吸引力且用户友好。CSS 提供了各种属性,例如颜色、弹性框、网格、动画、阴影等,用于设置元素的样式,从而打造出吸引众多用户且用户友好的网站。
在本文中,我们讨论了如何使用 HTML 和 CSS 设计来电动画效果。为了创建此效果,我们将使用 CSS 动画属性和 box-shadow 属性。
CSS 动画
它使开发人员能够向 HTML 元素添加移动、振动等动画效果,从而为网页增添美感。
语法
animation: animation-name | animation-duration | speed;
CSS Box-shadow 属性
它允许开发人员在一侧提供深色阴影,而在另一侧提供浅色阴影。
语法
box-shadow: values;
此属性的值为 −
None − 元素上不显示阴影。这是默认值。
Offset-X − 将阴影水平推离元素的距离。Offset-X 为正值时,阴影会移到元素的右侧。负值时,阴影会移到元素的左侧。
Offset-Y − 将阴影垂直推离元素的距离。正值的 offset-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 图标显示一个电话铃声图标。
然后,我们使用 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>
网页上将显示来电图标,并通过动画呈现铃声效果。
结论
现代科技市场的客户需要更多网站参与度。此时,动画在增强沟通方面发挥着至关重要的作用。动画的交互特性鼓励用户互动,从而提升用户体验。如果您想让您的网站在竞争中脱颖而出,并同时受到目标受众的喜爱,聘请一家顶级网站开发公司在您的网站中添加动画将大有裨益。
相关文章
有用资源
css 参考教程 - 该教程包含有关 css 的更多信息:https://www.cainiaomax.com/css/

