gpt4 book ai didi

sass - compass 不编译@charset 规则

转载 作者:行者123 更新时间:2023-12-01 11:39:43 27 4
gpt4 key购买 nike

我的 _base.scss 部分中有 @charset "utf-8" 规则,当我在我的主文件中导入 _base.scss 时,@charset 规则不编译。我尝试 @viewport {width:device-width;} 并且编译正常,但 @charset 没有。知道问题出在哪里吗?

是的,这是我的 _base.scss 部分中的第一条规则,我尝试了其他 CSS @rules,它们工作正常,但 @charset 不想在 .css 文件中编译。

最佳答案

好的,我花了一些时间来解决这个问题。这是我认为是一个错误,尽管它可能被认为是 SASS 中的一个实际“功能”。

因此,即使您使用以下方法在 SASS 文件中指定 utf-8 编码:

@charset "UTF-8";

...如果您不使用任何非 ascii 字符,那么它实际上会删除字符集定义。目前(据我所知)在任何 SASS 发行版中都没有解决这个问题——我看起来很难。

因此,为了强制将字符集定义呈现到输出 .css 文件,我添加了以下包含非 ascii 字符的虚拟类,并使其立即开始吐出字符集:

//In your main .scss file - first line, first character:
@charset "UTF-8";
[more code...]

然后,在 SASS 编译的任何文件中,添加以下规则:

.force-UTF-8{
content: "¡";
}

您可以为规则命名任何您想要的名称,并且您可以将倒置的感叹号更改为您想要的任何其他名称,只要它是非 ascii 字符即可。您可以通过按住“alt”并在小键盘上点击“0-1-6-1”来键入该字符(至少在 Windows 上)。只需谷歌非 ascii 字符,您应该就能弄明白。

我知道这不太理想,但它确实有效。

关于sass - compass 不编译@charset 规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22573254/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com