CSS 如何创建流星动画效果

CSS 如何创建流星动画效果

流星看起来像是寒冷的夜空中产生热量的震动的闪光指示。流星效果是黑色主题网站中最独特的背景效果之一。流星动画是一个很好的示例,它在其余内容加载时可以吸引您的注意力。这个效果可以在页面加载器和用户界面中使用。

在本文中,我们将讨论使用CSS创建流星动画效果的方法。为此,我们将使用CSS的各种属性,如动画、溢出、滤镜、变换、n-th child属性、:before和:after伪选择器。

步骤

以下是创建流星动画效果的步骤:

第1步 - 使用HTML创建星星的基本设计。为天空创建一个section元素和九个

元素作为星星。

第2步 - 为使星星朝45度方向下落,使用section元素的transform属性。

第3步 - 根据您的需求对齐p元素。

第4步 - 使用position和filler属性创建旋转的球体。使用border-radius属性使其呈圆形。

第5步 - 使用:before和:after伪选择器为星星设置before和after效果。

第6步 - 使用n-th child属性为星星添加动画效果。指定每个n-th child的位置。

第7步 - 使用@keyframes为星星的头部和尾部指定宽度。使用@-webkit-keyframes创建流星效果。

使用的属性

我们使用了以下CSS属性:

:nth-child(n)选择器

:nth-child(n)是一个CSS伪类选择器,用于根据元素在兄弟元素组中的位置匹配元素。它匹配所有nth child元素。n可以是数字、关键字或任何公式。

语法

element :nth-child(n){
   Css declarations;
}

括号中的参数” n “表示选择或匹配元素的模式。它可以是奇数或偶数的函数符号。

奇数值表示在系列中的位置是奇数的项,例如1、3、5等。同样,偶数值表示在系列中的位置是偶数的项,例如2、4、6等。

CSS动画

CSS的动画属性允许我们在一定时间间隔内更改元素的各种样式属性,从而产生动画效果。

@keyframes用于指定在给定的时间段内动画中发生的情况。通过在动画期间为某些特定的“帧”指定CSS属性,从0%(动画开始)到100%(动画结束)的百分比来完成这个过程。

滤镜属性

它使开发者可以为HTML元素添加透明度、模糊和饱和度等视觉效果。

语法

filter: none | blur()| drop-shadow() | invert() | opacity() | saturate() | sepia() | url() | brightness()| contrast();

背景 - 它使我们能够在HTML元素的背景中添加视觉效果。

Box-shadow - 它使我们能够在HTML元素上添加阴影。

Transform - 这个属性使我们能够向元素添加2D或3D转换。它允许您对元素进行转换、旋转、缩放、移动、倾斜等操作。

示例

<!DOCTYPE html>
<html>
<head>
   <title> Shooting Star Animation Effect </title>
   <style>
      *{
         margin: 0;
         padding: 0;
         box-sizing: border-box;
      }
      body{
         overflow: hidden;
      }
      div{
         position: absolute;
         top: 0;
         left: 0;
         background: #000;
         background-position-x: center;
         background-size: cover;
         width: 100%;
         height: 100vh;
         animation: background 68s linear infinite;
      }
      @keyframes background {
         0%{ transform:scale(1);}
         55%{ transform:scale(1.3);}
         100%{ transform: scale(1);}
      }
      span{
         position: absolute;
         left: 50%;
         top: 45%;
         width: 5px;
         height: 5px;
         background: white;
         border-radius: 50%;
         box-shadow: 0 1px 0 5px rgba(254, 254, 255, 0.2), 0 1px 0 7px rgba(245, 254, 255, 0.1), 0 1px 21px rgba(253, 253, 245, 1) ;
         animation: anim 3s ease-in-out infinite;
      }
      span::before{
         content: '';
         width: 290px;
         height: 2px;
         position: absolute;
         top: 53%;
         transform: translateY(-45%);
         background: linear-gradient(90deg, rgba(255, 255, 255, 1), transparent);
      }
      @keyframes anim {
         0%{ transform: rotate(325deg) translateX(0); opacity: 1; }
         40%{ opacity: 0.8; }
         70%{ opacity: 1; }
         100%{ transform: rotate(325deg) translateX(-1400px); opacity: 0; }
      }
      span:nth-child(1){
         top: 0;
         right: 0;
         left: inherit;
         animation-delay: 0 ;
         animation-duration: 1s;
      }
      span:nth-child(2){
         top: 0;
         right: 70px;
         left: inherit;
         animation-delay: 0.3s;
         animation-duration: 4s;
      }
      span:nth-child(3){
         top: 70px;
         right: 0px;
         left: inherit;
         animation-delay: 0.3s ;
         animation-duration: 3s;
      }
      span:nth-child(4){
         top: 0;
         right: 170px;
         left: initial;
         animation-delay: 0.7s;
         animation-duration: 3s;
      }
   </style>
</head>
<body>
   <div>
      <span> </span>
      <span> </span>
      <span> </span>
      <span> </span>
      <span> </span>
      <span> </span>
   </div>
</body>
</html>

结论

在本文中,我们看到了如何使用CSS创建流星效果。在线动画是网站构建者使用的重要工具,以吸引更多的观众,现在网页设计已经显著改进。大多数人试图更频繁地使用它,不仅仅是为了填充页面,还为了展示页面应该如何被阅读。动画用于显示表单错误,点击位置,增加转化率等等。

动画经常吸引用户的注意力,这就是为什么它们被使用的原因。此外,动画可以用来在内容加载时转移用户的注意力,给人一种它加载得更快的印象,让他们可以立即观察到移动或进展。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程

CSS 精选笔记