反向查找sass mixin,这可能吗?

时间:2013-04-18 10:33:22

标签: css sass mixins

有人知道SASS是否可以使用以下内容

我有一个ie mixin:

@mixin ie($version) {
    @if $version == 8 {
        html.lt-ie9 {
            @content;
        }
    }
    @if $version == 7 {
        html.lt-ie8 {
            @content;
        }
    }
}

用法:

@include ie(8){
    body {
        header {
            color: beige;
        }
    }
}

呈现:

html.lt-ie9 body header {
  color: beige;
}

如果我能做到这样的事情,那真是太棒了:

header {
    > nav {
        color: beige;
        @include ie(8) {
            color: green;
        }
    }
}

将呈现

header > nav {
    color: beige;
}

html.lt-ie9 header > nav {
    color: green;
}

这可能是一厢情愿的想法,但如果有可能这样的话,任何人都有任何想法

[编辑]

所以有可能!超级。

我已将我的mixin更新为:

@mixin ie($version,$depth:false) {
    @if $depth == false {
        @if $version == 8 {
            html.lt-ie9 {
                @content;
            }
        }
        @if $version == 7 {
            html.lt-ie8 {
                @content;
            }
        }
    } @else {
        @if $version == 8 {
            html.lt-ie9 & {
                @content;
            }
        }
        @if $version == 7 {
            html.lt-ie8 & {
                @content;
            }
        }
    }
}

感谢 戴夫

1 个答案:

答案 0 :(得分:3)

你不需要mixin。 只需使用:

header {
    > nav {
        color: beige;
        html.lt-ie9 & {
            color: green;
        }
   }
}
相关问题