1

我正在研究 Sass 中从右到左的解决方案。

例如,如果原始样式是:

#foo {
  float: left;
  padding-left: 10px;
}

...函数/脚本将通过查找浮点数和填充左侧运行并将样式替换为:

#foo {
  float: right;
  padding-right: 10px;
}

我已经有了一个使用 mixins 的解决方案,如下所示:

@mixin float($origin: left) {
  @if $origin == left {
    @if $rtl { float: right; }
    @else    { float: left; }
  } @else {
    @if $rtl { float: left; }
    @else    { float: right; }
  }
}

@mixin padding-left($value) {
  padding-right: $value;
}

#foo {
  @include float(left);
  @include padding-left(10px);
}

...但是有没有办法做到这一点而不必用包含替换所有可逆属性?

4

1 回答 1

1

你可以使用一个变量,这样你就可以在一个地方设置方向,但是 Sass 没有能力根据你设置的规则来改变现有的 CSS。

$direc: left; 

div {
  float: $direc;
  padding-#{$direc}: 10px;
}
于 2013-02-27T17:58:57.057 回答