@if属性存在于SASS中

时间:2015-04-05 23:28:24

标签: if-statement attributes sass exists nested

我试图获得与此SASS代码类似的功能;



.alert-danger {
  @include alert-variant($alert-danger-bg, $alert-danger-border, $alert-danger-text);
  @include transition(ease-in-out, 95ms, all);
    @if data-interaction == true {
      &:hover,
      &:focus {
        @include alert-variant-interactive($alert-danger-bg, $alert-danger-border, $alert-danger-text); 
      }
    }
}




我无法找到一个好方法来检查"如果"但是,某些属性或类存在于.alert-danger中。我真的想保持悬停嵌套,而不必写额外的块。

现在我正在使用数据交互=" true"在.alert-danger元素上。

提前致谢!

1 个答案:

答案 0 :(得分:1)

我找到的解决方案

很高兴我找到了自己的解决方案,所以我在这里发帖,以防其他人遇到同样的问题!

代码应该看起来像这样,而不是上面写的:

.alert-danger {
  @include alert-variant($alert-danger-bg, $alert-danger-border, $alert-danger-text);
  @include transition(ease-in-out, 95ms, all);
    &[data-interaction="true"] {
      &:hover,
      &:focus {
        @include alert-variant-interactive($alert-danger-bg, $alert-danger-border, $alert-danger-text); 
      }
    }
}

我更改了我使用的@if指令& [data-attribute =“true”],它附加了嵌套值所需的属性以进行编译。 :)

再次,对上述陈述;是的,它是一个预处理器,但当然这意味着如果CSS可以做某事,SASS肯定可以做到。所有这些都是找到正确的方法。 :)