首页 >web前端 >css教程 >如何使用 CSS 创建骨架加载器并改善应用程序的用户体验

如何使用 CSS 创建骨架加载器并改善应用程序的用户体验

DDD
DDD原创
2025-01-24 06:07:10788浏览

使用骨架加载器为您的网站带来专业的触感! 如果您从事前端开发,请忘记无聊的加载旋转器。骨架装载机提供了更具吸引力和更高效的用户体验。 在本教程中,您将学习如何使用 HTML 和 CSS 轻松创建一个,而不需要外部库。


?最终结果

开始之前,我们向您展示我们将获得的结果:

Cómo crear un Loader Esqueleto con CSS y mejorar la UX de tu app

模拟图像、标题和一段文本加载的卡片。简单,但具有优雅和专业的外观。


?骨架式装载机的优点

  • 更快的速度感:用户在加载时查看内容的表示,与简单的旋转器不同。
  • 更精致的设计:提供内容预览,避免应用失败的感觉。
  • 易于实现:使用纯 CSS 创建,没有额外的复杂性。

✍️ 让我们开始工作:创建加载器

我们将创建一个加载器来模仿带有图像、标题和文本的卡片。

1.基本 HTML 结构

首先创建具有以下结构的 HTML 文件:

<code class="language-html"><!DOCTYPE html>
<html lang="es">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Skeleton Loader</title>
  <link rel="stylesheet" href="styles.css">
</head>
<body>
  <div class="card">
    <!-- Contenido del loader aquí -->
  </div>
  <script src="script.js"></script> </body>
</html></code>

2. CSS 样式

使用以下 CSS 代码创建文件 styles.css

<code class="language-css">body {
  font-family: Arial, sans-serif;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
  margin: 0;
  background-color: #f4f4f4;
}

.card {
  width: 300px;
  padding: 20px;
  border-radius: 8px;
  background-color: #fff;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.skeleton {
  background-color: #e0e0e0;
  border-radius: 4px;
  position: relative;
  overflow: hidden;
}

.skeleton::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0) 100%);
  animation: shimmer 1.5s infinite;
}

@keyframes shimmer {
  0% { left: -100%; }
  100% { left: 100%; }
}

.skeleton.image {
  width: 100%;
  height: 150px;
  margin-bottom: 16px;
}

.skeleton.title {
  width: 70%;
  height: 20px;
  margin-bottom: 12px;
}

.skeleton.text {
  width: 100%;
  height: 14px;
  margin-bottom: 8px;
}</code>

3. CSS 说明

  • 颜色和边框:浅灰色(#e0e0e0)和圆角边缘用于模拟真实元素。
  • 闪光效果: linear-gradient 使用 @keyframes shimmer 创建动画发光效果。
  • 真实比例:定义每个元素(图像、标题、文本)的尺寸,以便它们类似于真实内容。

4. 显示真实内容(可选)

要在一段时间后显示实际内容,请将此 JavaScript 代码添加到文件中 script.js:

<code class="language-javascript">setTimeout(() => {
  document.querySelector('.card').innerHTML = `
    <img src="https://via.placeholder.com/300x150" alt="Imagen de ejemplo">
    <h3>Título del contenido</h3>
    <p>Este es un texto de ejemplo para la tarjeta.</p>
  `;
}, 3000); // Simula una carga de 3 segundos</code>

在 HTML 的 .card 元素中,根据要显示为加载程序的每个元素添加 .skeleton.skeleton.image.skeleton.title.skeleton.text 类。


?结论

骨架加载器是改善用户体验的简单而有效的方法,给您的应用程序带来速度和专业的印象。 在您的项目中尝试一下!

以上是如何使用 CSS 创建骨架加载器并改善应用程序的用户体验的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn