Bootstrap 表格默认边框由 .table 类内置的 border 和 border-collapse: collapse 定义,Bootstrap 5.2+ 推荐使用原生 table-borderless 类去除;Bootstrap 4 需手动覆盖 border、border-collapse 及单元格边框,并注意父容器和主题变量干扰。
Bootstrap 表格默认边框在哪定义的
bootstrap 的表格边框来自 .table 类内置的 border 和单元格 border-collapse: collapse,不是靠外部 css 覆盖就能一键清掉——尤其在 bootstrap 5+ 中,border 是直接写在 .table 的 css 规则里的,且带 !important(比如 border: 1px solid var(--bs-table-border-color))。
最稳妥的去除方式:用内置类 table-borderless
Bootstrap 5.2+ 原生提供了 table-borderless 类,专为去掉所有边框设计,它会覆盖掉默认的 border、cellspacing 和 border-collapse 行为。
- 直接加在
标签上:
- 适用于所有
.table变体(如table-striped、table-hover),可组合使用- 不破坏响应式行为或语义结构,比手动写 CSS 更可靠
- 如果用的是 Bootstrap 4.x,则该类不存在,需手动处理(见下一条)
Bootstrap 4 或自定义场景下如何手动去边框
Bootstrap 4 没有
table-borderless,得靠 CSS 覆盖。关键点不是只删border,还要处理border-collapse和单元格间距:- 必须同时重置
border和border-collapse,否则可能残留内边框线 - 推荐写法:
.table-no-border {<br> border: none !important;<br> border-collapse: separate !important;<br>}<br>.table-no-border td,<br>.table-no-border th {<br> border: none !important;<br>} - 注意:如果表格用了
table-responsive,外层容器的边框(border)也要单独清除,否则滚动区域边缘仍有线 - 避免用
border: 0,某些旧版浏览器对0解析不稳定,none更安全
为什么有时候加了
table-borderless还有细线常见原因是其他样式干扰,比如:
- 父容器设置了
border,误看成表格边框 - 表格行或单元格里用了
outline或box-shadow(尤其在 hover 状态下) - 自定义主题色变量
--bs-table-border-color被设为半透明色,导致“看不见但存在”的灰线 - 某些 UI 组件库(如 AdminLTE)会覆盖 Bootstrap 默认样式,需检查实际生效的 CSS 规则链
调试时打开浏览器开发者工具,直接选中
元素,看 computed styles 里
border和border-collapse是否真为none和separate。 - 适用于所有











