html - 如何覆盖 Bootstrap 4 中的 nav-pills 下拉样式?

标签 html css bootstrap-4

我正在尝试更改修改我的 CSS 的菜单链接的颜色。作为菜单选择 nav-pills。这是我的代码。

HTML

<!DOCTYPE html>
<html>
  <head>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
    <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
  </head>
  <body>
    <nav class="navbar navbar-expand-lg">
      <div class="container">
        <ul class="mr-auto nav nav-pills">
          <li class="nav-item dropdown">
            <a class="nav-link" href="#" data-toggle="dropdown">My dropdown</a>
            <div class="dropdown-menu">
              <a class="dropdown-item" href="#">l1</a>
              <a class="dropdown-item" href="#">l2</a>
              <a class="dropdown-item" href="#">l3</a>
            </div>
          </li>
        </ul>
      </div>
    </nav>
  </body>
</html>

CSS:

.nav-pills > li > a {
  background-color: #888;
  color: white;
}

.nav-pills > li > a:hover,
.nav-pills > li > a:focus,
.nav-pills > li > a:active {
  background-color: #123 !important;
  color: #085;
}

在我点击它之前,菜单药丸看起来很好。在悬停时它也表现良好。但是当我点击它时,文字颜色变成白色。当我将光标放在下拉菜单中的链接上时,药丸会变成标准蓝色,而不是保持深蓝色。我该如何解决?

我正在使用 Bootstrap 4。

最佳答案

看看 CSS :active 选择器。

https://www.w3schools.com/cssref/sel_active.asp

.nav-pills > li > a:hover,
.nav-pills > li > a:focus,
.nav-pills > li > a:active {
  background-color: #123 !important;
  color: #085;
}

在您的具体情况下,您可以通过添加以下内容来解决问题:

.show > .nav-link {
  color: #085 !important;
}

.nav-pills > li.show > a:focus,
.nav-pills > li.show > a:not(:focus) {
  background-color: #123 !important;
  color: #085;
}

.dropdown-item:active,
.nav-link:active {
  background-color: #123 !important;
}

这是更新的 fiddle .

关于html - 如何覆盖 Bootstrap 4 中的 nav-pills 下拉样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51233351/

相关文章:

jquery - 隐藏按钮但有空白

javascript - 再次单击切换 div 时如何获得动态高度

javascript - 如何在不刷新页面的情况下从另一个菜单获取值?

html - 如何在 bootstrap col 中垂直居中 div

javascript - 使用 JS 在 fieldset 中进行 Div

html - Bootstrap 表单页面在小尺寸屏幕上显示不正确

html - 隐藏我的内容的 CSS 导航栏

javascript - 复选框结构,如果选中单个子复选框,则应自动选中父复选框

html - CSS Flexbox - 使用 Flex Wrap 和 Flex Growth 属性时元素之间的间距

html - 宽度为auto的div,彼此相邻