sass - 在 Sass 函数中添加两个值创建 'px' 的双实例

标签 sass

我在 Sass 中有一个自定义函数,它接受一个 em 值,去除单位并创建一个 px 值:

@function stripAndPx($in){
  $stripped: $in / ($in * 0 + 1); //strip unit
  @return #{ (($stripped) * 16) + 'px'}; //convert to px
}

然后我尝试获取一个 em 变量:

$em-variable: 1em;

并将其添加到基于像素的变量中:

$px-variable: 20px;

例子:

right: $px-variable + (stripAndPx($em-variable));

创建此输出:

right: 20px16px;

我希望添加两个值:

右:36px;

最佳答案

您的函数返回一个字符串,而不是一个数字。 Sass 假定您想要连接它们,因为这是它可以对字符串和任何其他类型执行的所有操作。

@function stripAndPx($in){
  $stripped: $in / ($in * 0 + 1); //strip unit
  @return (($stripped) * 16) * 1px; //convert to px
}

关于sass - 在 Sass 函数中添加两个值创建 'px' 的双实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26665752/

相关文章:

css - 允许 SASS 中的 'empty' 类名用于生成实用程序

css - 如何从 Compass 输出压缩的 CSS?

Mixin、函数和变量名称的 Sass 插值

html - 使用 HAML/SASS/CSS 框架制作静态网站的库

javascript - 将函数 random() 与 sass 一起使用来选择随机变量

reactjs - 在 React JSX 字符串中嵌套变量

css - SASS - 在多个文件中使用变量

css - Sass mixin 中的变量而不是类

sass - ionic 3 警报字体大小

php - 在 Symfony 2 上使用 Assetic 进行罗盘 Sprite 绘制