【问题标题】:Sass mixin not compiling?Sass mixin 不编译?
【发布时间】:2010-05-25 21:50:57
【问题描述】:

我之前在 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 的另一个相关项目。

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

【问题讨论】:

    标签: ruby-on-rails haml sass


    【解决方案1】:

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

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

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

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

    需要调查的东西。

    【讨论】:

    • 嗯,是的,这可能是值得研究的事情,尽管这意味着我正在重构代码。我已经想到了这一点,但我自己否​​认了这一点(部分原因是我不想重构),但它看起来像是解决这个问题的唯一方法。明天我会尝试将其评论出来,看看它对我有什么影响
    【解决方案2】:

    你可能需要这样写:

    =6.5分 字体: 尺寸:9px

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

    【讨论】:

    • 前置冒号也适用于 sass,并且在 sass 3 中没有被弃用,对吧?
    • 我不知道它,但由于它不在文档中,它可能已被弃用。让我检查一下。
    猜你喜欢
    • 2017-10-11
    • 2016-04-27
    • 1970-01-01
    • 2021-10-29
    • 2018-09-30
    • 2019-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多