
SASS—混合指令 (Mixin Directives)
9.1. 定义混合指令
9.2. 引用混合样式
发布日期:2021-05-06 19:34:59
浏览次数:24
分类:技术文章
本文共 1570 字,大约阅读时间需要 5 分钟。
混合指令(Mixin)用于定义可重复使用的样式,避免了使用无语意的 class,比如 .float-left
。混合指令可以包含所有的 CSS 规则,绝大部分 Sass 规则,甚至通过参数功能引入变量,输出多样化的样式。
9.1. 定义混合指令 @mixin
(Defining a Mixin: @mixin
)
混合指令的用法是在 @mixin
后添加名称与样式,比如名为 large-text
的混合通过下面的代码定义:
@mixin large-text { font: { family: Arial; size: 20px; weight: bold; } color: #ff0000;}
——————————————————————————————————————————————————————
4.3. 属性嵌套 (Nested Properties)
有些 CSS 属性遵循相同的命名空间 (namespace),比如 font-family, font-size, font-weight
都以 font
作为属性的命名空间。为了便于管理这样的属性,同时也为了避免了重复输入,Sass 允许将属性嵌套在命名空间中,例如:
.funky { font: { family: fantasy; size: 30em; weight: bold; }}
编译为
.funky { font-family: fantasy; font-size: 30em; font-weight: bold; }
——————————————————————————————————————————————————————
9.2. 引用混合样式 @include
(Including a Mixin: @include
)
使用 @include
指令引用混合样式,格式是在其后添加混合名称,以及需要的参数(可选):
.page-title { @include large-text; padding: 4px; margin-top: 10px;}
编译为
.page-title { font-family: Arial; font-size: 20px; font-weight: bold; color: #ff0000; padding: 4px; margin-top: 10px; }
混合样式中也可以包含其他混合样式,比如
@mixin compound { @include highlighted-background; @include header-text;}@mixin highlighted-background { background-color: #fc0; }@mixin header-text { font-size: 20px; }
9.3. 参数 (Arguments)
参数用于给混合指令中的样式设定变量,并且赋值使用。在定义混合指令的时候,按照变量的格式,通过逗号分隔,将参数写进圆括号里。引用指令时,按照参数的顺序,再将所赋的值对应写进括号:
@mixin sexy-border($color, $width) { border: { color: $color; width: $width; style: dashed; }}p { @include sexy-border(blue, 1in); }
编译为
p { border-color: blue; border-width: 1in; border-style: dashed; }
就了解这些吧,其他自己看文档
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2025年04月06日 07时47分01秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
EMLOG模板山河网站主题分享
2019-03-03
2019数字音乐市场年度回顾,QQ音乐全面领先
2019-03-03
花1亿扶持优质红人,如涵推动网红经济出圈之路有何深意?
2019-03-03
抢滩抖音、B站,快手港股IPO进程加速
2019-03-03
Linux中的虚拟内存机制和内存映射
2019-03-03
Android系统启动系列5 SystemServer进程下
2019-03-03
Android四大组件系列9 ContentProvider原理
2019-03-03
理解PendingIntent
2019-03-03
Android SurfaceFlinger4 提交Buffer
2019-03-03
深入理解 ClientLifecycleManager 机制
2019-03-03
android基础知识回顾--ContentProvider简单用法
2019-03-03
压缩解压
2019-03-03
js try{}catch(){}finally{}语句
2019-03-03
R3 PRO 3200G和r7 3700u 哪个好
2019-03-03
入手评测 联想小新Pro14和Air14Plus哪个好?区别对比
2019-03-03
程序人生:没有伞的孩子要学会奔跑
2019-03-03
Express Animate for mac(动画特效制作软件)
2019-03-03