Dropdown分割线必须用.dropdown-divider类,且须为.dropdown-menu直接子元素;改色应覆盖background-color或CSS变量--bs-dropdown-divider-bg,禁用及嵌套结构。
Dropdown分割线用的是.dropdown-divider,不是.divider
bootstrap 5 已弃用.divider类,统一改用.dropdown-divider。如果你还在html里写<li class="divider">,它不会生效——浏览器根本认不出这个类,也不会渲染分割线。必须改成<hr class="dropdown-divider">或<div class="dropdown-divider"></div>。
直接覆盖.dropdown-divider的background-color最可靠
Bootstrap 5 的.dropdown-divider默认是border-top: 1px solid var(--bs-dropdown-divider-bg, #e9ecef),但实际渲染靠的是background-color(内部用height: 0+overflow: hidden模拟细线)。所以改颜色不能只动border,得盯住background-color:
-
.dropdown-divider { background-color: #ff6b6b; }—— 简单粗暴,立即生效 - 如果要全局统一,改 CSS 变量:
:root { --bs-dropdown-divider-bg: #ff6b6b; } - 注意:这个变量只对
.dropdown-divider起作用,不影响.nav-divider或自定义分割线
别在<li>里套<p></p>再加分割线
常见翻车现场:把.dropdown-divider塞进<li><p>...</p><div class="aritcle_card flexRow">
<div class="artcardd flexRow">
<a class="aritcle_card_img" href="/xiazai/skill4914" title="VPS Bootstrap"><img
src="https://img.php.cn/upload/skill/000/000/081/179025304626966.jpg" alt="VPS Bootstrap" ></a>
<div class="aritcle_card_info flexColumn">
<a href="/xiazai/skill4914" title="VPS Bootstrap">VPS Bootstrap</a>
<p>从零启动全新 VPS,完成 OpenClaw 完整部署,包括备份/恢复及恢复后验证。用于 OpenClaw 部署。</p>
</div>
<a href="/xiazai/skill4914" title="VPS Bootstrap" class="aritcle_card_btn flexRow flexcenter"><b></b><span>下载</span> </a>
</div>
</div></li>,结果分割线上下多出空白、hover 背景错位。原因很直接:<p></p>自带margin,而.dropdown-divider要求紧贴上下.dropdown-item。
- 正确结构:
<ul class="dropdown-menu"> <li><a class="dropdown-item">选项1</a></li> <div class="dropdown-divider"></div> <li><a class="dropdown-item">选项2</a></li> </ul> - 如果非要嵌套,删掉
p的margin:p { margin: 0; },否则分割线会被撑开、悬停时背景色盖不住空隙
深色模式下--bs-dropdown-divider-bg可能被覆盖
如果你启用了@media (prefers-color-scheme: dark)并设置了深色主题,--bs-dropdown-divider-bg可能被 Bootstrap 内置的深色变量覆盖(比如#343a40)。这时候光写:root不够:
- 显式重写暗色模式下的值:
@media (prefers-color-scheme: dark) { :root { --bs-dropdown-divider-bg: #6c757d; } } - 或者更稳妥:直接在
.dropdown-menu作用域内覆盖,避免受根变量干扰:.dropdown-menu .dropdown-divider { background-color: #6c757d; } - 检查开发者工具里
.dropdown-divider的实际计算值,确认没被.dropdown-menu-dark或其他第三方样式劫持
.dropdown-divider在 DOM 中的位置合法性——它必须是.dropdown-menu的直接子元素,不能嵌套在<li>或<div class="dropdown-submenu">里,否则高度、间距、hover 响应都会失常。</div>

















