SASS传递属性到mixin输出

时间:2015-12-18 14:33:22

标签: function properties sass mixins

我正在尝试创建一个mixin或函数,可以传递属性并输出具有单独更改设置的属性。

我在这里有一个名为emm的混音:

//Not to change, I use this in multiple scenarios 

$browser-context: 16;
@function emm($pixels, $context: $browser-context) {
  @if (unitless($pixels)) {
    $pixels: $pixels * 1px;
  }
  @if (unitless($context)) {
    $context: $context * 1px;
  }
  @return $pixels / $context * 1em;
}

由此,我可以传入一个像素大小,它将为我输出em。大。

我现在正试图通过一个单独的mixin或函数来传递一个属性,就像这样:

@mixin em($style, $pixels) {
  $style: $pixels;
  $style: emm($pixels);
}

div {
  background: red;
  height: emm(20px);

  @include em(font-size, 20px);
}

希望输出如此:

div {
  background: red;
  height: 1.25em;
  font-size: 20px;
  font-size: 1.25em;
}

但它不起作用,这是我尝试的最后一件事,我认为这是,任何想法?

我知道我可以专门针对font-size制作一个,但我希望在不制作多个mixin的情况下将它用于多个属性。

1 个答案:

答案 0 :(得分:0)

想出来!您可能知道,SASS输出很有趣,一种方法是将变量置于let theURLString = // your url string let validURLString = theURLString.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLPathAllowedCharacterSet()) let url = NSURL(string: validURLString) 内以使其工作。所以我的工作方式如下:

#{}