Bootstrap下拉nav-link聚焦/点击时背景色修改方法咨询
解决Bootstrap下拉菜单链接聚焦/点击时背景色修改问题
你的问题出在CSS选择器定位错误——下拉菜单里的链接类是dropdown-item,而非nav-link,且原选择器的状态写法不符合需求。以下是正确的CSS规则:
/* 修改下拉菜单链接聚焦、点击激活、选中时的背景色为红色 */ .dropdown-item:focus, .dropdown-item:active, .dropdown-item.active { background-color: red !important; /* 可选:修改文字颜色为白色,提升可读性 */ color: white !important; }
修改后的完整代码
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Bootstrap demo</title> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous"> <style> .dropdown-item:focus, .dropdown-item:active, .dropdown-item.active { background-color: red !important; color: white !important; } </style> </head> <body> <nav class="navbar navbar-expand-lg bg-body-tertiary"> <div class="container-fluid"> <a class="navbar-brand" href="#">Navbar</a> <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="navbarSupportedContent"> <ul class="navbar-nav me-auto mb-2 mb-lg-0"> <li class="nav-item"> <a class="nav-link active" aria-current="page" href="#">Home</a> </li> <li class="nav-item"> <a class="nav-link" href="#">Link</a> </li> <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false"> Dropdown </a> <ul class="dropdown-menu"> <li><a class="dropdown-item" href="#">Action</a></li> <li><a class="dropdown-item" href="#">Another action</a></li> <li> <hr class="dropdown-divider"> </li> <li><a class="dropdown-item" href="#">Something else here</a></li> </ul> </li> <li class="nav-item"> <a class="nav-link disabled" aria-disabled="true">Disabled</a> </li> </ul> <form class="d-flex" role="search"> <input class="form-control me-2" type="search" placeholder="Search" aria-label="Search"> <button class="btn btn-outline-success" type="submit">Search</button> </form> </div> </div> </nav> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script> </body> </html>
说明
dropdown-item:focus:匹配链接被键盘聚焦或鼠标点击聚焦时的状态dropdown-item:active:匹配链接被点击激活的瞬间状态dropdown-item.active:匹配链接被设置为选中(添加active类)的状态- 使用
!important是为了确保覆盖Bootstrap默认的内联或高优先级样式,若你的自定义CSS放在Bootstrap CSS之后,也可以尝试去掉!important测试优先级是否足够
内容的提问来源于stack exchange,提问作者well responsive
相关产品推荐
相关产品推荐

