0

我有一个 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: Unexpected token, found '@charset' (1189,10): run-time error CSS1019: Unexpected token, found '"utf-8"' (1189,17): run -time 错误 CSS1019:意外的令牌,找到 ';'

4

2 回答 2

2

我有同样的错误消息,但在我的情况下,我试图加载带有<script>标签的 CSS 文件。

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

于 2018-11-14T18:57:47.033 回答
1

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

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

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

于 2016-01-10T06:51:42.680 回答