混合器

混合器

混合器使用@mixin标识符定义, 通过@include来使用这个混合器。

@mixin main-color {
    color: #00f;
}

main{
    font-size: 30px;
    @include main-color;
}

5-1. 何时使用混合器

你是否为这个混合器想出一个好名字,如果你能找到一个很好的短名字来描述这些属性修饰的样式,那么往往能够构造一个合适的混合器。

5-2. 混合器中的CSS规则

混合器中不仅可以包含属性,也可以包含css规则,包含选择器和选择器中的属性。

@mixin demo-style {
    color: #00f;
    ul {
        li {
            border: 1px solid #f00;
        }
    }
}

main {
    font-size: 30px;
    @include demo-style;
}

混合器中的规则甚至可以使用sass的父选择器标识符&

5-3.给混合器传参

混合器可以通过在@include混合器时给混合器传参,来制定混合器生成的精确样式。

    <main>
      <a href="https://www.baidu.com">百度一下</a>
    </main>
@mixin link-colors($normal, $hover, $visited) {
    color: $normal;
    &:hover {
        color: $hover;
    }
    &:visited {
        color: $visited;
    }
}

main {
    font-size: 30px;
    a {
        @include link-colors($normal: blue, $hover: green, $visited: red);
    }
}

5-4. 默认参数值

给参数制定一个默认值,参数默认值使用$name:default-value的声明形式。

    <main>
      <a href="https://www.baidu.com">百度一下</a>
    </main>
@mixin link-colors($normal, $hover, $visited: red) {
    color: $normal;
    &:hover {
        color: $hover;
    }
    &:visited {
        color: $visited;
    }
}

main {
    font-size: 30px;
    a {
        @include link-colors($normal: blue, $hover: green);
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章