如何使用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>

来电图标将显示在网页上,并且由于动画,将观察到响铃效果。

结论

在现代科技市场中,客户需要更多网站参与。此时,动画在增强沟通方面发挥着至关重要的作用。动画的交互性促进了用户互动,从而改善了用户体验。如果您希望您的网站在竞争中脱颖而出,同时又受到目标受众的喜爱,那么聘请顶级网站开发公司在您的网站中加入动画将大有裨益。

更新于:2023年2月22日

711 次浏览

开启您的职业生涯

完成课程获得认证

开始学习
广告