Bootstrap怎么修改Dropdown下拉菜单项在激活状态(Active)下的阴影

风芳同学_8912

风芳同学_8912

2026-07-28

312人浏览

原创

dropdown菜单项默认无激活阴影,其:focus状态是添加阴影的唯一可靠入口;需清除默认focus ring并注意移动端聚焦延迟及父容器阴影干扰。

bootstrap怎么修改dropdown下拉菜单项在激活状态(active)下的阴影

Dropdown菜单项本身没有激活阴影,别白改

Bootstrap 的 .dropdown-item 默认没有任何 box-shadow,无论 :active、:focus 还是 .active 状态。你看到的“阴影”大概率是误判:要么是父容器 .dropdown-menu 的整体阴影透出,要么是浏览器默认焦点环(outline + box-shadow)被当成 item 自身阴影。直接给 .dropdown-item:active 写 box-shadow 不会生效——因为没东西可盖。

真要加阴影,得用:focus或自定义class

Bootstrap 5 对 .dropdown-item 的视觉反馈逻辑是:点击后焦点保留在元素上,靠 :focus 触发样式(包括背景色和 focus ring)。所以想让“激活态”有阴影,必须作用于 :focus,而不是 :active:

VPS Bootstrap
VPS Bootstrap

从零启动全新 VPS,完成 OpenClaw 完整部署,包括备份/恢复及恢复后验证。用于 OpenClaw 部署。

下载
  • .dropdown-item:focus 是唯一可靠入口;:active 只在鼠标按下瞬间存在,人眼几乎不可见
  • 必须同时写 outline: none 和 box-shadow: none 清掉 Bootstrap 默认 focus ring,否则新阴影会被覆盖
  • 如果项目用了深色模式,建议用 CSS 变量控制:--bs-dropdown-link-focus-box-shadow(Bootstrap 5.3+ 支持,旧版不生效)
  • 示例写法:
    .dropdown-item:focus {
      outline: none;
      box-shadow: 0 0 0 3px rgba(13, 110, 253, 0.25);
    }

移动端真机测试不能跳过

iOS Safari 和部分 Android 浏览器对 :focus 的触发逻辑和桌面不同:点击可能不立即聚焦,或聚焦延迟 300ms 以上,导致阴影“卡顿”或根本不出。解决办法只有两个:

  • 给 .dropdown-item 加 tabindex="0",强制它可获得焦点(尤其对非 <a></a> 标签)
  • 放弃纯 CSS 方案,用 JS 监听 click 或 shown.bs.dropdown 事件,动态加 class 并配阴影样式
  • 真机测试时重点看点击后是否立刻响应——模拟器常骗人

别忘了 .dropdown-menu 的阴影会干扰效果

即使你给 .dropdown-item:focus 加了阴影,如果父级 .dropdown-menu 本身有强阴影(比如 box-shadow: 0 8px 20px rgba(0,0,0,.15)),item 的小阴影会被吃掉或视觉混淆。实际调试时得关掉 .dropdown-menu 的 box-shadow 单独验证 item 效果,再按需调和两者层级关系。

相关专题

更多
bootstrap框架介绍
bootstrap框架介绍

本专题整合了bootstrap框架相关介绍,阅读专题下面的文章了解更多详细内容。

2026.03.18

625

21

bootstrap安装教程
bootstrap安装教程

本专题整合了bootstrap安装相关教程,阅读专题下面的文章了解更多详细操作教程。

2026.03.18

199

9

css3教程
css3教程

php中文网为大家提供css3教程合集,CSS3的语法是建立在CSS原先版本基础上的,它允许使用者在标签中指定特定的HTML元素而不必使用多余的class、ID或JavaScript。php中文网还为大家带来css3的相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

2023.06.14

1820

10

有哪些css3渐变属性
有哪些css3渐变属性

css3中渐变属性有linear-gradient、radial-gradient、conic-gradient、repeating-linear-gradient、repeating-radial-gradient等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.11.01

2586

5

FrankenPHP集成Laravel详细教程
FrankenPHP集成Laravel详细教程

本专题提供FrankenPHP集成Laravel的详细配置指南,全面解析运行原理、开发环境搭建、Caddyfile配置、Octane工作模式、数据库连接、队列任务、定时任务和生产环境优化,解决部署过程中常见的报错与兼容性问题。

2026.10.08

0

20

LLVM自定义Pass怎么写
LLVM自定义Pass怎么写

本专题聚焦LLVM自定义Pass开发,整理Pass类结构、run()方法、PreservedAnalyses、CMake构建、插件注册、-load-pass-plugin加载和测试用例编写流程。

2026.09.30

120

10

LLVM RISC-V参数配置教程
LLVM RISC-V参数配置教程

本专题介绍LLVM对RISC-V基础ISA和扩展的支持方式,涵盖RV32、RV64、标准扩展、实验性扩展、厂商扩展、-menable-experimental-extensions和版本差异。

2026.09.30

100

14

LLVM IR中间表示入门指南
LLVM IR中间表示入门指南

本专题整理LLVM IR的核心概念,包括中间表示作用、模块结构、函数、基本块、SSA形式、类型系统和常见语法,帮助新手理解LLVM编译流程中的关键层。

2026.09.30

80

12

PDF转图片方法
PDF转图片方法

需要把 PDF 页面用于上传、预览、分享或图片归档时,PDF 转图片方法专题整理 JPG/PNG 格式选择、逐页导出、清晰度设置、批量下载和结果检查等流程,帮助用户稳定完成 PDF 图片化处理。

2026.09.30

80

26

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Bootstrap5 入门教程
Bootstrap5 入门教程

共0课时 | 0人学习

Bootstrap Components 组件文档
Bootstrap Components 组件文档

共0课时 | 0人学习

Bootstrap Grid 栅格系统
Bootstrap Grid 栅格系统

共0课时 | 0人学习