使用 CSS Grid 实现骨架屏效果的教程

阅读时长 3 分钟读完

在现代 Web 开发中,骨架屏(Skeleton Screen)已经成为了提升用户体验的常用手段之一。而在实现骨架屏时,CSS Grid 可以帮助我们让代码更加简洁和灵活。本文将介绍如何使用 CSS Grid 实现骨架屏效果的教程。

什么是骨架屏

骨架屏是指在网页内容加载完成前,先展现页面的基本结构,给用户提供一种加载中的预览效果,增强了用户的交互体验。通常,骨架屏是通过一系列简单的占位符、占位图或者简单的纯色块来实现的。

骨架屏的优点:

  • 提升用户满意度,降低用户等待感受。
  • 告诉用户哪些元素即将出现,让用户精准等待。
  • 对SEO友好,搜索引擎可以直接获取到页面的基本结构。

骨架屏的实现

  1. HTML布局
-- -------------------- ---- -------
---- ------------------
  ---- -------------------
  ---- -------------------
  ---- -------------------
  ---- -------------------
  ---- -------------------
  ---- -------------------
  ---- -------------------
  ---- -------------------
------

先创建一个 container 容器,里面包含了8个 item,我们需要让这8个 item 填充满整个 container

  1. CSS 样式
-- -------------------- ---- -------
---------- -
  -------- -----
  ---------------------- --------- -----
  ---- -----
  -------- -----
  ----------------- -----
-

----- -
  ----------------- -----
-

-- - ---- --------------------------- --
------------ -
  -------- ---
  -------- ------
  ------ -----
  --------------- -----
  ----------------- -----
  -------------- ----
-

首先,使用 display: grid 定义父元素 .container 为网格布局,grid-template-columns: repeat(4, 1fr); 定义了 4 列,每一列的占比为 1 ,即每个 item 将会占据 1/4 的宽度 。gap: 10px; 定义每个 item 之间的距离为 10px 。padding: 10px 定义了容器的内边距。background-color: #eee 为整个容器设置了一个灰色背景。

接着,使用 background-color: #fffitem 设置白色背景色,并使用 :before 伪元素创建一个宽高相同、背景为灰色的占位块,通过 padding-bottom: 100%; 让高度等于实际宽度, border-radius: 4px; 设置圆角使其更加美观。

实现效果

在加载前填充了一个占位块,突显了整个页面的布局,起到了很好的预览效果。

总结

本文教程中,我们通过 HTML 布局和 CSS 样式,使用 CSS Grid 实现了骨架屏效果。希望这篇文章对于想要了解如何使用 CSS Grid 实现骨架屏的读者有所帮助。除了骨架屏,CSS Grid 还有很多强大的布局功能,如果想要学习 Grid 的更多应用,可以参考 CSS Grid 相关的学习资料。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/649e2c2f48841e9894ab3722

纠错
反馈