HTML如何设置加载样式?loading伪类的作用是什么?

html不直接设置加载样式,需通过css定义视觉效果并结合javascript控制显隐;2. 常见做法是预置加载元素,用css定义动画和隐藏样式,再通过javascript动态添加或移除显示类名来触发加载状态;3. 示例中通过showloading()和hideloading()函数控制加载层的显示与隐藏,并利用过渡动画实现平滑效果;4. 优化加载体验可采用骨架屏模拟内容结构,提升用户感知性能;5. 渐进式渲染可优先加载关键内容,提升交互速度;6. 标准css中无:loading伪类,实际开发中通过javascript管理isloading状态,并绑定到dom类名或属性来响应加载状态变化,实现灵活控制。

HTML如何设置加载样式?loading伪类的作用是什么?

在HTML中,我们通常不会直接“设置”加载样式,因为HTML本身是结构语言,它描述的是页面内容。加载样式,或者说加载动画和状态的展示,主要是通过CSS来定义视觉效果,并结合JavaScript来控制这些效果的出现和消失,以响应页面的加载状态或异步数据的获取。至于

:loading

伪类,这在标准CSS规范中并不存在,它更像是一个开发者在特定框架或自定义场景下,为了描述加载状态而假想或自定义的一个概念。

解决方案

要实现加载样式,核心在于利用CSS的动画能力和JavaScript对DOM元素的动态操作。

一个常见的做法是:

立即学习“前端免费学习笔记(深入)”;

准备加载指示器:在HTML中预置一个用于显示加载状态的元素,比如一个

div

,里面可以放一个旋转的图标(spinner)或文字。CSS定义样式和动画:使用CSS为这个加载元素定义初始样式(比如默认隐藏),以及加载时需要显示的样式和动画(比如旋转动画)。JavaScript控制显隐:当页面开始加载数据、发送异步请求或处理耗时操作时,通过JavaScript给这个加载元素添加一个特定的类名(例如

is-loading

),使其显示并播放动画;当数据加载完成或操作结束后,移除这个类名,使其隐藏。

举个简单的例子:

这里是页面的主要内容,等待数据加载...

/* 加载指示器容器 */ #loading-spinner { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(255, 255, 255, 0.8); display: flex; flex-direction: column; justify-content: center; align-items: center; z-index: 9999; /* 默认隐藏 */ opacity: 0; visibility: hidden; transition: opacity 0.3s ease, visibility 0.3s ease; } #loading-spinner.visible { opacity: 1; visibility: visible; } /* 旋转的spinner */ .spinner { border: 4px solid rgba(0, 0, 0, 0.1); border-top: 4px solid #3498db; /* 蓝色 */ border-radius: 50%; width: 40px; height: 40px; animation: spin 1s linear infinite; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .hidden { display: none !important; /* 初始隐藏,JavaScript控制 */ } const loadingSpinner = document.getElementById('loading-spinner'); const appContent = document.getElementById('app-content'); function showLoading() { loadingSpinner.classList.remove('hidden'); // 强制回流以确保transition生效 void loadingSpinner.offsetWidth; loadingSpinner.classList.add('visible'); } function hideLoading() { loadingSpinner.classList.remove('visible'); loadingSpinner.addEventListener('transitionend', function handler() { loadingSpinner.classList.add('hidden'); loadingSpinner.removeEventListener('transitionend', handler); }, { once: true }); } // 模拟数据加载 showLoading(); setTimeout(() => { appContent.innerHTML = '

数据加载完成!这里是新的内容。

魔法映像企业网站管理系统
魔法映像企业网站管理系统

技术上面应用了三层结构,AJAX框架,URL重写等基础的开发。并用了动软的代码生成器及数据访问类,加进了一些自己用到的小功能,算是整理了一些自己的操作类。系统设计上面说不出用什么模式,大体设计是后台分两级分类,设置好一级之后,再设置二级并选择栏目类型,如内容,列表,上传文件,新窗口等。这样就可以生成无限多个二级分类,也就是网站栏目。对于扩展性来说,如果有新的需求可以直接加一个栏目类型并新加功能操作

魔法映像企业网站管理系统 0
查看详情 魔法映像企业网站管理系统
'; hideLoading(); }, 2000); // 假设2秒后数据加载完成

这个示例展示了如何通过JavaScript来控制加载指示器的显示和隐藏。当数据开始加载时调用

showLoading()

,加载完成后调用

hideLoading()

。

优化网页加载体验:不仅仅是显示一个加载动画

当我们在谈论“加载样式”时,往往不止是让用户看到一个转圈的图标那么简单。更深层次的,是关于如何优化用户在等待内容出现时的感知体验。仅仅显示一个加载动画,如果等待时间过长,用户依然会感到沮丧。因此,我们应该从多个维度去思考。

一个非常有效的策略是“骨架屏”(Skeleton Screen)。它不是一个简单的加载指示器,而是在内容实际加载出来之前,先用占位符(通常是灰色块)来模拟页面内容的布局结构。这给用户一种“内容正在逐步呈现”的感觉,而不是面对一个空白页或一个孤零零的加载动画。这种方式能显著降低用户的焦虑感,因为他们能预见到即将出现的内容结构,提升了页面的“感知性能”。实现骨架屏通常需要更复杂的CSS和HTML结构,可能还需要在服务器端渲染(SSR)或构建时预渲染(Prerendering)一部分骨架内容。

此外,渐进式渲染(Progressive Rendering)也是一个重要的概念。这意味着页面内容不是一次性全部加载完成,而是分阶段逐步呈现。比如,先加载页面的关键部分(如头部导航、主要内容区域的文本),再逐步加载图片、视频等非关键资源。这让用户可以更快地开始与页面进行交互,即使所有内容尚未完全加载完毕。

:loading

伪类:概念与实际开发中的替代方案

正如前面所提到的,

:loading

伪类在标准CSS中并不存在,至少不是我们通常意义上用于所有HTML元素的通用伪类。如果你在某些文档或框架中看到类似的概念,那很可能是特定浏览器对某些元素(如

或

标签在等待数据时可能处于某种“加载中”状态,但它们通常通过JavaScript事件来监听,而不是一个通用的CSS伪类)的私有实现,或者是一个前端框架(如Vue、React等)或CSS预处理器(如Sass)中自定义的“状态”命名约定。

在实际开发中,我们完全依赖JavaScript来管理“加载中”的状态。最常见的模式是:

基于数据请求的状态管理:当发起一个API请求时,我们会在请求开始前设置一个布尔型的状态变量(例如

isLoading = true

),并在请求成功或失败后将其设置为

false

。DOM类名或属性绑定:然后,这个

isLoading

状态变量会驱动DOM元素上的类名或

data-

属性的切换。例如,如果

isLoading

为

true

,就给某个容器元素添加一个

is-loading

的CSS类:

...

。或者使用

data-loading

属性:

...

。CSS响应状态变化:CSS规则会监听这些类名或属性的变化,并应用相应的样式。

/* 当父元素有is-loading类时,显示加载指示器并隐藏内容 */.content.is-loading .loading-indicator {    display: block;}.content.is-loading .actual-content {    display: none;}

这种模式非常灵活且强大,它允许我们精确控制何时显示加载状态、显示哪种加载状态,以及如何响应不同的加载阶段(例如,数据加载中、图片加载中、组件异步加载中)。这比一个固定的

:loading

伪类能提供的控制粒度要细致得多,也更符合Web开发的动态特性。

以上就是HTML如何设置加载样式?loading伪类的作用是什么?的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1571784.html

赞 (0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
使用 JavaScript 动态修改 HTML 文件中加载的内容
上一篇 2025年12月22日 14:03:55
解决响应式侧边栏遮挡内容问题:Z-index的应用
下一篇 2025年12月22日 14:04:12

相关推荐

  • 夸克怎么设置默认搜索引擎_夸克浏览器默认搜索工具修改方法

    夸克怎么设置默认搜索引擎_夸克浏览器默认搜索工具修改方法夸克怎么设置默认搜索引擎_夸克浏览器默认搜索工具修改方法夸克怎么设置默认搜索引擎_夸克浏览器默认搜索工具修改方法夸克怎么设置默认搜索引擎_夸克浏览器默认搜索工具修改方法

    1、打开夸克浏览器,点击右下角三横线菜单;2、进入设置→通用或搜索与浏览→搜索引擎;3、选择百度、谷歌、必应或夸克AI搜索设为默认,新标签页和地址栏将同步生效。 如果您在使用夸克浏览器时希望更改默认的搜索服务,以便每次输入关键词时自动调用您偏好的搜索引擎,可以按照以下步骤进行调整。此设置将直接影响新…

    2026年9月27日 • 用户投稿
    000
  • 请写一个必然会产生死锁的示例程序

    请写一个必然会产生死锁的示例程序请写一个必然会产生死锁的示例程序请写一个必然会产生死锁的示例程序请写一个必然会产生死锁的示例程序

    死锁必然发生,因代码满足互斥、持有并等待、不可抢占和循环等待四条件:线程1持lock_a等lock_b,线程2持lock_b等lock_a,形成循环依赖,导致双方永久阻塞。 死锁,在多线程编程里,它就像一个狡猾的陷阱,一旦触发,程序就会陷入无尽的等待。它不是一个“可能”发生的问题,而是在特定条件下“…

    2026年9月27日 • 用户投稿
    000
  • Temp文件夹是什么?win10系统如何删除Temp文件夹?

    Temp文件夹是什么?win10系统如何删除Temp文件夹?Temp文件夹是什么?win10系统如何删除Temp文件夹?Temp文件夹是什么?win10系统如何删除Temp文件夹?Temp文件夹是什么?win10系统如何删除Temp文件夹?

    许多使用电脑的用户会在系统的系统盘里发现一个名为temp的文件夹,这实际上是一个系统临时文件夹,主要用来存储系统运行时产生的临时文件。下面,小编就为大家讲解一下如何删除temp文件夹。 什么是Temp文件夹? Temp文件夹是系统临时文件夹,用于存放浏览器缓存、系统运行时生成的临时数据等。如果需要清…

    2026年9月27日 • 用户投稿
    100
  • Laravel认证系统怎么快速搭建_Laravel认证系统快速搭建方法

    最直接的方法是使用Laravel Breeze,它提供完整的认证功能。首先创建项目并安装Breeze,运行php artisan breeze:install选择Blade模板,接着安装前端依赖并编译资源,最后执行数据库迁移。完成后即可访问注册和登录页面。Breeze轻量简洁,适合中小型项目;若需团…

    2026年9月27日
    100
  • qq浏览器下载任务已存在怎么办 QQ浏览器重复下载任务处理方法

    qq浏览器下载任务已存在怎么办 QQ浏览器重复下载任务处理方法qq浏览器下载任务已存在怎么办 QQ浏览器重复下载任务处理方法qq浏览器下载任务已存在怎么办 QQ浏览器重复下载任务处理方法qq浏览器下载任务已存在怎么办 QQ浏览器重复下载任务处理方法

    答案:可通过管理下载任务、清除缓存、调整并发数或更改文件名解决。首先检查并删除重复任务,清理下载记录与缓存数据,修改同时下载数量上限,或更改文件名及保存路径以绕过系统限制,重新发起下载即可成功创建新任务。 如果您尝试通过QQ浏览器下载文件,但系统提示“下载任务已存在”,这通常是因为该文件的下载请求已…

    2026年9月27日 • 用户投稿
    300
  • sublime怎么撤销刚刚关闭的标签页_sublime关闭标签页恢复方法

    sublime怎么撤销刚刚关闭的标签页_sublime关闭标签页恢复方法sublime怎么撤销刚刚关闭的标签页_sublime关闭标签页恢复方法sublime怎么撤销刚刚关闭的标签页_sublime关闭标签页恢复方法sublime怎么撤销刚刚关闭的标签页_sublime关闭标签页恢复方法

    可通过菜单或自定义快捷键恢复关闭的标签页。首先点击File→Reopen Closed Tab,或设置Ctrl+Shift+T(Windows/Linux)/Cmd+Shift+T(macOS)快捷键执行reopen_last_closed_file命令,但仅能恢复最后一次关闭的文件,且新关闭操作会…

    2026年9月27日 • 用户投稿
    000
  • 360极速浏览器手机版怎么扫描二维码_移动版扫一扫功能使用入口

    360极速浏览器手机版怎么扫描二维码_移动版扫一扫功能使用入口360极速浏览器手机版怎么扫描二维码_移动版扫一扫功能使用入口360极速浏览器手机版怎么扫描二维码_移动版扫一扫功能使用入口360极速浏览器手机版怎么扫描二维码_移动版扫一扫功能使用入口

    360极速浏览器手机版可通过搜索框二维码图标或底部工具栏“更多”按钮进入扫一扫功能,授权相机后对准二维码即可快速识别并跳转页面。 如果您需要在手机上快速扫描二维码以访问链接或获取信息,360极速浏览器手机版提供了便捷的扫一扫功能。以下是具体的操作方法和使用入口。 本文运行环境:小米14,Androi…

    2026年9月27日 • 用户投稿
    100
  • sublime怎么让自动补全菜单显示更多信息_sublime自动补全菜单增强信息显示

    sublime怎么让自动补全菜单显示更多信息_sublime自动补全菜单增强信息显示sublime怎么让自动补全菜单显示更多信息_sublime自动补全菜单增强信息显示sublime怎么让自动补全菜单显示更多信息_sublime自动补全菜单增强信息显示sublime怎么让自动补全菜单显示更多信息_sublime自动补全菜单增强信息显示

    启用LSP插件并配置语言服务器,可使Sublime Text补全菜单显示函数签名、参数、类型及文档等详细信息,提升编码效率。 Sublime Text 默认的自动补全菜单只显示简单的函数名或变量名,信息有限。想要让补全项显示更多上下文信息(如参数列表、类型、文档摘要等),可以通过配置设置和安装插件来…

    2026年9月27日 • 用户投稿
    000
  • uc浏览器下载任务失败怎么解决_UC浏览器下载中断或失败处理方法

    uc浏览器下载任务失败怎么解决_UC浏览器下载中断或失败处理方法uc浏览器下载任务失败怎么解决_UC浏览器下载中断或失败处理方法uc浏览器下载任务失败怎么解决_UC浏览器下载中断或失败处理方法uc浏览器下载任务失败怎么解决_UC浏览器下载中断或失败处理方法

    下载失败时,先检查网络连接,确保信号稳定;清理UC浏览器缓存数据;确认设备存储空间充足;删除失败任务并重新下载;关闭省电模式,允许后台运行以提升稳定性。 如果您在使用UC浏览器下载文件时遇到下载任务失败或中断的情况,可能是由于网络连接不稳定、存储空间不足或浏览器缓存异常导致的。以下是针对此问题的多种…

    2026年9月27日 • 用户投稿
    100
  • iphone16pro参数配置

    iphone16pro参数配置iphone16pro参数配置iphone16pro参数配置iphone16pro参数配置

    iPhone 16 Pro 的尺寸为:高度 147.5 毫米,宽度 71.5 毫米,厚度 7.85 毫米,重量为 206 克。其采用 6.1 英寸 Super Retina XDR 显示屏,分辨率为 2556 x 1179 像素,峰值亮度为 2000 尼特,刷新率为 120Hz。搭载 Apple A…

    2026年9月27日 • 用户投稿
    000
  • qq浏览器如何更新到最新版本 QQ浏览器手动检查与自动更新设置

    qq浏览器如何更新到最新版本 QQ浏览器手动检查与自动更新设置qq浏览器如何更新到最新版本 QQ浏览器手动检查与自动更新设置qq浏览器如何更新到最新版本 QQ浏览器手动检查与自动更新设置qq浏览器如何更新到最新版本 QQ浏览器手动检查与自动更新设置

    更新QQ浏览器可解决功能异常问题。①通过“我的-设置-关于”手动检查更新;②官网下载最新安装包覆盖安装;③在设置和应用商店中开启自动更新功能,确保版本同步。 如果您发现QQ浏览器功能异常或无法正常加载网页,可能是由于浏览器版本过低导致与当前网站技术不兼容。及时更新至最新版本可以修复已知漏洞并提升浏览…

    2026年9月27日 • 用户投稿
    300
  • 多核处理器在运行单线程任务时为何表现不佳?

    多核处理器在运行单线程任务时为何表现不佳?多核处理器在运行单线程任务时为何表现不佳?多核处理器在运行单线程任务时为何表现不佳?多核处理器在运行单线程任务时为何表现不佳?

    多核处理器在运行单线程任务时表现不佳,根本原因在于任务的串行性使其无法并行执行,即便拥有更多核心也难以提升性能。1. 单线程任务只能在一个核心上运行,其他核心无法参与;2. 任务内部存在严格的顺序依赖(如A→B→C),导致无法拆分并行处理;3. 根据Amdahl定律,程序加速比受限于串行部分比例,纯…

    2026年9月27日 • 用户投稿
    500
  • 系统安装完成后,用什么工具批量安装驱动最方便?

    系统安装完成后,用什么工具批量安装驱动最方便?系统安装完成后,用什么工具批量安装驱动最方便?系统安装完成后,用什么工具批量安装驱动最方便?系统安装完成后,用什么工具批量安装驱动最方便?

    集成式驱动管理软件虽能快速安装驱动,但存在捆绑软件、驱动版本过时、隐私安全风险及系统不稳定等问题。建议仅用其解决网卡驱动等燃眉之急,后续优先从主板、显卡等设备官网下载匹配驱动,通过Windows Update补充基础驱动,并按芯片组→网卡→显卡→声卡顺序安装。安装后需检查设备管理器状态,进行功能测试…

    2026年9月26日 • 用户投稿
    100
  • PHP中动态设置HTML 背景色的正确实践

    <img src="https://img.php.cn/upload/article/001/246/273/175965168921241.jpg" alt="php中动态设置html 背景色的正确实践”>背景色的正确实践” /&…

    用户投稿 2026年9月26日
    100
  • 小红书网页版怎么安全退出_小红书网页版账号安全退出教程

    小红书网页版怎么安全退出_小红书网页版账号安全退出教程小红书网页版怎么安全退出_小红书网页版账号安全退出教程小红书网页版怎么安全退出_小红书网页版账号安全退出教程小红书网页版怎么安全退出_小红书网页版账号安全退出教程

    小红书网页版安全退出需点击右上角头像,在下拉菜单中选择“退出登录”,退出后建议清除浏览器缓存与历史记录,并关闭无痕浏览窗口,同时定期修改密码、开启短信验证以提升账号安全性。 小红书网页版怎么安全退出?这是不少网友在使用公共设备或共享电脑时常关注的问题,接下来由PHP小编为大家带来小红书网页版账号安全…

    2026年9月26日 • 用户投稿
    200
  • 时隔 6 年,诺基亚 800 Tough 三防神机迎来改款

    时隔 6 年,诺基亚 800 Tough 三防神机迎来改款时隔 6 年,诺基亚 800 Tough 三防神机迎来改款时隔 6 年,诺基亚 800 Tough 三防神机迎来改款时隔 6 年,诺基亚 800 Tough 三防神机迎来改款

    近日有消息源发文爆料,称 hmd global 计划更新诺基亚 800 tough 三防功能机,在保留原版设计前提下,端口升级到 usb-c 接口,系统升级到 kaios 3.1 版本。 据了解,HMD Global 在 2019 年发布经典三防功能手机 —— 诺基亚 800 Tough,而时隔 6…

    2026年9月26日 • 用户投稿
    000
  • qq浏览器游戏模式怎么开启 QQ浏览器游戏模式与性能加速设置

    qq浏览器游戏模式怎么开启 QQ浏览器游戏模式与性能加速设置qq浏览器游戏模式怎么开启 QQ浏览器游戏模式与性能加速设置qq浏览器游戏模式怎么开启 QQ浏览器游戏模式与性能加速设置qq浏览器游戏模式怎么开启 QQ浏览器游戏模式与性能加速设置

    开启游戏模式可解决QQ浏览器游戏卡顿问题。1、进入“我的”→“设置”→“实验室功能”,开启“游戏模式”。2、打开H5游戏页面,点击地址栏“极速模式”标识启用加速。3、在“浏览加速”中开启“智能预加载”“高性能渲染”和“后台进程清理”以优化性能。 如果您在使用QQ浏览器玩游戏时遇到卡顿或加载缓慢的问题…

    2026年9月26日 • 用户投稿
    100
  • 主板AGESA微码更新评测:AMD锐龙7000平台性能优化实测

    主板AGESA微码更新评测:AMD锐龙7000平台性能优化实测主板AGESA微码更新评测:AMD锐龙7000平台性能优化实测主板AGESA微码更新评测:AMD锐龙7000平台性能优化实测主板AGESA微码更新评测:AMD锐龙7000平台性能优化实测

    agesa微码更新对amd锐龙7000平台的性能优化效果显著,主要体现在:1.稳定性提升,减少系统崩溃和重启频率;2.内存兼容性增强,支持高频和超频内存;3.性能提升3-5%,多线程任务和游戏性能改善,系统响应和加载速度加快。 开头部分 AGESA微码更新对AMD锐龙7000平台的性能优化效果显著,…

    2026年9月26日 • 用户投稿
    000
  • firefox官网首页入口 火狐浏览器手机版免费下载地址

    firefox官网首页入口 火狐浏览器手机版免费下载地址firefox官网首页入口 火狐浏览器手机版免费下载地址firefox官网首页入口 火狐浏览器手机版免费下载地址firefox官网首页入口 火狐浏览器手机版免费下载地址

    火狐浏览器官网首页入口是https://www.mozilla.org/zh-CN/firefox/new/,该页面提供手机版免费下载链接,并介绍其核心特性如阻止跟踪器、沙盒技术、多设备同步和隐私浏览模式。 firefox官网首页入口在哪里?这是不少网友都关注的,接下来由PHP小编为大家带来火狐浏览…

    2026年9月26日 • 用户投稿
    100
  • vivo浏览器为什么打不开网页_vivo浏览器无法加载网页原因分析

    vivo浏览器为什么打不开网页_vivo浏览器无法加载网页原因分析vivo浏览器为什么打不开网页_vivo浏览器无法加载网页原因分析vivo浏览器为什么打不开网页_vivo浏览器无法加载网页原因分析vivo浏览器为什么打不开网页_vivo浏览器无法加载网页原因分析

    首先检查网络连接,尝试切换Wi-Fi与移动数据,重启路由器,并测试其他应用联网情况;若问题仍在,清除浏览器缓存与数据,检查DNS设置并更改为8.8.8.8和114.114.114.114;确认浏览器已授予网络和位置权限;更新或重装vivo浏览器;最后可尝试还原网络设置以解决深层配置错误。 如果您在使…

    2026年9月26日 • 用户投稿
    000

发表回复

登录后才能评论
关注微信