代码之家  ›  专栏  ›  技术社区  ›  Kamafeather Thalaivar

@内容VS正常附加规则

  •  0
  • Kamafeather Thalaivar  · 技术社区  · 9 年前

    执行以下操作之间的区别是什么:

    @mixin test($color: #000) {
        border: 1px solid red;
        color: $color;
    }
    
    @mixin extension($color: #000) {
        @include test($color);
        background-color: #eee;
    }
    

    或者做以下事情?

    @mixin test($color: #000) {
        border: 1px solid red;
        color: $color;
    
        @content
    }
    
    @mixin extension($color: #000) {
        @include test($color) {
            background-color: #eee;
        }
    }
    

    生成的CSS有什么不同吗?

    我看不出 @内容 指令。

    1 回复  |  直到 9 年前
        1
  •  1
  •   Community holdenweb    7 年前

    这个 @content 指令允许您在mixin中有一个选择器,并在该选择器中注入特定的样式。最常见的用例是媒体查询:

    @mixin bp($i) {
        @media (min-width: $i) {
            @content;
        }
    }
    
    .foo {
        color: red;
    
        @include bp(30em) {
            color: green;
        }
    }
    

    其他常用的用途包括抽象 keyframes declarations , placeholder selectors 、或其他需要前缀的选择器。