SCSS 中的 Javascript 表达式

标签 javascript ruby compass-sass sass

我的 SCSS 文件中有一个 @for 循环,例如:

@for $i from 1 through 12 {
    .cell:nth-child(#{$i}) {
        … //some code here
    }
}

工作正常。但我需要使用 JavaScript 表达式(例如 Math.sin())来计算一些属性,例如:

@for $i from 1 through 12 {
    .cell:nth-child(#{$i}) {
        top: Math.sin(90) * 150 * -1;
        left: Math.cos(90) * 150;
    }
}

在 SCSS 编译器中出现错误。有没有办法使用 javascript 表达式或者这是一种滥用?

最佳答案

核心 Sass 数学相当简单,但是 Compass负载为helpers ,包括 sin()cos() 函数。设置 compass 后,您可以执行以下操作:

@for $i from 1 through 12 {
    .cell:nth-child(#{$i}) {
        top: sin(90) * 150 * -1;
        left: cos(90) * 150;
    }
}

关于SCSS 中的 Javascript 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12184426/

相关文章:

javascript - JS数组中非空元素的最后索引

javascript - Next.js 与 pkg。语法要求启用以下解析器插件之一 : 'flow, typescript'

javascript - jQuery 库设计 : how does jQuery work like an array, 但它是一个对象吗?

javascript - 有什么方法可以像Python中的列表一样访问负索引数组元素吗?

shell - 安装 compass 时出错。无法构建 gem 原生扩展( compass )

compass-sass - 如何从我的 SVN 存储库中排除 .sass-cache 文件夹?

ruby-on-rails - Ruby on Rails 教程 : RSpec test failing when refactoring with matcher

ruby-on-rails - 对货币对象执行数学运算时出现问题 - "Unknown Method "Exchange_to"for 0 :fixnum"[Rails 4] [Money Gem]

ruby - 使用 Ruby BinData gem 读取选项

css - SASS/compass : Unable to use the ligthen/darken function