Bootstrap面包屑默认分隔符是/,由CSS伪元素::before通过content属性注入,仅显示在除首项外的每个li前;推荐用CSS变量--bs-breadcrumb-divider或覆盖::before样式自定义,避免直接修改HTML。
bootstrap 的 breadcrumb 组件默认使用 / 作为分隔符,但这个符号不是硬编码在 html 里的,而是通过 css 的 ::before 伪元素 + content 属性注入的。也就是说,你看到的 / 实际上是样式控制的,不是 html 结构的一部分。
li 外的每个 li 元素前 .breadcrumb-item + .breadcrumb-item::before node_modules/bootstrap/scss/_breadcrumb.scss 中 最稳妥、推荐的做法是覆盖默认的 ::before 样式,而不是改 HTML 或 JS:
.breadcrumb-item + .breadcrumb-item::before {content: "›"; /* 可换成 "»"、"|"、"•"、"→" 等 */padding: 0 0.5rem;}
direction: ltr; 避免符号翻转 !important —— 只需确保你的样式表加载在 Bootstrap 之后即可生效 --bs-breadcrumb-divider),Bootstrap 5.3+ 支持直接设该变量,例如::root {--bs-breadcrumb-divider: "»";}
> 不推荐有些开发者会尝试手动在 li 之间插入 > 或 <span class="sep">/</span>,这会导致几个问题:
ol > li 列表,插入额外元素影响可访问性(屏幕阅读器可能误读) .breadcrumb 样式依赖于相邻兄弟选择器,手动插入元素会打断 .breadcrumb-item + .breadcrumb-item 关系 .breadcrumb-item.active 才会被正确识别为终点,手动加的分隔符不属于任何 li,无法参与状态管理 如果你用的是 Bootstrap 5.3 或更新版本,可以直接通过 CSS 变量控制,无需重写选择器:
--bs-breadcrumb-divider .breadcrumb {--bs-breadcrumb-divider: "•";}
<nav aria-label="breadcrumb"><ol class="breadcrumb" style="--bs-breadcrumb-divider: '→';"> ...</ol></nav>
"|" 可以,|(不带引号)会解析失败 分隔符看着小,但改错地方容易让整个面包屑结构松散或语义丢失;优先走 CSS 变量或伪元素覆盖,别碰 HTML 结构本身。