Bootstrap怎么设置特定断点下隐藏Col列中的特定描述文字

煙雲

煙雲

2026-08-04

198人浏览

原创

bootstrap 5+ 使用 visually-hidden 及其断点变体(如 visually-hidden-md)实现仅视觉隐藏、保留可访问性的响应式控制,需避免与 d-none 混用导致屏幕阅读器无法读取。

bootstrap怎么设置特定断点下隐藏col列中的特定描述文字

visually-hidden 配合断点工具类隐藏描述文字

Bootstrap 5+ 不再提供 sr-only(旧版写法),统一改用 visually-hidden 类实现“仅对屏幕阅读器可见、视觉上隐藏”。但这个类本身不带响应式,必须搭配断点前缀(如 visually-hidden-sm)才能在特定断点下生效。

常见错误是直接写 class="visually-hidden d-none d-sm-block"——这会冲突:两个类同时作用,行为不可预测;或者误用 d-sm-none 却忘了它只控制 display,对辅助技术不友好。

  • visually-hidden:完全隐藏视觉内容,但保留在可访问性树中(推荐用于描述性文字)
  • visually-hidden-{breakpoint}:仅在该断点及以上生效。例如 visually-hidden-md 表示 ≥md(768px)时隐藏
  • 若要“仅在某个断点区间隐藏”,需组合使用:比如“只在 sm 下隐藏”,用 visually-hidden-sm visually-hidden-sm-down 不行——Bootstrap 没有 -down 变体;正确做法是 visually-hidden-sm d-sm-block(即 sm 起显示,sm 前隐藏)

col 内部精准控制某段文字的响应式可见性

不要给整个 col 加隐藏类,否则整列都消失。目标是只隐藏其中一段 <span></span><p></p>

假设你有一个描述文字放在 col 里,希望它在 md 及以上断点消失:

<div class="row">
  <div class="col">
    <h3>标题</h3>
    <p>正文内容</p><div class="aritcle_card flexRow artxards">
											<div class="artcardd flexRow">
												<a class="aritcle_card_img" rel="nofollow" href="/xiazai/gongju/2501" title="Bootstrap"><img
														src="https://img.php.cn/upload/manual/001/431/639/6a6713fbcf1ac183.png" alt="Bootstrap" onerror="this.onerror='';this.src='/static/lhimages/moren/morentu.png'" ></a>
												<div class="aritcle_card_info flexColumn">
													<a rel="nofollow" href="/xiazai/gongju/2501" title="Bootstrap" class="overflowclass">Bootstrap</a>
													<p class="overflowclass">Bootstrap 官方编译版下载、npm 安装和 CDN 引入入口。</p>
												</div>
												<a rel="nofollow" href="/xiazai/gongju/2501" title="Bootstrap" class="aritcle_card_btn flexRow flexcenter"><b></b><span>下载</span>
												</a>
											</div>
										</div>
    <span class="visually-hidden-md">这是仅在小屏显示的辅助说明</span>
  </div>
</div>

注意:visually-hidden-md 是 Bootstrap 5.3+ 新增的响应式变体;如果你用的是 5.2 或更早版本,该类不存在,需手动补全 CSS 或降级为 visually-hidden d-md-block(不推荐)或自定义类。

  • 检查你的 Bootstrap 版本:console.log(bootstrap.VERSION) 或查 node_modules/bootstrap/dist/css/bootstrap.css 是否含 .visually-hidden-md
  • 如果版本不支持,最稳妥的方式是加一个自定义类:<span class="visually-hidden-md-fallback"></span>,并在 CSS 中写:@media (min-width: 768px) { .visually-hidden-md-fallback { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; } }

避免和 d-none 混用导致可访问性丢失

很多开发者图省事直接用 d-none d-md-block 控制文字显隐,但这会让屏幕阅读器也跳过该内容——如果这段文字是关键上下文(比如图标旁的“删除”说明),就会造成无障碍缺陷。

  • 纯视觉装饰?用 d-{breakpoint}-none 安全
  • 承载语义或操作意图的文字?必须用 visually-hidden-{breakpoint} 或其等效方案
  • 特别注意:Bootstrap 的 d-{bp}-none 在所有断点都移除 DOM 渲染,而 visually-hidden 系列只是视觉隐藏,DOM 和 ARIA 层仍存在

验证是否真被屏幕阅读器读取

别只靠浏览器 DevTools 看 display 属性。实际测试时,打开 VoiceOver(macOS)、NVDA(Windows)或 TalkBack(Android),聚焦到该 col 区域,听是否播报那段文字。

容易被忽略的一点:如果父容器用了 aria-hidden="true"role="presentation",子元素即使加了 visually-hidden 也不会被读出。所以务必检查文字的祖先节点有没有意外屏蔽了可访问性。

复杂点不在写法,而在判断——这段文字到底算“辅助说明”还是“核心信息”。前者才适合视觉隐藏,后者必须始终可见或至少提供替代方式。

相关专题

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

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

2023.08.11

1086

5

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

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

2023.10.09

2210

6

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

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

2024.03.19

2105

13

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

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

2024.03.22

2276

10

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

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

2024.05.22

335

5

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

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

2023.10.23

2004

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

2828

6

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

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

2025.12.30

563

19

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

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

2025.12.30

410

12

热门下载

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

精品课程

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

共0课时 | 0人学习

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

共0课时 | 0人学习

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

共0课时 | 0人学习