【问题标题】:ASP.NET MVC 4 CSS @import attributeASP.NET MVC 4 CSS @import 属性
【发布时间】:2016-10-19 22:49:52
【问题描述】:

作为一名正在学习的开发人员,我在使用 MVC 4 中的捆绑包时遇到了我的 CSS 文件问题。

我知道一些我认为很重要的事情:

  • 当我在主体 web.config 中将调试值更改为 false 时,我放入 BundleConfig.cs 类中的 CSS 和 JS 文件会自动最小化。
  • 我读到有人说重要的是要放置 CSS 和 JS 文件的确切名称,以避免它们被多次加载。我真的不知道这是否属实,但我更喜欢写出确切的文件名。我会欣赏一些关于的其他信息。

现在问题是这样的。

我有两个 CSS 文件:

fileOne.css

// fileOne.css
@import url("_fileTwo.css");

.body{
    background: blue;
}

_fileTwo.css

// _fileTwo.css
.header{
  color: red;
}

现在的问题是,当我在 bundle 中调用 fileOne.css 并将 web.config 中的 debug 属性设置为 false 时,Bundle 会将此消息放入生成的 CSS 文件中。

/* Error de minimización. Devolviendo el contenido no minimizado.
(430,1): run-time error CSS1019: Unexpected token, found '@import'
(430,9): run-time error CSS1019: Unexpected token, found 'url(_fileTwo.css)'
 */

当我将 _fileTwo .css 放入 BundleConfig.cs 类时,它会被加载并完美地最小化。

我创建 CSS 子文件的原因是因为我希望一切都井井有条,并与其他文件分开。你知道“分而治之”。

我想知道的是这个。 我必须将我的 CSS 子文件放在 Bundle 中吗? 有没有办法使用 MVC Bundles 在 CSS 中使用 @import 属性?

非常感谢您阅读本文,请原谅我的英语。

【问题讨论】:

  • 很遗憾@import 默认不支持。您可以做的是删除@import 并将两个css 文件放在BundleConfig.cs 的同一个包中。
  • 我明白了……默认不支持,但可以吗?
  • 抱歉反馈迟了。不,我做不到,但另一件事是我工作的公司使用 Visual Studio 2012,而这个的 MVC 版本是 MVC3,对吗?我不确定是否可以在另一个新的 MVC 版本中使用导入。谢谢大家的关注。

标签: css asp.net-mvc


【解决方案1】:

当然,我会推荐使用任何 CSS 编译器(如 SASS 或 LESS)在 CSS 中进行样式设置,特别是当您需要使用 @import 时。这是因为@import 在此编译器中具有更多优势。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-12-19
    • 2013-11-25
    • 1970-01-01
    • 1970-01-01
    • 2013-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多