1

我之前在 sass 2.2.22 中为我的字体大小制作了一个 mixin(它是一个字体转换器),如下所示:

=6.5pts
  :font
    :size 9px

自从我一年前第一次制作它以来,它就一直在工作。我们刚刚升级到 haml/sass 3,现在每当我尝试刷新正在处理的页面时,都会出现 sass 编译错误,如下所示:

http://grab.by/4yFE

我不明白,因为 Sass 3 文档说 mixins 的 = 声明没有被弃用。我尝试卸载haml 3.0,重新启动我的服务器并删除生成的css文件,现在它显然可以工作了。问题是,我需要 haml 3 用于我们刚刚开始使用 Compass 的另一个相关项目。

当文档声称声明未被弃用时,为什么编译器会抱怨?

4

2 回答 2

3

SASS-latest 是否继续允许混合名称 a) 以数字开头和 b) 包含句点?

从 SASS 文档中,“SassScript 变量和 mixin 名称现在可能包含连字符。事实上,它们可能是任何有效的 CSS3 标识符。” 这告诉我,不构成有效 CSS3 标识符的文本可能不构成有效的 SASS 变量或 mixin 名称。

来自 CSS 文档,“在 CSS 中,标识符(包括选择器中的元素名称、类和 ID)只能包含字符 [a-zA-Z0-9] 和 ISO 10646 字符 U+00A1 及更高,加上连字符 ( -) 和下划线 (_);它们不能以数字或连字符后跟数字开头。” 请注意,句点具有 Unicode 代码点 U+002E。

如果 SASS-earlier 允许您使用以数字开头或包含句点的变量和 mixin 名称,那么这种行为可能从来都不是有意的,现在可能已经不再支持。

有什么要调查的。

于 2010-05-25T13:50:57.070 回答
0

你可能需要这样写:

=6.5分
  字体:
    尺寸:9px

在参考中看到一个完美的例子:http: //sass-lang.com/docs/yardoc/file.INDENTED_SYNTAX.html#mixin_directives

于 2010-05-25T13:40:56.993 回答