美文网首页
Sass混合的使用

Sass混合的使用

作者: 前白 | 来源:发表于2021-02-26 11:53 被阅读0次

本节我们学习 Sass 中的混合,Sass 中的混合是通过 @mixin 指令来定义的,混合允许我们定义可以在整个样式表中重复使用的样式,避免使用无语意的类。混合可以包含所有的 CSS 规则和任何其他在 Sass 文档中被允许使用的内容。

定义混合

Sass 中可以通过 @mixin 指令定义混合,@mixin 后面接混合的名称和可选的 arguments 参数,以及混合的内容块。

示例:

例如创建一个名为 my-text 的混合:

@mixin my-text {
    font-size: 12px;
    color: #fdef92;
    font-weight: bold;
}

此时我们运行代码,上述混合是不会被编译到 CSS 代码中的,只有当我们使用了这个混合时,才会被编译。

注意,Sass 的连接符号 - 和下划线 _ 是相同的,也就是说 my-textmy_text 是一样的。

混合的使用

混合定义好后,我们就可以在选择器使用混合,可以通过 @include 来使用这混合。@include 调用会把混合器中的所有样式提取出来放在 @include 被调用的地方。

示例:

例如我们使用上面定义好的混合:

@mixin my-text {
    font-size: 12px;
    color: #fdef92;
    font-weight: bold;
}

p{
    @include my_text();
}

编译成 CSS 代码:

p{
  font-size: 12px;
  color: #fdef92;
  font-weight: bold;
}

从上述代码可以看出,在选择器 p 中的所有样式属性全部来自 my-text 这个混合器。

混合中除了使用样式属性,还可以包含选择器,当一个包含选择器的混合通过 @include 包含在一个父选择器中时,在混合中的选择器最终会被嵌套在父选择器中。

示例:

例如我们定义一个混合,这个混合中包含一个选择器 .child,然后在另一个选择器中使用这个混合:

@mixin my-text {
    font-size: 12px;
    color: #fdef92;
    font-weight: bold;
    .child{
        background-color: #68f7f7;
    }
}

.other{
    @include my_text();
}

编译成 CSS 代码:

.other {
  font-size: 12px;
  color: #fdef92;
  font-weight: bold;
}
.other .child{
  background-color: #68f7f7;
}

我们在 .other 选择器中调用 my-text,然后可以看到在编译成的 CSS 代码中,.child 选择器变为了 .other 选择器的后代选择器。

总结

虽然混合很好用,但是也不能乱用,大量的重用可能会导致生成的样式表过大,导致加载缓慢。所以我们要注意混合的使用场景,如果一段代码使用的频率很高,那么就可以将这段代码构成一个混合。

判断一组属性是否应该组合成一个混合,一条经验法则就是你能否为这个混合想出一个好的名字。如果你能找到一个很好的短名字来描述这些属性修饰的样式,那么往往能够构造一个合适的混合器,反之这个混合可能并不适合。

相关文章

  • Sass混合的使用

    本节我们学习 Sass 中的混合,Sass 中的混合是通过 @mixin 指令来定义的,混合允许我们定义可以在整个...

  • Sass混合的使用

    本节我们学习 Sass 中的混合,Sass 中的混合是通过 @mixin 指令来定义的,混合允许我们定义可以在整个...

  • 在 Sass 中使用 Keyframe

    一:定义混合宏 SASS中使用 Keyframe 首先定义一个混合宏,由 Keyframes 、 animatio...

  • 看看sass和less会遇到的问题吧

    sass的混合指令 mixin 混合指令(Mixin)用于定义可重复使用的样式,避免了使用无语意的 class,比...

  • Sass 带参混合

    本节我们来学习带参混合,Sass 中混合可以接受参数,我们可以通过使用 @include 调用混合时给混合传参,来...

  • Sass 带参混合

    本节我们来学习带参混合,Sass 中混合可以接受参数,我们可以通过使用 @include 调用混合时给混合传参,来...

  • 关于css预编译工具使用

    less、sass 、stylus 的@mixin 定义混合样式、@include混入样式 1、这种做法在常规使用...

  • sass学习6——混合器

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

  • sass

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

  • sass混合

    有点像less 的 .name{ ... }image.png

网友评论

      本文标题:Sass混合的使用

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