【问题标题】:Controlling css load order控制 CSS 加载顺序
【发布时间】:2015-03-03 01:55:48
【问题描述】:

This question 表示 css 文件按调用顺序加载。但是我有三个 css 文件,两个来自 cdn,一个来自本地,最后调用本地的。 cdn 优先于本地 css。我假设这是因为非本地 css 表需要更长的时间来加载。如何让本地 css 的规则优先?

我试过了

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap-theme.min.css">
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="style.css">

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap-theme.min.css">
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js" ></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js"></script>
<script>
    $(document).ready(function(){
        $('head').append($('<link rel="stylesheet" type="text/css" />').attr('href', 'style.css'));
    });
</script>
<link rel="stylesheet" href="style.css">

编辑:问题在于

.panel-head > .panel-default

在 cdn 文件中优先于

.panel-default

【问题讨论】:

  • 这可能是由于您的规则的特殊性和引导规则超过了它们。
  • 是的。谢谢,j08691!

标签: css cdn


【解决方案1】:

浏览器在 CSS 中从上到下读取代码。例如。您可以使用相同的确切名称创建相同命名的 div #ID 两次,但是,页面最下方或最后一个是该 div 实际将在您的 html 页面上显示的内容。

您需要获取本地 style.css 并将其放在 first 以便页面首先加载它。希望这可以帮助。如果我不清楚或者这不是您需要的答案,请告诉我,我可以提供进一步的帮助。

<link rel="stylesheet" href="style.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap-theme.min.css">
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js"></script>

【讨论】:

  • 你确定吗? bootstrap.min.css 和 style.css 都有 .panel-head > .panel-default 的规则,现在 style.css 规则优先。
  • 如果您碰巧正在使用 CMS 或预开发的应用程序并将它们合并在一起,而这只是碰巧发生...在我看来,我会这样做两件事之一。 ---我会尝试在我想在正确的 CSS 文件中生效的 CSS 规则之后添加 !important 并保留另一个原样。这在大多数情况下都有效。 --- 或者,更麻烦且可能会弹出错误或导致冲突,但值得一试的是,将类名更改为唯一的名称,然后搜索和替换所需目录中的所有 *.extension 文件。跨度>
  • 例如.class { 宽度:20px;高度:20px;填充:0px 5px 0px 5px !重要; }
  • !important 应该有效,它总是有效。不是吗?你知道你也可以只复制引导类并将其粘贴到你的 style.css 上。当它优先时,它将调用相同的结果。希望我有所帮助。祝你好运 m8。
  • 我敢肯定,它会起作用,但我认为避免使用重要的做法是个好习惯。
猜你喜欢
  • 2019-11-02
  • 2012-03-25
  • 1970-01-01
  • 2021-10-08
  • 1970-01-01
  • 2019-05-20
  • 2021-08-15
  • 2011-05-11
  • 1970-01-01
相关资源
最近更新 更多