用 border-start 最稳妥,因它适配 RTL 且依赖 flex 布局;避免 border-right 错位,慎用 .vr(仅限 inline/flex 子项且需 ≥5.2);下拉菜单用 dropdown-divider,栅格列间加竖线需处理 gutter 和 align-items。
导航栏按钮间加竖线,用 border-start 最稳妥
bootstrap 5 没有 vertical-rule 或 vr 这类“垂直分割线组件”,所谓竖线,本质就是单侧边框。给右侧导航项加 border-start 是官方推荐写法,它自动适配 rtl(如阿拉伯语),比硬写 border-left 更健壮。
常见错误是直接给 能用的场景很窄: Bootstrap 下拉菜单( 常见踩坑: 两列(如 解决办法:
实际应用中,竖线位置、高度、响应式收放这三件事最容易被忽略。尤其当导航项文字行高变化、或栅格嵌套多层时,边框会突然偏移或消失——这时候别急着换方案,先检查父容器是否处于 flex 格式化上下文、padding 是否干扰了边框绘制位置。 加 border-right:在 .navbar-nav 这种 flex 容器里, 是 flex item,但若父容器没设 display: flex(比如误套了额外 默认有上下 margin,边框会错位。
内,该类已设 display: flex
border-start,例如:
border-start + border-start-secondary,避免硬写 #dee2e6
border-start-sm-0(需确认项目启用了 Bootstrap 的 Sass 断点编译)
.vr 类能用吗?看场景和版本.vr 是 Bootstrap 5.2+ 新增的工具类,但它不是“万能竖线”——它只对 inline 元素或 flex/grid 子项生效,且高度固定为 1rem。直接加在 上毫无效果,因为 是块级元素,.vr 的 CSS 规则是 .vr { border-right: 1px solid var(--bs-border-color); height: 1rem; },高度写死、不继承父高。
d-flex 容器中:
下拉菜单里的分割线,别用
或空
.dropdown-menu)中,分割线应使用 (Bootstrap 5)或旧版的 (Bootstrap 3/4)。这是语义正确、样式预置、且与悬停背景兼容的方式。
强行塞进下拉菜单:它默认是块级、width: 100%,在 .dropdown-menu 里会撑宽整个菜单,且无障碍识别为“水平分隔符”,语义错配 或 margin 和默认高度,会导致分割线上下留白、悬停时背景色无法覆盖整行
.dropdown-divider 高度时,别动 height:它的样式依赖 margin 和 overflow: hidden 实现视觉分隔,改 height 可能破坏布局栅格列之间加竖线,别碰
col 的 paddingcol-md-6)之间加竖线,最直接的是给左列加 border-right。但容易忽略的是:Bootstrap 栅格默认有 gutter(即列间间距),这个 gutter 是通过 padding 实现的。如果左列本身有 pe-3(右内边距),再加 border-right,竖线就会画在内边距区域外侧,看起来离内容很远。
border-end(Bootstrap 5 推荐)或 border-right
border-end-sm-0 或媒体查询 @media (max-width: 576px) { .left-col { border-right: none; } }
.row 没设 align-items: stretch,导致子列高度不统一











