8款使用 CSS3 实现超炫的 Loading(加载)的动画效果

针对“8款使用 CSS3 实现超炫的 Loading(加载)的动画效果”的完整攻略,我会结合Markdown格式进行详细的讲解,包含示例说明,具体如下:

1. 准备工作

首先,我们需要准备一些基本的资源文件,包括:

  • HTML 文件

该文件包含了我们要添加 Loading 动画的页面内容。

  • CSS 文件

该文件用于编写 Loading 动画的样式和相关属性。

  • 相关图片素材

包括 Loading 动画的背景图片、加载图标等。

准备好以上的资源文件后,我们就可以愉快地开始制作超炫的 Loading 动画了。

2. 制作 Loading 动画

接下来,我们将针对8款使用 CSS3 实现超炫的 Loading(加载)的动画效果进行讲解,具体如下:

2.1 方块旋转 Loading 动画

示例代码:

<div class="loading-square-rotate">
  <div class="loading-square-rotate-inner"></div>
</div>
.loading-square-rotate {
  display: inline-block;
  position: relative;
  width: 64px;
  height: 64px;
}
.loading-square-rotate-inner {
  width: 100%;
  height: 100%;
  position: absolute;
  animation: loading-square-rotate 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
}
@keyframes loading-square-rotate {
  0% {
    transform: perspective(120px) rotateX(0deg) rotateY(0deg);
  }
  50% {
    transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
  }
  100% {
    transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
  }
}

2.2 方块缩放 Loading 动画

示例代码:

<div class="loading-square-scale"></div>
.loading-square-scale {
  display: inline-block;
  position: relative;
  width: 64px;
  height: 64px;
}
.loading-square-scale::before {
  content: "";
  display: block;
  margin: 0 auto;
  width: 50%;
  height: 50%;
  background-color: white;
  animation: loading-square-scale 1.2s infinite ease-in-out;
}
@keyframes loading-square-scale {
  0% {
    transform: scale(0);
  }
  100% {
    transform: scale(1);
  }
}

2.3 音符跳动 Loading 动画

示例代码:

<div class="loading-notes">
  <div class="loading-notes-before"></div>
  <div class="loading-notes-after"></div>
</div>
.loading-notes {
  position: relative;
  display: inline-block;
  width: 40px;
  height: 40px;
}
.loading-notes-before {
  content: "";
  position: absolute;
  top: 0;
  left: 8px;
  right: 8px;
  height: 6px;
  border-radius: 100px 100px 0 0;
  background-color: #fff;
}
.loading-notes-after {
  position: absolute;
  top: 16px;
  left: 0;
  right: 0;
  height: 24px;
  border-radius: 20px;
  background-color: #fff;
  animation: loading-notes 1s infinite ease-in-out;
}
@keyframes loading-notes {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-6px);
  }
  100% {
    transform: translateY(0);
  }
}

2.4 书籍翻页 Loading 动画

示例代码:

<div class="loading-book">
  <div class="loading-book-page"></div>
  <div class="loading-book-cover"></div>
</div>
.loading-book {
  position: relative;
  display: inline-block;
  width: 40px;
  height: 40px;
}
.loading-book-page {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 50%;
  background-color: #487eb0;
  animation: loading-book-page 1.5s infinite ease-in-out;
}
.loading-book-cover {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 50%;
  background-color: #44c767;
  animation: loading-book-cover 1.5s infinite ease-in-out;
}
@keyframes loading-book-page {
  0% {
    transform: rotateY(0);
  }
  33% {
    transform: rotateY(-180deg);
  }
  66%,
  100% {
    transform: rotateY(-360deg);
  }
}
@keyframes loading-book-cover {
  0% {
    transform: rotateY(-180deg);
  }
  33% {
    transform: rotateY(-360deg);
  }
  66%,
  100% {
    transform: rotateY(0);
  }
}

2.5 内切圆 Loading 动画

示例代码:

<div class="loading-circle">
  <div class="loading-circle-inner"></div>
</div>
.loading-circle {
  position: relative;
  display: inline-block;
  width: 40px;
  height: 40px;
}
.loading-circle-inner {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border-top-color: #fff;
  border-bottom-color: #fff;
  border-style: solid;
  border-width: 4px;
  animation: loading-circle 0.75s infinite linear;
}
@keyframes loading-circle {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(360deg);
  }
}

2.6 点光谱 Loading 动画

示例代码:

<div class="loading-dots">
  <div class="loading-dots-dot"></div>
  <div class="loading-dots-dot"></div>
  <div class="loading-dots-dot"></div>
</div>
.loading-dots {
  position: relative;
  display: inline-block;
  width: 40px;
  height: 40px;
  align-content: center;
}
.loading-dots-dot {
  position: relative;
  height: 8px;
  width: 8px;
  border-radius: 50%;
  background-color: #fff;
  animation: loading-dots 1.4s infinite ease-in-out both;
}
.loading-dots-dot:nth-child(1) {
  animation-delay: -0.24s;
}
.loading-dots-dot:nth-child(2) {
  animation-delay: -0.12s;
}
@keyframes loading-dots {
  0%,
  80%,
  100% {
    transform: scale(0);
  }
  40% {
    transform: scale(1);
  }
}

2.7 波浪 Loading 动画

示例代码:

<div class="loading-wave">
  <div class="loading-wave-bar"></div>
  <div class="loading-wave-bar"></div>
  <div class="loading-wave-bar"></div>
  <div class="loading-wave-bar"></div>
  <div class="loading-wave-bar"></div>
</div>
.loading-wave {
  position: relative;
  display: inline-block;
  width: 64px;
  height: 64px;
}
.loading-wave-bar {
  position: absolute;
  width: 4px;
  height: 20px;
  background-color: #fff;
  bottom: 0;
  margin-right: 10px;
  border-radius: 2px;
  animation: loading-wave 1s ease-in-out infinite;
}
.loading-wave-bar:nth-child(1) {
  animation-delay: -0.4s;
}
.loading-wave-bar:nth-child(2) {
  animation-delay: -0.3s;
}
.loading-wave-bar:nth-child(3) {
  animation-delay: -0.2s;
}
.loading-wave-bar:nth-child(4) {
  animation-delay: -0.1s;
}
.loading-wave-bar:nth-child(5) {
  animation-delay: 0s;
}
@keyframes loading-wave {
  0% {
    height: 0;
  }
  50% {
    height: 20px;
  }
  100% {
    height: 0;
  }
}

2.8 白色方块滚动 Loading 动画

示例代码:

<div class="loading-scroll"></div>
.loading-scroll {
  position: relative;
  display: inline-block;
  width: 32px;
  height: 32px;
  transform: rotateZ(45deg);
}
.loading-scroll::before,
.loading-scroll::after {
  content: "";
  position: absolute;
  left: -1px;
  top: -1px;
  width: 4px;
  height: 4px;
  background-color: #fff;
  animation: loading-scroll 1.2s infinite ease-in-out;
}
.loading-scroll::before {
  animation-delay: 0.2s;
}
.loading-scroll::after {
  animation-delay: 0.4s;
}
@keyframes loading-scroll {
  0% {
    transform: translateY(0);
  }
  20% {
    transform: translateY(0);
  }
  60% {
    transform: translateY(24px);
  }
  80%,
  100% {
    transform: translateY(-32px);
  }
}

3. 结束语

如此,我们就完成了8款使用 CSS3 实现超炫的 Loading(加载)的动画效果的完整攻略。通过以上的示例展示和代码解释,相信你能够轻松掌握其中的技能和技巧,为自己的网站增添更多的动感和时尚感。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:8款使用 CSS3 实现超炫的 Loading(加载)的动画效果 - Python技术站

(0)
上一篇 2023年6月25日
下一篇 2023年6月25日

相关文章

  • pcm接口详细介绍–tdm方式

    PCM接口详细介绍 – TDM方式 PCM(Pulse Code Modulation)是一种数字信号编码方式,常用于音频和语音信号的传输和存储。在T(Time Division Multiplexing)方式,PCM信号可以通过多路复用技术传输。本攻略将介绍PCM接口的TDM方式提供两个示例。 T方式 在TDM方式下,多个PCM信号可以通过一个传输线路进行…

    other 2023年5月9日
    00
  • 详解webpack的配置文件entry与output

    让我详细讲解“详解webpack的配置文件entry与output”的完整攻略。 概述 Webpack 是一个静态模块打包器,可以将多个模块转换为浏览器可识别的 JavaScript、CSS、图片等文件。entry 和 output 是 Webpack 配置文件中的两个重要选项,entry 用于指定 Webpack 并列入打包的入口模块,output 用于指…

    other 2023年6月25日
    00
  • C++11新特性之列表初始化的具体使用

    C++11引入了许多新特性,而其中之一便是列表初始化。本文将为读者介绍C++11中的列表初始化的具体使用和示例说明。 列表初始化的基本语法 列表初始化使用花括号 {} 包含可选的一个或多个逗号分隔的元素。可以使用列表初始化初始化基本类型、数组、结构体等各种数据类型。 下面是使用列表初始化初始化基本类型的示例: int num1{10}; // 使用列表初始化…

    other 2023年6月20日
    00
  • sublime / vscode 快捷生成HTML代码的实现

    快捷生成HTML代码的实现攻略 1. 选择合适的编辑器 要实现快捷生成HTML代码的功能,我们可以选择Sublime Text或者Visual Studio Code作为编辑器。它们都有丰富的插件和扩展生态系统,能够提供丰富的辅助功能,使HTML代码的编写更加高效。 2. 安装相关插件或扩展 为了实现快速生成HTML代码的功能,需要安装以下插件或扩展: Em…

    other 2023年6月28日
    00
  • 关于sqlserver:如何在sql中自动生成唯一id

    以下是关于“如何在SQL Server中自动生成唯一ID”的完整攻略,包含两个示例。 背景 在SQL Server中,我们经常需要为表中的每个记录生成唯一的ID。这个ID可以用作主键或其他用途。在SQL Server中,我们可以使用IDENTITY列或GUID列来生成唯一ID。 使用IDENTITY列生成唯一ID IDENTITY列是SQL Server中一…

    other 2023年5月9日
    00
  • vue动态路由实现多级嵌套面包屑的思路与方法

    Vue动态路由实现多级嵌套面包屑的思路与方法 在Vue中,我们可以通过动态路由来实现多级嵌套面包屑导航。下面是一个完整的攻略,包含了思路和方法,并提供了两个示例说明。 思路 实现多级嵌套面包屑导航的思路如下: 在路由配置中定义每个路由的meta字段,用于存储面包屑导航的信息。 在组件中使用$route对象获取当前路由信息,并根据meta字段生成面包屑导航数据…

    other 2023年7月27日
    00
  • 使用C++一步步实现俄罗斯方块后续

    使用C++一步步实现俄罗斯方块后续攻略 一、前言 俄罗斯方块(Tetris)是一款老少皆宜的游戏,很多人都喜欢玩。这个游戏也是比较有代表性的游戏之一。本攻略将会演示如何使用C++来一步步实现俄罗斯方块游戏。 二、准备工作 在开始前,需要确保电脑上有C++编译器。推荐使用Visual Studio。 三、步骤 1. 创建一个窗口 我们首先需要创建一个窗口,用于…

    other 2023年6月26日
    00
  • Shell脚本去重的几种方法实例

    Shell脚本去重的几种方法实例 在Shell脚本中,去重是一项比较常见的任务。本文将介绍几种去重的方法,包括基于sort命令的去重、基于awk命令的去重、基于sed命令的去重以及利用grep和awk命令结合的去重。以下是详细介绍: 基于sort命令的去重 sort命令是一个非常实用的工具,可以对文本文件排序,也可以去除重复行。我们可以使用sort命令来进行…

    other 2023年6月26日
    00
合作推广
合作推广
分享本页
返回顶部