带compas的Sass,在连字符之前选择带x类的所有div

带compas的Sass,在连字符之前选择带x类的所有div,sass,Sass,我正在使用Sass,目前通过以下方式选择我的div: [class*='inner-']{ padding: $pad; } 但是这个div有两个变体:-left,-right,但是我想看看是否有更好的方法,而不是为每个样式块创建单独的样式块,如果我可以将其合并到一个块中 我的变体在填充物上略有变化 比如: [class*='inner-']{ padding: $pad; -left{ atttribute } -right{

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

[class*='inner-']{
  padding: $pad;
}
但是这个div有两个变体:
-left
-right
,但是我想看看是否有更好的方法,而不是为每个样式块创建单独的样式块,如果我可以将其合并到一个块中

我的变体在填充物上略有变化

比如:

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

我可能想得太多了,把它弄得毫无意义的复杂,但它帮助我学到了很多东西,所以如果有人能给我一些最好的解决方案,我将不胜感激

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

简单的解决方案:

%inner {
   padding: somepadding;
}

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

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

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

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

简单的解决方案:

%inner {
   padding: somepadding;
}

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

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

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

啊,太棒了,这正是我想要的:)啊,太棒了,这正是我想要的:)