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> 标签上:<code><table class="table table-borderless"> <li>适用于所有 <code>.table变体(如table-striped、table-hover),可组合使用 - 不破坏响应式行为或语义结构,比手动写 CSS 更可靠
- 如果用的是 Bootstrap 4.x,则该类不存在,需手动处理(见下一条)
- 必须同时重置
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更安全 - 父容器设置了
border,误看成表格边框 - 表格行或单元格里用了
outline或box-shadow(尤其在 hover 状态下) - 自定义主题色变量
--bs-table-border-color被设为半透明色,导致“看不见但存在”的灰线 - 某些 UI 组件库(如 AdminLTE)会覆盖 Bootstrap 默认样式,需检查实际生效的 CSS 规则链
Bootstrap 4 或自定义场景下如何手动去边框
Bootstrap 4 没有 table-borderless,得靠 CSS 覆盖。关键点不是只删 border,还要处理 border-collapse 和单元格间距:
为什么有时候加了 table-borderless 还有细线
常见原因是其他样式干扰,比如:
调试时打开浏览器开发者工具,直接选中 <table> 元素,看 computed styles 里 <code>border 和 border-collapse 是否真为 none 和 separate。


















