2

我正在使用引导程序,但我想更改周围的一些颜色(导航栏和按钮)。我有一个未修改的 bootstrap.css 和一个 custom.css,它更改了我想要从默认值更改的所有属性。

在我的 index.html 中,我链接了默认引导程序,然后是自定义 css 文件。

<link href="bootstrap/css/bootstrap.css" rel="stylesheet" type="text/css"/>
<link href="bootstrap/css/custom.css" rel="stylesheet" type="text/css"/>

我是网络新手,但我的理解是样式表按照它们链接的顺序相互添加。但是当我在浏览器中打开它时,它不会使用 custom.css 中指定的任何更改。我的理解是错误的,还是我只是不正确地处理这个问题?

编辑:原始导航栏内部(bootstrap.css)

.navbar-inner {
  min-height: 40px;
  padding-right: 20px;
  padding-left: 20px;
  background-color: #fafafa; /* #fafafa */ 
  background-image: -moz-linear-gradient(top, #ffffff, #f2f2f2); /*#f2f2f2 */
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f2f2f2));
  background-image: -webkit-linear-gradient(top, #ffffff, #f2f2f2);
  background-image: -o-linear-gradient(top, #ffffff, #f2f2f2);
  background-image: linear-gradient(to bottom, #ffffff, #f2f2f2);
  background-repeat: repeat-x;
  border: 1px solid #d4d4d4;
  -webkit-border-radius: 4px;
     -moz-border-radius: 4px;
          border-radius: 4px;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff2f2f2', GradientType=0);
  *zoom: 1;
  -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
     -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
          box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
}

在 custom.css 中修改了一些属性的 navbar-inner

.navbar-inner {
  background-image: -moz-linear-gradient(top, #002f6c, #002f64);
  background-image: -ms-linear-gradient(top, #002f6c, #002f64);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#002f6c), to(#002f64));
  background-image: -webkit-linear-gradient(top, #002f6c, #002f64);
  background-image: -o-linear-gradient(top, #002f6c, #002f64);
  background-image: linear-gradient(top, #002f6c, #002f64);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#'002f6c, endColorstr='#'002f64, GradientType=0);
}

HTML

<div class="navbar navbar-inverse navbar-fixed-top">
  <div class="navbar-inner">
    <div class="container">
      <a class="brand" href="#">Test</a>
      <ul class="nav pull-right">
        <li class="pull-right"><a href="about.html">About</a></li>
        <li class="pull-right"><a href="contact.html">Contact</a></li>
      </ul>
    </div>
  </div>
</div>

第一个 div 类是否也需要更改?(他们不是)

我使用这个工具来生成 custom.css 文件。

4

2 回答 2

2

说 CSS 样式按照它们应用的顺序堆叠并不一定是正确的。CSS 按重要性或特异性的顺序应用。

例如,考虑以下 HTML:

<ul id="testList">
    <li>Some data</li>
</ul>

如果您的第一个文件具有 CSS:

ul#testList { color: #f00; }

你的第二个文件有:

ul { color: #00f; }

然后你的第一个文件有更多的特异性,即使第二个文件在你的标记中排在第二位。第一种样式在其声明中更为精确。

但是,如果您将第二个样式更改为具有匹配的特异性,那么您的第二个声明将覆盖第一个。希望这可以帮助!

于 2013-07-30T12:34:10.753 回答
0

编辑:

事实证明,我使用的工具并没有改变所需的每个属性!它还应该更改 .navbar-inverse 类。在那里应用更改后,它按预期工作。

换句话说,两个文件都正确链接。

不过感谢您的回答!我当然学到了一些新东西。

于 2013-07-30T13:34:04.377 回答