【问题标题】:Is there a replace function/script in Sass to swap CSS properties?Sass 中是否有替换函数/脚本来交换 CSS 属性?
【发布时间】:2013-02-27 15:14:50
【问题描述】:

我正在研究 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);
}

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

【问题讨论】:

  • 不,但是在您的文本编辑器中查找和替换应该不会那么难。
  • CSS需要通过Sass动态生成。这不是一个简单的查找和替换案例。
  • 我的意思是用你的 mixins 找到并替换显式声明。
  • 很公平,但我特别说我正在寻找非混合解决方案。

标签: css function sass right-to-left


【解决方案1】:

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

$direc: left; 

div {
  float: $direc;
  padding-#{$direc}: 10px;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-16
    • 1970-01-01
    • 2016-06-17
    • 1970-01-01
    • 2015-07-06
    • 2010-10-16
    • 2012-08-25
    • 1970-01-01
    相关资源
    最近更新 更多