【问题标题】:How to override bootstrap styles?如何覆盖引导样式?
【发布时间】:2014-11-11 21:42:07
【问题描述】:

我正在尝试更改 Visual Studio 2013 中新的 ASP.NET MVC 5 应用程序附带的默认主题中的简单 CSS 属性。特别是我需要更改导航菜单的背景颜色。

我通过 Firebug 找到了这个属性,它的新值应该是:

.navbar-inverse { background-color: #5B80A5}

我最初尝试在 Site.css 中添加覆盖 CSS 行,因为我注意到 BundleConfig.cs 中的这些行:

    bundles.Add(new StyleBundle("~/Content/css").Include(
              "~/Content/bootstrap.css",
              "~/Content/site.css"));

但是导航菜单的背景颜色没有改变。

然后我在我的解决方案中搜索 .navbar-inverse 并返回搜索结果:

Web\Content\bootstrap-theme.css(240):.navbar-inverse {
Web\Content\bootstrap-theme.css(249):.navbar-inverse .navbar-nav > .active > a {
Web\Content\bootstrap-theme.css(259):.navbar-inverse .navbar-brand,
Web\Content\bootstrap-theme.css(260):.navbar-inverse .navbar-nav > li > a {
Web\Content\bootstrap-theme.css.map(1):{"version":3,"file":"bootstrap-theme.css","sources":["less/theme.less","less/mixins/vendor-prefixes
Web\Content\bootstrap-theme.min.css(5): */.btn-default,.btn-primary,.btn-success,.btn-info,.btn-warning,.btn-danger{text-shadow:0 -1px 0 r
Web\Content\bootstrap.css(4190):.navbar-inverse {
Web\Content\bootstrap.css(4194):.navbar-inverse .navbar-brand {
Web\Content\bootstrap.css(4197):.navbar-inverse .navbar-brand:hover,
Web\Content\bootstrap.css(4198):.navbar-inverse .navbar-brand:focus {
Web\Content\bootstrap.css(4202):.navbar-inverse .navbar-text {
Web\Content\bootstrap.css(4205):.navbar-inverse .navbar-nav > li > a {
Web\Content\bootstrap.css(4208):.navbar-inverse .navbar-nav > li > a:hover,
Web\Content\bootstrap.css(4209):.navbar-inverse .navbar-nav > li > a:focus {
Web\Content\bootstrap.css(4213):.navbar-inverse .navbar-nav > .active > a,
Web\Content\bootstrap.css(4214):.navbar-inverse .navbar-nav > .active > a:hover,
Web\Content\bootstrap.css(4215):.navbar-inverse .navbar-nav > .active > a:focus {
Web\Content\bootstrap.css(4219):.navbar-inverse .navbar-nav > .disabled > a,
Web\Content\bootstrap.css(4220):.navbar-inverse .navbar-nav > .disabled > a:hover,
Web\Content\bootstrap.css(4221):.navbar-inverse .navbar-nav > .disabled > a:focus {
Web\Content\bootstrap.css(4225):.navbar-inverse .navbar-toggle {
Web\Content\bootstrap.css(4228):.navbar-inverse .navbar-toggle:hover,
Web\Content\bootstrap.css(4229):.navbar-inverse .navbar-toggle:focus {
Web\Content\bootstrap.css(4232):.navbar-inverse .navbar-toggle .icon-bar {
Web\Content\bootstrap.css(4235):.navbar-inverse .navbar-collapse,
Web\Content\bootstrap.css(4236):.navbar-inverse .navbar-form {
Web\Content\bootstrap.css(4239):.navbar-inverse .navbar-nav > .open > a,
Web\Content\bootstrap.css(4240):.navbar-inverse .navbar-nav > .open > a:hover,
Web\Content\bootstrap.css(4241):.navbar-inverse .navbar-nav > .open > a:focus {
Web\Content\bootstrap.css(4246):  .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {
Web\Content\bootstrap.css(4249):  .navbar-inverse .navbar-nav .open .dropdown-menu .divider {
Web\Content\bootstrap.css(4252):  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
Web\Content\bootstrap.css(4255):  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,
Web\Content\bootstrap.css(4256):  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {
Web\Content\bootstrap.css(4260):  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,
Web\Content\bootstrap.css(4261):  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,
Web\Content\bootstrap.css(4262):  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {
Web\Content\bootstrap.css(4266):  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,
Web\Content\bootstrap.css(4267):  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,
Web\Content\bootstrap.css(4268):  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {
Web\Content\bootstrap.css(4273):.navbar-inverse .navbar-link {
Web\Content\bootstrap.css(4276):.navbar-inverse .navbar-link:hover {
Web\Content\bootstrap.css(4279):.navbar-inverse .btn-link {
Web\Content\bootstrap.css(4282):.navbar-inverse .btn-link:hover,
Web\Content\bootstrap.css(4283):.navbar-inverse .btn-link:focus {
Web\Content\bootstrap.css(4286):.navbar-inverse .btn-link[disabled]:hover,
Web\Content\bootstrap.css(4287):fieldset[disabled] .navbar-inverse .btn-link:hover,
Web\Content\bootstrap.css(4288):.navbar-inverse .btn-link[disabled]:focus,
Web\Content\bootstrap.css(4289):fieldset[disabled] .navbar-inverse .btn-link:focus {
Web\Content\bootstrap.css(6207):.navbar-inverse { background-color: #F7931A}
Web\Content\bootstrap.css(6208):.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>li>a:hover, .navbar-inverse .navba
Web\Content\bootstrap.css(6209):.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.ope
Web\Content\bootstrap.css(6212):.navbar-inverse { background-image: none; }
Web\Content\bootstrap.css(6214):.navbar-inverse { border-color: #BD7014}
Web\Content\bootstrap.css(6215):.navbar-inverse .navbar-brand { color: #FFFFFF}
Web\Content\bootstrap.css(6216):.navbar-inverse .navbar-brand:hover { color: #9E601B}
Web\Content\bootstrap.css(6217):.navbar-inverse .navbar-nav>li>a { color: #FFFFFF}
Web\Content\bootstrap.css(6218):.navbar-inverse .navbar-nav>li>a:hover, .navbar-inverse .navbar-nav>li>a:focus { color: #FDFFF7}
Web\Content\bootstrap.css(6219):.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.open>a, .navbar-inverse .navbar-nav>.op
Web\Content\bootstrap.css(6220):.navbar-inverse .navbar-nav>.active>a:hover, .navbar-inverse .navbar-nav>.active>a:focus { color: #FFFFFF}
Web\Content\bootstrap.css(6223):.navbar-inverse .navbar-nav>.dropdown>a .caret { border-top-color: #FFFFFF}
Web\Content\bootstrap.css(6224):.navbar-inverse .navbar-nav>.dropdown>a:hover .caret { border-top-color: #FFFFFF}
Web\Content\bootstrap.css(6225):.navbar-inverse .navbar-nav>.dropdown>a .caret { border-bottom-color: #FFFFFF}
Web\Content\bootstrap.css(6226):.navbar-inverse .navbar-nav>.dropdown>a:hover .caret { border-bottom-color: #FFFFFF}
Web\Content\bootstrap.css.map(1):{"version":3,"file":"bootstrap.css","sources":["bootstrap.css","less/normalize.less","less/print.less","l
Web\Content\bootstrap.min.css(5): *//*! normalize.css v3.0.1 | MIT License | git.io/normalize */html{font-family:sans-serif;-webkit-text-s

我在上述每个文件的末尾添加了自定义 CSS 行,但仍然没有发生任何事情。我每次都重新构建项目,清除浏览器中的缓存,但没有任何改变。

知道如何覆盖默认的 boostrap 样式吗?快把我逼疯了!

没有真正帮助的类似问题:

Overriding bootstrap styles, How to override bootstrap input box style in table?, Cant override bootstrap

【问题讨论】:

  • 将此.navbar-inverse { background-color: #5B80A5} 添加到~/Content/site.css 的底部。记得刷新你的 css 文件(在浏览器中按 ctrl+r)
  • @py3r3str 这是我尝试的第一件事,你是对的,因为我输入错误 styles.css 而不是 site.css,我更新了我的问题,谢谢。
  • 在我新创建的项目中,它就像一个魅力;)

标签: asp.net-mvc css twitter-bootstrap asp.net-mvc-5


【解决方案1】:

文件名无效 - 使用“Site.css”而不是“site.css”。我也遇到了这个问题并以这种方式解决了没有任何其他更改...

bundles.Add(new StyleBundle("~/Content/css").Include(
          "~/Content/bootstrap.css",
          "~/Content/Site.css"));

【讨论】:

  • 我认为这是 Visual Studio 中的一个错误。为了使整个站点使用 CSS,文件名(在 BundleConfig.cs 中)必须是大写的 Site.css 而不是小写的 site.css。据我所知,Visual Studio 和 Windows 都注意文件名的大小写。
【解决方案2】:

使包含.navbar-inverse 类样式的自定义类比引导类更具体。您可以将一个类添加到您的 <body> 标记并使用它来为您的自定义覆盖添加前缀。

.myCustomStyle .navbar-inverse

如果你不能编辑你的 HTML,你可以使用每个 html 文档都有的明显标签:

body .navbar-inverse

也会使您的样式更具体,但为了代码的可读性,请使用第一种方法。

您不必再担心文件的放置位置,因为 CSS 特定性将始终覆盖引导类 + 您始终可以通过其名称前缀确定它是您的类,这使得进一步调试更加容易.

【讨论】:

  • 谢谢,这个似乎有效!但是,如果没有自定义 CSS 类,我仍然不知道该怎么做,我在上面的描述中做错了什么?
  • @DougPeters 在浏览器中检查您的 html 源代码头,并检查在 bootstrap.css 之后是否确实添加了 site.css,以确保您的 Include 确实按该顺序添加了项目。还要检查开发工具在哪里引用了您的类以及哪个引导程序行覆盖它 - 通常如果您复制完全相同的引导程序类并将其应用到您自己的 css 中并在您调用引导程序 css 后调用它,它可以 100% 工作。
【解决方案3】:

_layout.cshtml CSS order

如果您将 CSS 引用放在引导程序之前,它将使自定义 CSS 优先于引导程序。如果你看我在 bootstrap.min.css 参考上面有 site.css 参考。这在 Shared/_Layout.cshtml 文件中。

【讨论】:

    【解决方案4】:

    删除 bootstrap.min.css 或 bootstrap.css。 类似的问题在这里 CSS changes on MVC App not working

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-26
      • 2019-03-11
      相关资源
      最近更新 更多