首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在css选择器括号外混合使用sass中的@if语句?

在css选择器括号外混合使用sass中的@if语句?
EN

Stack Overflow用户
提问于 2017-01-04 12:30:38
回答 1查看 233关注 0票数 0

我在获得@if语句时遇到了困难,在@mixin中也是如此。

这个mixin基本上是在模拟一个‘如果小于或等于’ie语句,因为我使用php来填充body类。

代码语言:javascript
复制
// less than or equal too mixin
@mixin lte-ie($ver:'9') {
  @if $ver >= '9' { .ie-9 &, }
  @if $ver >= '8' { .ie-8 &, }
  @if $ver >= '7' { .ie-7 &, }
  .ie-6 &
  {
    @content;
  }
}

但是混音失败了,当我尝试运行它时,我会得到这个错误。

无效的CSS在"...f $ver >= '9‘{:预期的“}之后,是第20列第9行的”..ie 9 &,}“。

我做了一个萨斯迈斯特,但我不得不对@mixin进行评论,因为你救不了一个破碎的要点。但是您可以取消注释来测试上面的代码:)

http://www.sassmeister.com/gist/7bbd084be7e12845866311a6ddbf0cdf

任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2017-01-04 14:31:07

现在少做一些扩展如何,而您想出更有效的解决方案(另一方面,因为它是预处理器的一部分,所以您不需要对其进行完美的优化)。

代码语言:javascript
复制
@mixin lte-ie($ver:9) {
  @if $ver >= 9 { 
    .ie-9 &, .ie-6 & {
      @content;
    }
  }
  @if $ver >= 8 { 
    .ie-8 &, .ie-6 & {
      @content;
    }
  }
  @if $ver >= 7 { 
    .ie-7 &, .ie-6 & {
      @content;
    }
  }
  @if $ver > 7 {
    .ie-6 & {
        @content;
      }
  }
}

HEADER {
  overflow: hidden;

  @include lte-ie(9) {
    position: relative;
  }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41463881

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档