css 语言 CSS 制作带动画的加载中提示示例

CSS阿木 发布于 2025-06-18 5 次阅读


CSS 制作带动画的加载中提示示例

在现代的Web开发中,加载中提示(Loading Indicator)是一个常见的界面元素,它能够提升用户体验,让用户在等待数据加载时感到更加舒适。本文将围绕CSS技术,展示如何制作一个带动画的加载中提示示例,并探讨相关的代码技术和实现方法。

加载中提示通常用于以下场景:

1. 数据从服务器加载时。

2. 页面或组件初始化时。

3. 用户进行某些操作,如提交表单,等待服务器响应时。

一个好的加载中提示应该简洁、美观,并且能够有效地传达等待信息。我们将使用纯CSS来创建一个具有动画效果的加载中提示。

技术准备

在开始编写代码之前,我们需要了解以下CSS技术:

1. CSS动画:通过CSS的`@keyframes`规则和`animation`属性,我们可以创建简单的动画效果。

2. 伪元素:使用`:before`或`:after`伪元素,我们可以为元素添加额外的内容,而不需要额外的HTML标签。

3. Flexbox:Flexbox布局模型提供了一种更加高效的方式来布局、对齐和分配容器内元素的空间,即使它们的大小是未知或动态的。

实现步骤

1. HTML结构

我们需要一个简单的HTML结构来承载我们的加载中提示。

html

<div class="loading-indicator">


<div class="loader"></div>


<p>Loading...</p>


</div>


2. CSS样式

接下来,我们将为这个加载中提示添加样式。

css

.loading-indicator {


display: flex;


align-items: center;


justify-content: center;


height: 100vh;


background-color: f7f7f7;


}

.loader {


width: 50px;


height: 50px;


border: 5px solid f3f3f3;


border-radius: 50%;


border-top: 5px solid 3498db;


animation: spin 2s linear infinite;


}

.loader:before {


content: '';


position: absolute;


top: -10px;


left: 0;


width: 50px;


height: 50px;


border: 5px solid f3f3f3;


border-radius: 50%;


border-top: 5px solid e74c3c;


animation: spin 2s linear infinite;


}

@keyframes spin {


0% { transform: rotate(0deg); }


100% { transform: rotate(360deg); }


}

p {


margin-left: 20px;


font-size: 16px;


color: 333;


}


3. 动画效果解析

在上面的CSS代码中,我们定义了一个名为`.loader`的类,它包含一个圆形的边框,并且通过`@keyframes`规则定义了一个名为`spin`的动画。这个动画通过改变元素的`transform`属性来旋转圆形边框,从而创建一个旋转的加载动画。

我们还添加了一个`:before`伪元素,它同样具有旋转动画,但颜色不同,这样可以在视觉上增加层次感。

4. 效果展示

将上述HTML和CSS代码放入HTML文件中,并在浏览器中打开,你应该能看到一个带有旋转动画的加载中提示。

总结

本文通过纯CSS技术实现了一个带动画的加载中提示示例。我们使用了CSS动画、伪元素和Flexbox布局来创建一个简洁且美观的加载效果。通过学习本文,你可以了解到如何使用CSS来提升Web应用的交互体验。

扩展阅读

- [CSS动画教程](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Animations)

- [Flexbox布局指南](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Flexible_Box_Layout)

- [伪元素的使用](https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-elements)

通过不断学习和实践,你可以掌握更多的CSS技巧,为你的Web项目增添更多精彩的功能。