【问题标题】:Sass Error: Invalid CSS after "...0, 0, -5deg); }": expected 1 selector or at-rule, was "{" [closed]Sass 错误:“...0, 0, -5deg); }”之后的 CSS 无效:预期 1 个选择器或规则,为“{”[关闭]
【发布时间】:2019-05-15 22:47:11
【问题描述】:

编译时抛出 Sass 错误:

@keyframes flipInX

    from
        transform: perspective(400px) rotate3d(1, 0, 0, 90deg)
        animation-timing-function: ease-in
        opacity: 0

    40%
        transform: perspective(400px) rotate3d(1, 0, 0, -20deg)
        animation-timing-function: ease-in

    60%
        opacity: 1
        transform: perspective(400px) rotate3d(1, 0, 0, 10deg)

    80%
        transform: perspective(400px) rotate3d(1, 0, 0, -5deg)

    to
        transform: perspective(400px)

错误指向这一行:

    ...
80%

变换:透视图(400px) rotate3d(1, 0, 0, -5deg)

to
    ...

此错误过去在不同的地方抛出,并在切换行或重新键入选项卡和/或新行键入后消失。这似乎是一个错误,这很烦人。我该如何解决这个问题?

附:如果有帮助的话,我正在使用 Sublime Text 3...

【问题讨论】:

    标签: css sass compilation


    【解决方案1】:

    我在这里找到了这个问题的解决方案:How do I force Sublime Text to indent two spaces per tab?

    问题在于我的编辑器中的缩进不正确(感谢Daniel Sixl)。在 Sublime Text 中更改首选项可以解决问题(我希望它永远不会再出现)。偏好是:

    "tab_size": 2,
    "translate_tabs_to_spaces": true,
    "detect_indentation": false,
    

    【讨论】:

    • 旁注:Sublime Text 中有一个快捷方式,如果需要,缩进经常更改:只需单击右下角有关当前文档缩进的信息消息。将出现一个包含所有选项的上下文菜单。
    【解决方案2】:

    在我看来这是您的缩进。 Sass 有缩进语法——缩进等同于使用{}。

    在您的示例中,缺少缩进,因此无法正确编译代码。

    将您的代码复制到 CodePen 中并给它缩进正在为我修复错误:

    @keyframes flipInX
      from
          transform: perspective(400px) rotate3d(1, 0, 0, 90deg)
          animation-timing-function: ease-in
          opacity: 0
      40%
          transform: perspective(400px) rotate3d(1, 0, 0, -20deg)
          animation-timing-function: ease-in      
      60%
          opacity: 1
          transform: perspective(400px) rotate3d(1, 0, 0, 10deg)
      80%
          transform: perspective(400px) rotate3d(1, 0, 0, -5deg)
      to
          transform: perspective(400px)
    

    缩进由两个空格组成,没有制表符。

    【讨论】:

    • 是的,复制到 codepen 并给它缩进固定的问题。 Codepen 每个制表符使用 2 个空格。我在编辑器中重新键入制表符,每个制表符缩进 4 个空格,它可以工作,但问题仍然存在……也许编辑器会导致识别问题。如何解决它 - 是问题
    • 在 Sass 指南 (sass-guidelin.es) 中,它说 Sass 需要两个空格的缩进。 codepen.io/Sixl/pen/vvGLvx?editors=1101你能解释一下你的评论“我在编辑器中重新输入标签,每个标签有 4 个空格”吗?
    • 还有关于如何在 SO 上更改 Sass 的缩进(2 个空格到 4 个空格)的答案:stackoverflow.com/questions/13689264/change-indentation-in-sass
    • @DanielSixl 在 Sublime 中,您可以告诉它在缩进时使用制表符或空格。您还可以告诉它缩进中有多少个空格。我相信这就是 OP 所说的。
    • '我在我的编辑器中为每个标签重新输入 4 个空格'意味着 - 我用 4 个空格的标签替换了 2 个空格的标签。感谢您的链接。而且我还看到 - 当我用写字板打开 sass 文件时,我看到 3 个空格选项卡和缺少的选项卡和 idk 为什么 sublime 显示这个与文件中的不同...我尝试使用 Visual Code Editor 和 Notpad++,它们显示像 Sublime 这样的文件...
    猜你喜欢
    • 2019-07-14
    • 1970-01-01
    • 2018-11-20
    • 2019-11-26
    • 1970-01-01
    • 2018-06-19
    • 2020-02-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多