1

我正在使用 Sass,目前通过以下方式选择我的 div:

[class*='inner-']{
  padding: $pad;
}

但是我有这个 div 的两个变体,它们是:-left-right但我想看看是否有更好的方法,而不是为每个样式块做单独的样式块,如果我可以将它合并到一个块中。

我的变体在填充上略有不同。

所以像:

[class*='inner-']{
      padding: $pad;
      -left{
       atttribute
      }
      -right{
      attribute
      }
    }

我可能会想太多,让它变得毫无意义地复杂,但它帮助我学到了很多东西,所以如果有人能阐明最好的解决方案,我会很感激。

4

1 回答 1

1

不确定我是否正确理解了您的需求,但我认为您使它太复杂了。

不错且简单的解决方案:

%inner {
   padding: somepadding;
}

.inner-left {
   @extend %inner;
   some other: attributes for left;
}

.inner-right {
   @extend %inner;
   some other: attributes for right;
}

我们使用占位符(%inner),它就像一个静默类,直到调用才会输出。然后将其扩展到这两个类。不错,干净且可维护的解决方案。

于 2013-09-02T14:52:19.113 回答