Bootstrap如何让文字在不同断点下显示不同的字体粗细及大小

浅强君_9302

浅强君_9302

2026-07-19

426人浏览

原创

bootstrap 5 不支持带断点的 font-weight 和 font-size 工具类(如 fw-md-bold、fs-lg-4),需通过自定义 scss 扩展 utilities 或使用 clamp() 实现响应式字体控制。

bootstrap如何让文字在不同断点下显示不同的字体粗细及大小

Bootstrap 5 如何用响应式工具类控制字体粗细

Bootstrap 5 没有内置 font-weight 的断点专属类(比如 fw-md-bold),直接写 fw-lg-bold 会报错或无效。必须组合使用断点前缀的显示类 + 自定义 CSS,或改用 style 内联方式临时覆盖。

常见错误:复制网上旧教程里的 fw-sm-light 类,实际 Bootstrap 5 不支持这种写法 —— 它只提供全局 fw-light、fw-normal、fw-bold 等,不带断点。

  • 正确做法是用断点类包裹文字容器,再配合自定义 CSS:text-sm-bold 这类类名需自己定义
  • 或者在 HTML 中用 style 属性按媒体查询写死:style="font-weight: 400; font-weight: 600; @media (min-width: 768px) { font-weight: 600; }"(不推荐,维护性差)
  • 更稳妥的是在 <style></style> 或 SCSS 中扩展 Bootstrap 的 utilities:
@include media-breakpoint-up(md) {
  .fw-md-bold { font-weight: 700 !important; }
}
@include media-breakpoint-up(lg) {
  .fw-lg-bold { font-weight: 900 !important; }
}

如何用 rem + 断点类实现响应式字号

Bootstrap 5 的 fs-1 到 fs-6 是固定值(如 fs-4 = 1.25rem),不随断点变化。想让「手机上 1.125rem、平板上 1.5rem、桌面端 1.75rem」,不能只靠 fs-* 类。

典型误用:<p class="fs-4 fs-md-5 fs-lg-6"></p><div class="aritcle_card flexRow artxards"> <div class="artcardd flexRow"> <a class="aritcle_card_img" rel="nofollow" href="/xiazai/skill4914" title="VPS Bootstrap"><img src="https://img.php.cn/upload/skill/000/000/081/179025304626966.jpg" alt="VPS Bootstrap" onerror="this.onerror='';this.src='/static/lhimages/moren/morentu.png'" ></a> <div class="aritcle_card_info flexColumn"> <a rel="nofollow" href="/xiazai/skill4914" title="VPS Bootstrap" class="overflowclass">VPS Bootstrap</a> <p class="overflowclass">从零启动全新 VPS,完成 OpenClaw 完整部署,包括备份/恢复及恢复后验证。用于 OpenClaw 部署。</p> </div> <a rel="nofollow" href="/xiazai/skill4914" title="VPS Bootstrap" class="aritcle_card_btn flexRow flexcenter"><b></b><span>下载</span> </a> </div> </div> —— 这样写无效,因为 Bootstrap 5 的字号类不支持断点前缀。

  • 可用 h1~h6 标签自带的响应式行为(它们内部用了 clamp()),但语义不符时慎用
  • 推荐方案:用 text-sm、text-md 等自定义类,配合 CSS clamp() 实现流体字号
  • 例如:.fs-responsive { font-size: clamp(1rem, 2.5vw, 1.5rem); },在小屏取 1rem,大屏逼近 1.5rem,中间线性过渡

为什么直接加多个 fs-* 类不起作用

Bootstrap 5 的 fs-* 类是独立定义的,没有叠加逻辑。写 fs-3 fs-lg-5 时,两个类都会生效,但后声明的 fs-lg-5 并不会“只在 lg+ 生效”,它只是个普通类,CSS 优先级相同,最终以 CSS 文件中靠后的那个为准 —— 所以你看到的永远是最后一个生效的字号,不是响应式切换。

  • 查浏览器开发者工具会发现:fs-3 和 fs-lg-5 都写了 font-size,但没带 @media 查询,所以后者直接覆盖前者
  • 真正起响应作用的,是 Bootstrap 自己为 h1~h6 写的 clamp(),或你自己写的带媒体查询的类
  • 不要依赖未文档化的类名(如网上流传的 fs-md-4),Bootstrap 官方未提供,升级后可能失效

最简可行方案:自定义 SCSS + 编译

如果你项目已用 SCSS,这是最干净的做法。在自定义 SCSS 文件里扩展 utilities:

// _custom-utilities.scss
@each $breakpoint, $value in $grid-breakpoints {
  @include media-breakpoint-up($breakpoint) {
    .fw-#{$breakpoint}-light { font-weight: 300 !important; }
    .fw-#{$breakpoint}-normal { font-weight: 400 !important; }
    .fw-#{$breakpoint}-bold { font-weight: 700 !important; }
    .fs-#{$breakpoint}-sm { font-size: 0.875rem !important; }
    .fs-#{$breakpoint}-lg { font-size: 1.5rem !important; }
  }
}

然后在 HTML 中使用:<p class="fw-sm-normal fw-md-bold fw-lg-black fs-sm-3 fs-md-4 fs-lg-5"></p>。注意顺序:靠后的断点类要写在后面,确保 CSS 优先级正确。

真正麻烦的不是写法,而是得确认所有断点类都经过编译且没被 PurgeCSS 清掉 —— 尤其用 Vite 或 Next.js 时,这类动态生成的类名容易被误删。

相关文章

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

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

下载

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

相关专题

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

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

2023.08.11

2283

5

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

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

2023.10.09

4923

6

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

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

2024.03.19

6010

13

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

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

2024.03.22

5518

10

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

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

2024.05.22

783

5

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

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

2023.10.23

3791

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

6408

6

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

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

2025.12.30

774

19

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

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

2025.12.30

674

12

热门下载

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

精品课程

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

共0课时 | 0人学习

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

共0课时 | 0人学习

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

共0课时 | 0人学习