【问题标题】:run-time error CSS1019: Unexpected token, found '@charset'运行时错误 CSS1019:意外的令牌,找到 '@charset'
【发布时间】:2013-05-14 00:00:12
【问题描述】:

我有一个 CSS 样式表,其中包含以下代码:

@charset "utf-8";
/* CSS Document */

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video
{
    margin: 0;
    padding: 0;
    border: 0;
    vertical-align: baseline;
}

我正面临这些错误

/* 缩小失败。返回未缩小的内容。 (1189,1): 运行时错误 CSS1019: 意外的令牌,找到 '@charset' (1189,10): 运行时错误 CSS1019: Unexpected token, found '"utf-8"' (1189,17): 运行时错误 CSS1019: Unexpected token, found ';'

【问题讨论】:

  • 也许 minifier 根本无法处理 @ 命令。如果没有它,只保存 CSS 文件怎么样,可能会抛出一个 UTF-8 BOM(尽管这不是必需的)。否则,也许this question 会有所帮助,这似乎可以处理类似的问题。
  • 是的。您是否尝试过使用媒体查询规则?还有@font-face

标签: asp.net-mvc css stylesheet


【解决方案1】:

我收到了同样的错误消息,但在我的例子中,我试图加载带有 <script> 标签的 CSS 文件。 ?

使用<link rel="stylesheet" href="foo.css"> 加载它可以正常工作。

【讨论】:

    【解决方案2】:

    只有一个@charset 可以出现在 CSS 中,并且它必须出现在文档的开头。它必须前面有任何字符,甚至不能是 cmets。

    大多数时候,这是由于将 CSS 与另一个“CSS”文件捆绑在一起。
    我的猜测是,您在单个捆绑包中使用了一堆css'es,并且捆绑文件中最顶层的CSS,只能有@charset "utf-8"
    因此,您可以在 Bundle 语句的最顶层 CSS 文件中设置 @charset "utf-8"(并确保您没有使用除 "utf-8" 之外的另一个 @charset 声明,如果是这样,那么您需要将捆绑的文件拆分为单独的捆绑包,以便每个 @charset 都位于其捆绑订单的顶部)。

    注意:由于 HTTP 标头的优先级高于文档中的 @charset 声明,您可能还希望省略 @charset 语句并在 HTTP 标头中声明它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-08
      • 1970-01-01
      • 2014-10-12
      • 1970-01-01
      • 2018-12-10
      • 2011-12-20
      • 2015-11-19
      • 2018-08-27
      相关资源
      最近更新 更多