美文网首页
sass学习6——混合器

sass学习6——混合器

作者: 哈哈乐乐WXT | 来源:发表于2018-09-26 10:57 被阅读30次

sass混合器用来实现大段样式的重用,用@mixin标识符定义。

```例子:添加跨浏览器的圆角边框```

@mixin rounded-corners {
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
}

通过@include来使用混合器。@include调用会把混合器中d所有样式提取出来放在@include被调用的地方。

.mycss01 {
    background-color: #ccc;
    color: #000;
    @include rounded-corners;
}

编译完成后css代码:


image.png

注意啦:虽然混合器很好用,但是一不小心就可能过度使用。大量的重用可能会导致生成的样式表过大,导致加载缓慢。所以,应避免滥用。如在不停地重复一段样式时就应该把这段样式构造成优良的混合器,尤其这段样式本身就是一个逻辑单元。
判断一组属性是否应该组成一个混合器,经验法则就是能否为这个混合器想出一个好的名字。如rounded-corners、fancy-font或者no-bullets等。

混合器中的css规则

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

```demo```
@mixin no-bullets {
    list-style: none;
    li {
        list-style-image: none;
        list-style-type: none;
        margin-left: 0;
    }
}

ul.plain {
    color: #ccc;
    @include no-bullets;
}
```生成的样式```

image.png
给混合器传参

混合器并不一定总得生成相同的样式,可以通过在@include混合器时传参,来定制混合器生成的精确样式。当@include混合器时,参数其实就是可以赋值给css属性值的变量。如果你写过js,这种方式跟js 里的function 很像:

@mixin link-colors($normal, $hover, $visited) {
    color: $normal;
    &:hover {
        color: $hover;
    }
    &:visited {
        color: $visited;
    }
}
```使用```
a {
    @include link-colors(red, green, blue);
}

最后生成样式


image.png

当@include混合器时,有时候可能会很难分出每个参数是什么意思,参数之间是一个什么样的顺序。因此,sass允许通过语法$name:value的形式指定每个参数的值。这种形式的传参,参数顺序就不必在乎了,只需要保证没有漏掉参数即可。

a {
    @include link-colors ( $normal: blue, $visited: green, $hover: red)
}
默认参数

为了在@include混合器时不必传入所有的参数,我们可以给参数指定一个默认值。参数默认值使用$name:default-value的声明形式,默认值可以是任何有效的css属性值,甚至是其他参数的引用:

@mixin link-colors( $normal:red, $hover:green, $visited:blue) {
    color: $normal;
    &:hover {
        color: $hover;
    }
    &:visited {
        color: $visited;
    }
}

a {
    @include link-colors()
}

生成代码


image.png

如果引用改为如下代码将生成css如下

a {
    @include link-colors(#ccc)
}

image.png

相关文章

  • sass学习6——混合器

    sass混合器用来实现大段样式的重用,用@mixin标识符定义。 通过@include来使用混合器。@includ...

  • sass

    sass笔记 1.对于sass中的&符号,指的就是解开sass嵌套规则,使&代替父元素 例如 2.混合器; 混合器...

  • Sass混合器

    混合器的一个很好的用法是用于供应商前缀创建混合器:@mixin someName {}使用混合器:@include...

  • sass学习总结

    sass总结 重点:1、带@的一般是一种组合2、混合器@mixin 选择器继承@extend3、.seriousE...

  • Sass入门

    学习Sass(官网:Sass)之前需要了解什么是Sass,Sass全称:Syntactically Awesome...

  • webpack4的安装

    前言: 在学习webpack之前建议去学习node、npm、【sass、less、scss】系列、es6等,下面的...

  • Biped学习记录5(混合器模式)

    这一节学习混合器模式,混合器模式 和 “动作流模式”一样,只有当这个模式启用的时候,所做的动作才会有效,一单关闭,...

  • Sass学习

    Sass学习 介绍 Sass 有两种语法规则(syntaxes),目前新的语法规则(从 Sass 3开始)被称为 ...

  • 学习SASS

    css扩展语言 面向对象 变量 嵌套 混合 导入 安装Sass和Compass sass基于Ruby语言开发而成,...

  • sass学习

    sass重要特征 引入变量$highlight-color: #F90;

网友评论

      本文标题:sass学习6——混合器

      本文链接:https://www.haomeiwen.com/subject/pfhdoftx.html