首页 > 其他分享 >第四节:ASS混合指令 (Mixin Directives)

第四节:ASS混合指令 (Mixin Directives)

时间:2024-08-29 08:56:12浏览次数:12  
标签:ASS Mixin padding Directives mixin 参数 include block left

SASS混合指令 (Mixin Directives)

​ 混合指令(Mixin)用于定义可重复使用的样式。混合指令可以包含所有的 CSS 规则,绝大部分 Sass 规则,甚至通过参数功能引入变量,输出多样化的样式。

定义与使用混合指令 @mixin

@mixin mixin-name() {
    /* css 声明 */
}

例1:标准形式

定义

// 定义页面一个区块基本的样式
@mixin block {
    width: 96%;
    margin-left: 2%;
    border-radius: 8px;
    border: 1px #f6f6f6 solid;
}

使用

// 使用混入
.container {
    .block {
        @include block;
    }
}

例2:嵌入选择器

例如

// 定义警告字体样式,下划线(_)与横线(-)是一样的
@mixin warning-text {
    .warn-text {
        font-size: 12px;
        color: rgb(255, 253, 123);
        line-height: 180%;
    }
}

使用

// 使用混入
.container {
    @include warning-text;
}

例3:使用参数

定义

// 定义flex布局元素纵轴的排列方式
@mixin flex-align($aitem) {
    -webkit-box-align: $aitem;
    -webkit-align-items: $aitem;
    -ms-flex-align: $aitem;
    align-items: $aitem;
}

使用

// 只有一个参数,直接传递参数
.container {
    @include flex-align(center);
}

// 给指定参数指定值
.footer {
    @include flex-align($aitem: center);
}

例4:使用多参数

例如

// 定义块元素内边距
@mixin block-padding($top, $right, $bottom, $left) {
    padding-top: $top;
    padding-right: $right;
    padding-bottom: $bottom;
    padding-left: $left;
}

使用一

// 按照参数顺序赋值
.container {
    @include block-padding(10px, 20px, 30px, 40px);
}

使用二

// 可指定参数赋值
.container {
    @include block-padding($left: 20px, $top: 10px, $bottom: 10px, $right: 30px);
}

使用三:只设置两边

// 可指定参数赋值
.container {
    @include block-padding($left: 10px, $top: 10px, $bottom: 0, $right: 0);
}

**问题:**必须指定4个值

例5:指定默认值

定义

// 定义块元素内边距,参数指定默认值
@mixin block-padding($top:0, $right:0, $bottom:0, $left:0) {
    padding-top: $top;
    padding-right: $right;
    padding-bottom: $bottom;
    padding-left: $left;
}

使用

// 可指定参数赋值
.container {
    // 不带参数
    //@include block-padding;
    //按顺序指定参数值
    //@include block-padding(10px,20px);
    //给指定参数指定值
    @include block-padding($left: 10px, $top: 20px)
}

例6:可变参数

参数不固定的情况

/** 
    *定义线性渐变
    *@param $direction  方向
    *@param $gradients  颜色过度的值列表
 */

@mixin linear-gradient($direction, $gradients...) {
    background-color: nth($gradients, 1);
    background-image: linear-gradient($direction, $gradients);
}

使用

.table-data {
    @include linear-gradient(to right, #F00, orange, yellow);
}

@mixin混入总结

  • mixin是可以重复使用的一组CSS声明
  • mixin有助于减少重复代码,只需声明一次,就可在文件中引用
  • 混合指令可以包含所有的 CSS 规则,绝大部分 Sass 规则,甚至通过参数功能引入变量,输出多样化的样式。
  • 使用参数时建议加上默认值

标签:ASS,Mixin,padding,Directives,mixin,参数,include,block,left
From: https://blog.csdn.net/everfoot/article/details/141664513

相关文章

  • Whole Tomato Visual Assist X 2024 Crack
    WholeTomatoVisualAssistX2024CrackKeyFeaturesofWholeTomatoVisualAssistX:FastNavigation:Swiftlymovebetweenfiles,methods,symbols,andreferenceswithinprojectsandsolutions.CodeInspection&Modernization:Identifyan......
  • Python内置的getclassname()函数
    Python是一种广泛使用的编程语言,其在面向对象编程方面具有显著优势。为了更好地理解和应用这一领域的基础知识,熟悉Python编程中类的相关操作是非常重要的。本文主要介绍如何使用Python内置的getclassname()函数获取类的名称,并通过实际代码示例来演示该函数的使用。首先,我们需要了......
  • Multipass虚拟机ssh登录(密码方式)
    Multipass虚拟机ssh登录(密码方式)[!NOTE]以Ubuntu24,04LTS为例准备工作为了演示新建一个示例虚拟机。multipasslaunch--namevm01-c4-m4G-d100G--networkbridged操作步骤进入虚拟机multipassshellvm01设置密码multipass默认会给所有实例生......
  • openGuass——表空间、数据库、Schema详解
    目录一、表空间二、数据库三、模式:Schema四、databaseschematable之间的关系五、表六、分区表七、索引八、视图九、序列十、同义词十一、约束一、表空间自带了两个表空间:pg_default和pg_global。查看命令:\db默认表空间pg_default:用来存储非共享系统表、用......
  • JavaScript 程序寻找通过 2 个点的线(Program to find line passing through 2 Points)
              在数学和计算机科学中,找到通过两个点的线的方程是一个基础问题。假设我们有两个点 P1​(x1​,y1​) 和 P2​(x2​,y2​),我们想要找到通过这两个点的直线方程。直线方程的形式直线的方程通常表示为 y=mx+b,其中 m 是斜率,b 是 y 轴截距。计算斜率......
  • C# 程序寻找通过 2 个点的线(Program to find line passing through 2 Points)
              在数学和计算机科学中,找到通过两个点的线的方程是一个基础问题。假设我们有两个点 P1​(x1​,y1​) 和 P2​(x2​,y2​),我们想要找到通过这两个点的直线方程。直线方程的形式直线的方程通常表示为 y=mx+b,其中 m 是斜率,b 是 y 轴截距。计算斜率......
  • IOS 图标文件 Assets.car 一键生成工具
    Android和IOS图标文件Assets.car一键生成工具通过此工具可以快速生成ios应用APP图标,并生成对应的Assets.car文件将Assets.car复制到ios项目的根目录,您的应用程序图标将被更改,此assets.car文件包含iosapp的图标,这是ios12和mac所需要的图标资源文件上传图片建议尺寸:1024x1024,......
  • [SCSS] Media breakpoint util mixin
    $breakpoints:('phone':(320px,480px),'pad':(481px,768px),'notebook':(769px,1024px),'desktop':(1025px,1200px),'tv':1201px,)@mixinrespond-to($breakname){$bp:map-g......
  • Adobe Lightroom Classic LRC v13.5 下载及安装教程 (图像后期处理软件)
    前言AdobeLightroomClassic为您提供强大的一键式工具和高级控件,使您的照片看起来很棒。轻松整理桌面上的所有照片,并以多种方式共享。使用LightroomClassic,您需要具备所有桌面编辑工具,才能充分发挥照片的作用。增强色彩,使沉闷的镜头充满活力,去除分散注意力的物体,并拉直歪斜的镜......
  • v-bind指令与class类和style的内联样式的绑定
    1.v-bind指令1.v-bind的认知与用法我们先创建一个新的页面去除掉一些元素保留剩下的元素然后对其添加一些属性和值创建好了之后我们可以来在页面上显示一个图片用我们的image组件找到我们的本地图片的位置或者网络图片的url放入我们的src里面。在src里面用到了我们的图片......