css - 如何正确地包含带有 @import 声明的 CSS 文件并同时使用 Bundling。

标签 css asp.net-mvc visual-studio

我正在学习如何开发和发布 ASP.NET 网络应用程序。

下面是我的 BundleConfig.cs 的样子:

bundles.Add(new StyleBundle("~/Content/css").Include(
                  "~/assets/css/bootstrap.css",
                  "~/assets/css/bootstrap-datetimepicker.css",
                  "~/assets/css/language.css",
                  "~/assets/css/core.css",
                  "~/assets/css/components.css",
                  "~/assets/css/icons.css",
                  "~/assets/css/pages.css",
                  "~/assets/css/menu.css",
                  "~/assets/css/responsive.css",
                  "~/assets/css/jquery-ui.css",
                  "~/assets/css/DataTables/jquery.dataTables.min.css",
                  "~/assets/css/DataTables/colReorder.dataTables.min.css",
                  "~/assets/css/DataTables/responsive.dataTables.min.css"));

在我的 core.css 文件中,有一个

@import url('https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700|Karla:700|Nunito+Sans:600,700');

我知道在当前配置下,当它将所有 css 文件捆绑并压缩在一起时会产生此错误:

缩小失败。返回未缩小的内容。意外 token ,找到“@import”

我知道这个错误是由于 @import 声明在捆绑/缩小的 css 中间发现的。

我想了解正确包含所有 css 文件的正确标准是什么,这样当我使用 ASP.NET MVC 的捆绑时,就不会发生这种错误?我是否必须创建另一个包含所有 @import 声明的 .css 文件?

最佳答案

@import 应该是你的 css 中的第一条规则,这就是为什么你在你的 css 中间添加它时出错,@import CSS

The @import CSS at-rule is used to import style rules from other style sheets. These rules must precede all other types of rules, except @charset rules;

@import 不应包含在包中。

这就是fonts.google.com是说将字体添加到您的页面:

To embed your selected fonts into a webpage, copy this code into the <head> of your HTML document.

<link href="https://fonts.googleapis.com/css?family=Open+Sans" rel="stylesheet">

这是一个在我的 _Layout 中添加字体的示例页:

_Layout.cshtml

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>@ViewBag.Title - My ASP.NET Application</title>

    <link href="https://fonts.googleapis.com/css?family=Open+Sans" rel="stylesheet">

    @Styles.Render("~/Content/css")
    @Scripts.Render("~/bundles/modernizr")
</head>

关于css - 如何正确地包含带有 @import 声明的 CSS 文件并同时使用 Bundling。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51452890/

相关文章:

html - 用于显示标签/值数据的 html 标记是什么?

asp.net-mvc - 你把既不是 Controller 、模型、助手或 View 模型的类放在哪里?

javascript - Internet Explorer 中的 JQuery DOM 操作和 window.onbeforeunload

c++ - 禁用通过 _CRT_SECURE_NO_DEPRECATE 生成的警告

c++ - 如何检查构造函数/析构函数中是否使用了虚方法?

c++ - 在旧版 Visual Studio 中开发的链接库

CSS - 具有覆盖/背景模糊对 Angular 线的图像

jquery - 防止表单基于宽度提交

html - 如何设置垂直高度以防止 float 跨度溢出?

jquery - 在 ASP.NET Mvc 中使用 Dropzone 传递隐藏的表单值