目录
旋转器与骨架装载机
有效使用骨架装载机
可避免的延迟?
用户启动的加载?
一致且可预测的布局?
立即可用的内容?
建造强大的骨架装载机
卡网格示例
骨架装载机样式
多行内容和布局变化
可访问性注意事项
对比
动画
屏幕读取器
结论
首页 web前端 css教程 用于多功能和可重复使用的骨架装载机的裸露方法

用于多功能和可重复使用的骨架装载机的裸露方法

Mar 26, 2025 am 09:35 AM

用于多功能和可重复使用的骨架装载机的裸露方法

有效的加载指示器,例如旋转器和骨架加载器,可以显着改善页面加载时间的用户体验。尽管旋转器易于实现,但骨骼装载机虽然可能更复杂,但在特定方案中提供了卓越的体验。许多现有的骨骼加载器实现缺乏可重复性和可扩展性,通常是针对单个组件量身定制的。本文提出了一种更有效,可重复和可扩展的方法。

旋转器与骨架装载机

旋转器(或进度条)是最常见的加载指标,它提供了一种正在进行的视觉提示。但是,他们提供有限的参与度;用户被动等待,无法与其他页面元素进行交互。相反,骨架装载机(或骨架屏幕)提供了更活跃的等待体验。他们使用代表最终内容的占位符(彩色框),提供进度感和更快的加载速度。

至关重要的是,加载组件不应掩盖潜在的性能问题。首先优化资产和后端流程;当延迟不可避免并且不是由于可解决的性能问题而引起的,加载元素是最后的手段。

有效使用骨架装载机

骨架装载机不应替换全屏装载机,但最好在特定条件下使用:

可避免的延迟?

优先考虑性能优化以最大程度地减少加载延迟。骨骼装载机仅在延迟确实不可避免的情况下适合。

用户启动的加载?

对于触发加载的用户操作(例如,懒惰图像),为加载元素提供反馈。没有它,用户就不知道背景过程。

一致且可预测的布局?

骨架装载机在可预测的内容布局中最有效。如果骨骼与最后的布局不相似,那么突然的变化可能会令人震惊。

立即可用的内容?

当某些内容立即可见而另一些内容不同步时,骨架装载机最有效。这保持了进步感。仅用骨骼装载机填充的屏幕没有任何初始内容并不比全屏旋转器要好得多。

建造强大的骨架装载机

许多骨架装载机示例被过度设计。本文提倡一种简约的方法,以方便实施,重复使用和维护。

卡网格示例

使用HTML,CSS和JavaScript,简单的六张卡片将展示异步加载。每张卡都使用占位符图像( <img src="/static/imghw/default1.png" data-src="https://img.php.cn/" class="lazy" alt="用于多功能和可重复使用的骨架装载机的裸露方法"> )确保可见骨骼直到图像加载为止。

骨架装载机样式

而不是创建单独的骨架组件,而是利用现有的布局样式。 .loading

 .loading .loading-item {
  背景:#949494!重要; / *可自定义的骨架加载器颜色 */
  颜色:RGBA(0,0,0,0)!
  边界色:RGBA(0,0,0,0,0)!
  用户选择:无;
  光标:等等;
}

.loading .loading-item * {
  可见性:隐藏!重要;
}

.loading .loading-item:空::之后,
.loading .loading-item *:empty :: after {
  内容:“ \ 00A0”;
}
登录后复制

此方法从主要组件样式继承了布局,用实心框代替内容。 .loading-item类可确保布局保存。

多行内容和布局变化

要解决因内容长度而引起的布局偏移,请使用<br>占位符中的标签以模拟多行。这继承了相关的CSS属性以进行准确的尺寸。

可访问性注意事项

可访问性至关重要。

对比

建议使用高对比度的骨骼装载机,以提高可见度,并遵守WCAG指南。 prefers-contrast媒体查询(当得到广泛支持时)可以提供进一步的自定义。

动画

尊重用户偏好,以prefers-reduced-motion动作,以便在必要时禁用动画。

屏幕读取器

使用ARIA属性,例如aria-hidden和视觉隐藏的文本,为屏幕阅读器提供上下文。例如: <div> <span style="display:none;">Loading...</span><img aria-hidden="true" ... alt="用于多功能和可重复使用的骨架装载机的裸露方法" > </div>

结论

这种极简主义的方法创建了多功能,可重复使用的骨架加载程序,从现有样式继承了布局,仅替换内容。这可以提高可维护性和可伸缩性。优先考虑可访问性确保所有用户的包容性。

以上是用于多功能和可重复使用的骨架装载机的裸露方法的详细内容。更多信息请关注PHP中文网其他相关文章!

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

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

VUE 3 VUE 3 Apr 02, 2025 pm 06:32 PM

它的出局!恭喜Vue团队完成了完成,我知道这是一项巨大的努力,而且很长时间。所有新文档也是如此。

使用Redwood.js和Fauna构建以太坊应用 使用Redwood.js和Fauna构建以太坊应用 Mar 28, 2025 am 09:18 AM

随着最近比特币价格超过20k美元的攀升,最近打破了3万美元,我认为值得深入研究创建以太坊

您可以从浏览器获得有效的CSS属性值吗? 您可以从浏览器获得有效的CSS属性值吗? Apr 02, 2025 pm 06:17 PM

我有人写了这个非常合法的问题。 Lea只是在博客上介绍了如何从浏览器中获得有效的CSS属性。那样的是这样。

带有粘性定位的堆叠卡和一点点的杂物 带有粘性定位的堆叠卡和一点点的杂物 Apr 03, 2025 am 10:30 AM

前几天,我发现了科里·金尼文(Corey Ginnivan)网站上的这一点,当您滚动时,彼此之间的卡片堆放集。

在CI/CD上有点 在CI/CD上有点 Apr 02, 2025 pm 06:21 PM

我说的“网站”比“移动应用程序”更合适,但我喜欢Max Lynch的框架:

比较浏览器的响应式设计 比较浏览器的响应式设计 Apr 02, 2025 pm 06:25 PM

这些桌面应用程序中有许多目标是同时在不同的维度上显示您的网站。因此,例如,您可以写作

在WordPress块编辑器中使用Markdown和本地化 在WordPress块编辑器中使用Markdown和本地化 Apr 02, 2025 am 04:27 AM

如果我们需要直接在WordPress编辑器中向用户显示文档,那么最佳方法是什么?

为什么Flex布局中的紫色斜线区域会被误认为是'溢出空间”? 为什么Flex布局中的紫色斜线区域会被误认为是'溢出空间”? Apr 05, 2025 pm 05:51 PM

关于Flex布局中紫色斜线区域的疑问在使用Flex布局时,你可能会遇到一些令人困惑的现象,比如在开发者工具(d...

See all articles