如何在Bootstrap中实现不同尺寸的加载Loading动画

浅墨大大_7242

浅墨大大_7242

2026-04-08

769人浏览

原创

bootstrap 5 中 spinner-border 和 spinner-grow 无 lg 尺寸类,仅支持 spinner-*-sm;大尺寸需手动设置 width/height 及匹配的 border-width,避免仅缩放导致动画失真或错位。

如何在bootstrap中实现不同尺寸的加载loading动画

Bootstrap 5 中 spinner-border 和 spinner-grow 的尺寸控制方式

Bootstrap 5 原生不提供 sm / lg 这类尺寸修饰类来直接缩放加载动画,但提供了明确的尺寸类: spinner-border-sm 和 spinner-grow-sm —— 注意,没有 spinner-border-lg。大尺寸需手动调整 width 和 height。

常见错误是试图写 <div class="spinner-border spinner-border-lg">,这不会生效,因为 Bootstrap CSS 中未定义该类。 <ul> <li> <code>spinner-border-sm 对应 width: 1rem; height: 1rem;(约 16px)

  • 默认 spinner-border 是 width: 2rem; height: 2rem;(约 32px)
  • 如需更大(比如 48px),推荐内联样式:<div class="spinner-border" style="width: 3rem; height: 3rem;"> <li>响应式场景下,避免用 <code>vw 或百分比设尺寸——border 动画依赖固定宽高比,缩放易导致旋转错位
  • 自定义尺寸时如何保持动画比例和居中对齐

    加载动画本质是两个伪元素(::before 和 ::after)绕中心旋转。一旦修改 width/height,必须同步确保 border 宽度按比例缩放,否则出现“细线抖动”或“粗块卡顿”。

    例如将尺寸放大到 4rem,建议同时设 border-width: 0.25rem(默认是 0.25rem 对应 2rem 尺寸,所以 4rem 时宜用 0.375rem 或 0.5rem):

    VPS Bootstrap
    VPS Bootstrap

    从零启动全新 VPS,完成 OpenClaw 完整部署,包括备份/恢复及恢复后验证。用于 OpenClaw 部署。

    下载
    <div class="spinner-border" style="width: 4rem; height: 4rem; border-width: 0.5rem;"></div>
    • 只改 width/height 而不调 border-width,动画会变虚、边缘模糊
    • 用 transform: scale() 强行缩放整个元素——会导致父容器布局塌陷、点击区域错位,不推荐
    • 居中时优先用 text-center(行内元素)或 d-flex justify-content-center align-items-center(块级容器),避免仅靠 margin: auto

    在按钮内嵌 Loading 状态时的尺寸适配技巧

    按钮里的加载动画必须和按钮文字大小、行高、内边距协调。直接套用 spinner-border-sm 在 btn-sm 里刚好;但在 btn-lg 里就显得太小。

    • 对 btn-lg,建议用 spinner-border + 内联尺寸:style="width: 1.5rem; height: 1.5rem; border-width: 0.1875rem;"
    • 为避免重复写样式,可抽成工具类,如:.spinner-btn-lg { width: 1.5rem; height: 1.5rem; border-width: 0.1875rem; }
    • 禁用按钮状态(disabled)下,加载动画默认会变灰,若需保持原色,加 disabled="false" 并用 JS 控制视觉态,而非依赖原生 disabled 样式
    • 切勿把 spinner 放进 btn 的 padding 区域外——会导致点击热区偏移,应始终包裹在按钮内容流内

    IE11 兼容性下 Spinner 的降级处理

    Bootstrap 5 的 spinner-border 依赖 @keyframes 和 transform: rotate(),IE11 虽支持基础旋转,但存在帧率低、伪元素渲染异常的问题,尤其在小尺寸(sm)下容易消失。

    • 检测 IE11 可用 document.documentMode,然后动态替换为 GIF 加载图:<img src="loading.gif" alt="loading" style="max-width:90%" style="max-width:90%">
    • 不要用 filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1) 模拟旋转——性能差且无法形成连续动画
    • 若项目强制要求 IE11 支持,建议放弃原生 spinner,统一用 SVG + SMIL 或轻量 JS 动画库(如 spin.js)
    • Bootstrap 官方已明确不支持 IE11,所以任何修复都是临时方案,上线前务必真机测试
    实际项目中,最常被忽略的是 border-width 与尺寸的匹配关系——它不像字体大小那样有自然缩放逻辑,必须手动平衡。另外,很多人以为加个 animate__animated(Animate.css)就能增强效果,结果反而破坏了原生 spinner 的关键帧节奏,得不偿失。

    相关文章

    PHP速学视频免费教程(入门到精通)
    PHP速学视频免费教程(入门到精通)

    PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

    下载

    相关标签:

    bootstrap

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

    相关专题

    更多
    python是前端还是后端
    python是前端还是后端

    Python属于前端也属于后端,其灵活性和丰富的生态系统使得开发人员能够在不同的领域中灵活运用。本专题为大家提供python相关的文章、下载、课程内容,供大家免费下载体验。

    2023.08.11

    2503

    5

    前端如何实现即时通讯
    前端如何实现即时通讯

    实现即时通讯的方法有WebSocket、Long Polling、Server-Sent Events、WebRTC等等。详细介绍:1、WebSocket,它可以在客户端和服务器之间建立持久连接,实现实时的双向通信,前端可以使用 WebSocket API来创建WebSocket连接,并通过发送和接收消息来实现即时通讯;2、Long Polling,是一种模拟实时通信的技术等等。

    2023.10.09

    5423

    6

    前端和后端的区别
    前端和后端的区别

    前端关注的是用户界面的设计和交互,而后端则注重数据处理和逻辑控制。想了解更多前端后端的相关内容,可以阅读本专题下面的文章。

    2024.03.19

    6450

    13

    php和前端的关联介绍
    php和前端的关联介绍

    php既可以作为前端语言,也可以作为后端语言。想了解更多php和前端的相关内容,可以阅读本专题下面的文章。

    2024.03.22

    6058

    10

    前端外包工作内容有哪些
    前端外包工作内容有哪些

    前端外包工作内容包括:1. 网站和应用程序开发;2. 用户界面和交互设计;3. 用户体验优化;4. 设计和视觉开发;5. 跨浏览器兼容性;6. 性能优化;7. 维护和更新;8. 项目管理和沟通。想了解更多前端的相关内容,可以阅读本专题下面的文章。

    2024.05.22

    863

    5

    html5动画制作有哪些制作方法
    html5动画制作有哪些制作方法

    html5动画制作方法有使用CSS3动画、使用JavaScript动画库、使用HTML5 Canvas等。想了解更多html5动画制作方法相关内容,可以阅读本专题下面的文章。

    2023.10.23

    4131

    6

    HTML与HTML5的区别
    HTML与HTML5的区别

    HTML与HTML5的区别:1、html5支持矢量图形,html本身不支持;2、html5中可临时存储数据,html不行;3、html5新增了许多控件;4、html本身不支持音频和视频,html5支持;5、html无法处理不准确的语法,html5能够处理等等。想了解更多HTML与HTML5的相关内容,可以阅读本专题下面的文章。

    2024.03.06

    7128

    6

    html5从入门到精通汇总
    html5从入门到精通汇总

    想系统掌握HTML5开发?本合集精选全网优质学习资源,涵盖免费教程、实战项目、视频课程与权威电子书,从基础语法到高级特性(Canvas、本地存储、响应式布局等)一应俱全,适合零基础小白到进阶开发者,助你高效入门并精通HTML5前端开发。

    2025.12.30

    814

    19

    html5新老标签汇总
    html5新老标签汇总

    HTML5在2026年持续优化网页语义化与交互体验,不仅引入了如<header>、<nav>、<article>、<section>、<aside>、<footer>等结构化标签,还新增了<video>、<audio>、<canvas>、<figure>、<time>、<mark>等增强多媒体与

    2025.12.30

    714

    12

    热门下载

    更多
    网站特效
    /
    网站源码
    /
    网站素材
    /
    前端模板

    精品课程

    更多
    相关推荐
    /
    热门推荐
    /
    最新课程
    Bootstrap5 入门教程
    Bootstrap5 入门教程

    共0课时 | 0人学习

    Bootstrap Components 组件文档
    Bootstrap Components 组件文档

    共0课时 | 0人学习

    Bootstrap Grid 栅格系统
    Bootstrap Grid 栅格系统

    共0课时 | 0人学习