Sass--混合指令

混合指令和前面的 %SelecterName有点相似,都是不引用就不会被编译的。

参照:[email protected]指令

混合指令引用需要@include,后者需要@extend

@mixin biggerText{
    font: {
        size: 30px;
        weight: bolder;
    }

    &:after{
        content: " More";
    }
}

div{
    @include biggerText;
}

编译后

div {
  font-size: 30px;
  font-weight: bolder; }
  div:after {
    content: " More"; }

在外部直接引用混合指令

@mixin biggerText{
    div{
        font: {
            size: 30px;
            weight: bolder;
        }

        &:after{
            content: " More";
        }
    }
}

@include biggerText;

编译后和上面的结果是一样的。

把上面的代码用@extend来写一下

%extendName{
    div{
        font: {
            size: 30px;
            weight: bolder;
        }

        &:after{
            content: " More";
        }
    }
}

body{
    @extend %extendName;
}

编译后结果一样。

但如果试着在最外层直接引用

%extendName{
    div{
        font: {
            size: 30px;
            weight: bolder;
        }

        &:after{
            content: " More";
        }
    }
}

@extend %extendName;

则会报错。@extend不能这样用。

从上面的几次尝试可以看出来:

@include可以用来继承样式,也可以直接用来具现化样式。

@extend只能继承样式。

~END

时间: 2024-10-12 13:38:16

Sass--混合指令的相关文章

[Sass]混合宏的参数

[Sass]混合宏的参数--传一个不带值的参数 Sass 的混合宏有一个强大的功能,可以传参,那么在 Sass 中传参主要有以下几种情形: A) 传一个不带值的参数 在混合宏中,可以传一个不带任何值的参数,比如: @mixin border-radius($radius){ -webkit-border-radius: $radius; border-radius: $radius; } 在混合宏"border-radius"中定义了一个不带任何值的参数"$radius&qu

Sass 混合宏、继承、占位符 详解

混合宏-声明混合宏如果你的整个网站中有几处小样式类似,比如颜色,字体等,在 Sass 可以使用变量来统一处理,那么这种选择还是不错的.但当你的样式变得越来越复杂,需要重复使用大段的样式时,使用变量就无法达到我们目了.这个时候 Sass 中的混合宏就会变得非常有意义.1.声明混合宏不带参数混合宏:在 Sass 中,使用"@mixin"来声明一个混合宏.如: 1 @mixin border-radius{ 2 -webkit-border-radius: 5px; 3 border-rad

SASS - @extend(继承)指令

SASS – 简介 SASS – 环境搭建 SASS – 使用Sass程序 SASS – 语法 SASS – 变量 SASS- 局部文件(Partial) SASS – 混合(Mixin) SASS – @extend(继承)指令 SASS – 操作符 SASS – 函数 SASS – 输出格式 @extend指令可以让一个CSS类继承另一个CSS类. 当多个元素之间共享一组属性值,同时又有各自额外属性值时,这种方法很有用. 举例说明 以警告框为例,警告框有4种类型: info success

Sass学习笔记之入门篇

Sass又名SCSS,是CSS预处理器之一,,它能用来清晰地.结构化地描述文件样式,有着比普通 CSS 更加强大的功能. Sass 能够提供更简洁.更优雅的语法,同时提供多种功能来创建可维护和管理的样式表.以下是我的学习笔记. Sass安装环境 1.安装sass(mac) ①:Ruby安装 ②:安装sass sudo gem install sass 可以通过 sass -v检测是否完成安装   2.更新sass gem update sass 3.卸载(删除)sass gem uninstal

sass基础篇

scss的语法非常简单: $color: red; div{ color: $color; } 这就是一个简单的scss代码. 但是,使用 Sass 进行开发,那么是不是直接通过"<link>"引用".scss"或".sass"文件呢?显然是不行的,因为浏览器只能解析css文件,所以在使用的时候需要对scss文件进行编译.当然编译方法有很多,可以使用sass命令,也可以使用webpack,fis3等一些代码打包工具. Tips:相对于

Sass 基本特性 基础

(1)声明变量 $width: 300px; $ 变量声明符, width 变量名称, 300px 变量值. ------------------------------------------------------------------------------------------------------------------- (2)普通变量与默认变量 $fontSize: 12px; body { font-size:$fontSize; } 默认变量 sass的默认变量仅需要在值

强悍的 CSS 扩展语言 -- Sass

<div class = 'testBorder'> <p> <input/> </p> </div> 假设上面这 3 个 DOM 元素有这样的需求, div 去边框, p 显示边框, input 只显示底部边框, 而且统一用 !important 关键字提高样式的优先权: 如果手写纯 CSS 会是这样: .testBorder{ border:none !important; } .testBorder p{ border:1px solid

Sass基本语法二

混合宏--声明混合宏 当样式变得越来越复杂,需要重复大段的样式,声明一个个变量已经不能满足我们的需求时,这时Sass中的混合宏就会变得非常有意义.Less中同样有这部分类容,有带参数的混合和不带参数的混合. 1.声明混合宏 不带参数混合宏 在Sass中,使用"@mixin"来声明一个混合宏,如: @mixin border_radius { -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10p

Sass Maps的函数

Sass Maps的函数 前面介绍了使用 map 来管理变量,但要在 Sass 中获取变量,或者对 map 做更多有意义的操作,我们必须借助于 map 的函数功能.在 Sass 中 map 自身带了七个函数: map-get($map,$key):根据给定的 key 值,返回 map 中相关的值. map-merge($map1,$map2):将两个 map 合并成一个新的 map. map-remove($map,$key):从 map 中删除一个 key,返回一个新 map. map-key

1-7 Sass的基本特性-基础

[Sass]声明变量 定义变量的语法: 在有些编程语言中(如,JavaScript)声明变量都是使用关键词"var"开头,但是在 Sass 不使用这个关键词,而是使用大家都喜欢的美元符号"$"开头.我想用一张图来解释,我一直坚信,一图胜千言万语: 上图非常清楚告诉了大家,Sass 的变量包括三个部分: 声明变量的符号"$" 变量名称 赋予变量的值 来看一个简单的示例,假设你的按钮颜色可以给其声明几个变量: $brand-primary : dar