CSS 如何创建来电动画效果

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>

来电图标将显示在网页上,由于动画的作用,将观察到铃声的效果。

结论

现代科技市场的客户需要更多的网站参与。在这一点上,动画在加强沟通方面起到了至关重要的作用。动画的互动性鼓励用户互动,改善用户体验。如果你想让你的网站在竞争中脱颖而出,同时受到目标受众的喜爱,聘请一家顶级的网站开发公司在你的网站中加入动画将是有益的。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

CSS 教程