在页面加载时选择默认 css
Posted
技术标签:
【中文标题】在页面加载时选择默认 css【英文标题】:Choosing the default css on page load 【发布时间】:2015-01-18 12:55:48 【问题描述】:我有一个非常基本的 mvc 应用程序。
我有两个 css 文件,即 Site.css 和 bootstrap.min.css。
我在应用程序中看到 bootstrap.min.css 中提到的样式正在加载,其样式类似于
html,bodymargin:0;padding:0;
等等
当我调试代码时,我知道这两个 css 文件都存在于 _Layout.cshtml 中
link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" 链接 href="@Url.Content("~/Content/bootstrap.min.css")" rel="stylesheet" type="文本/css"
我的问题是:是否因为在顺序中在 Site.css 之后使用 bootstrap.min.css 文件,正在应用 bootstrap.min.css 样式?或者有没有办法选择可用的默认 css在 MVC 中?
【问题讨论】:
【参考方案1】:Css 总是应用最底层的代码,这意味着 bootstrap.min.css 中的内容如果重新定义会覆盖你的 Site.css
样式。
如果你能够编辑Site.css
,你应该试试这个重要的参数:
background-color: #000 !important;
如果您甚至可以更改顺序,您应该考虑先这样做
这将使规则锁定(除非您稍后在同一规则中使用!important
,但据我所知,引导程序完全没有!important
)
【讨论】:
【参考方案2】:简短的回答,CSS 样式按此顺序应用 - 来自这个 SO 问题
CSS files applying order
-
用户代理声明(浏览器默认样式)
用户正常声明
作者(页面)正常声明
作者(页面)重要声明
用户重要声明
特别是在您的情况下, bootstrap.min.csss 文件在 Site.css 文件之后应用,因此具有优先权。
【讨论】:
以上是关于在页面加载时选择默认 css的主要内容,如果未能解决你的问题,请参考以下文章
为页面动态换肤(即调用不同css文件时),刷新主页时总是会先加载出默认样式,闪一下后才出现设定样式