html - 从 CSS 库(Bootstrap)覆盖 CSS

标签 html css twitter-bootstrap

我使用 CSS 库的主要问题是它们经常会覆盖我专门设置的自定义 CSS 样式。例如,这里我有一个存在于 Bootstrap 展开/折叠菜单中的列表:

<ul class="nav navbar-nav">
   <li>
      <a href="#" style=""><img src="images/arrow.gif" style="width: 20px;">Link A</a>
   </li>
</ul>

我想设置自己的字体颜色,所以我使用了下面的 CSS:

nav li {
  font-size: 16px;
  color: #004687;
}

但是当我在 Firefox 的检查器中查看时,我发现我选择的颜色被 Bootstrap 覆盖了。

我的自定义 CSS 发生在 Bootstrap 文件已加载到 HTML 文档中。

如何在不为每个元素设置 style="color: #004687" 的情况下防止这种情况发生?

编辑:感谢到目前为止的建议,但没有一个成功。我正在粘贴完整的原始代码,以便为您提供更多详细信息:

<div class="container">
    <header class="navbar navbar-static-top bs-docs-nav">
      <div class="col-md-4 visible-xs" id="mobile-nav-outer">
        <div class="navbar-header">
            <button class="navbar-toggle" type="button" data-toggle="collapse" data-target=".bs-navbar-collapse">
              <span class="sr-only">Toggle navigation</span>
              <span class="icon-bar"></span>
              <span class="icon-bar"></span>
              <span class="icon-bar"></span>
            </button>
          <a href="../" class="navbar-brand">Menu</a>
        </div>
        <nav class="collapse navbar-collapse bs-navbar-collapse" id="mobile-nav-inner" role="navigation">
          <ul class="nav navbar-nav">
            <li>
              <a href="#" class="nav-mobile-link"><img src="images/arrow.gif" style="width: 20px;">Link A</a>
            </li>
          </ul>

        </nav>
      </div>
  </header>
</div>

我的 CSS 是这样包含的:

  <head>
    <link href="bootstrap/css/bootstrap.min.css" rel="stylesheet">
    <link href="bootstrap/css/docs.min.css" rel="stylesheet">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
    <script src="bootstrap/js/bootstrap.min.js"></script>

    <style type="text/css">
        #mobile-nav-outer {
          border: 1px solid #CCC;
          background-color: #FFF;
        }
        #mobile-nav-inner {
          border: 1px solid #CCC;
          background-color: #FFF;
          margin: 3px;
        }
        nav li {
            font-size: 16px;
            color: #004687;
        }
        .nav-mobile-link {
            font-size: 16px;
            color: #004687;        
        }
    </style>
  </head>

编辑 3: 我找到了一种廉价的解决方法,即使用 ID 而不是由于 CSS 特异性(ID 覆盖类)而起作用的类。这不是一个非常干净的解决方案,我仍然想知道为什么我不能用自己的类覆盖 Bootstrap 类。

最佳答案

用添加到列表中的其他类覆盖它:

<ul class="nav navbar-nav custom-class">
    <li>
        <a href="#" style=""><img src="images/arrow.gif" style="width: 20px;">Link A</a>
    </li>
</ul>

在您的自定义样式中:

.nav.custom-class li {
    font-size: 16px;
    color: #004687;
}

关于html - 从 CSS 库(Bootstrap)覆盖 CSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24011804/

相关文章:

php - swiftmailer 动态附加 Symfony

javascript - css api 的 jquery if else 条件

css - Bootstrap 卡片填充无边界

javascript - IE7/8 不动态添加 css 属性 'top' 作为内联样式

css - 在 xs 屏幕尺寸下发现可折叠的导航菜单链接

javascript - Jquery Ui 和 Bootstrap 的响应能力

html - 如何将元素与 CSS 样式表中的某个类匹配?

html - 增加 Bootstrap 4 表格的列宽

html - 如何在左右边框上放置两个线性渐变?

html - 将 CSS 链接到 HTML 时遇到问题