【问题标题】:Is it possible to have a combined transform mixin in sass?是否可以在 sass 中使用组合转换 mixin?
【发布时间】:2016-09-17 07:13:39
【问题描述】:

我想用 scss 重新创建以下内容:

transform: rotate(-20deg) scale(1) skew(-20deg)  translate(-40px);

但我想避免输入多个浏览器前缀,所以我有:

@mixin transform($transforms) {
   -moz-transform: $transforms;
     -o-transform: $transforms;
    -ms-transform: $transforms;
-webkit-transform: $transforms;
      transform: $transforms;

}

这适用于单独的转换,例如:

 @mixin scale($scale) {
 @include transform(scale($scale));

}

我已尝试包含函数

 @mixin skewTitle($rot, $sca, $ske, $tran){
  @include transform(scale($sca));
  @include transform(skew(#{$ske}deg));
  @include transform(translate($tran));
  @include transform(rot(#{$rot}deg));
}

但它只是将它们连续组合,导致其中一个覆盖另一个。

-moz-transform: scale(1);
  -o-transform: scale(1);
  -ms-transform: scale(1);
  -webkit-transform: scale(1);
  transform: scale(1);
  -moz-transform: rotate(-30deg);
  -o-transform: rotate(-30deg);
  -ms-transform: rotate(-30deg);
  -webkit-transform: rotate(-30deg);
  transform: rotate(-30deg);
  -moz-transform: skew(-20deg);
  -o-transform: skew(-20deg);
  -ms-transform: skew(-20deg);
  -webkit-transform: skew(-20deg);
  transform: skew(-20deg);
  -moz-transform: translate(-40px);
  -o-transform: translate(-40px);
  -ms-transform: translate(-40px);
  -webkit-transform: translate(-40px);
  transform: translate(-40px);

我尝试将它们组合成这样的:

@include transform: rotate(#{$val}deg) scale($val) skew(#{$val}deg)  translate($val);

我试过了,但是没有用。是否可以结合地图来获得这些方面的东西?

【问题讨论】:

  • 为什么不像@include transform(rotate(#{$rot}deg) scale(#{$sca}) skew(#{$ske}deg) translate(#{$tran}px));这样写呢?它对我有用@sassmeister.com
  • 你能举个例子吗?它不适合我。 @mixin skewTitle($rot, $sca, $ske, $tran){ @include transform(rotate(#{$rot}deg) scale(#{$sca}) skew(#{$ske}deg) translate(#{$tran}px)); }
  • 请查看this。点击“View Compiled”按钮查看编译后的CSS。
  • 嘿,这是一个“逗号”的情况。谢谢!

标签: css sass transform mixins


【解决方案1】:

使用

@include transform(rotate(-20deg) scale(1) skew(-20deg) translate(-40px));

【讨论】:

  • 添加一些解释,说明此答案如何帮助 OP 解决当前问题
  • 虽然这段代码 sn-p 可以解决问题,但including an explanation 确实有助于提高帖子的质量。请记住,您是在为将来的读者回答问题,而这些人可能不知道您提出代码建议的原因。
猜你喜欢
  • 1970-01-01
  • 2020-09-21
  • 2013-12-26
  • 1970-01-01
  • 2014-12-17
  • 2021-07-15
  • 1970-01-01
  • 1970-01-01
  • 2013-08-17
相关资源
最近更新 更多