博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
sass学习笔记--混合宏
阅读量:7251 次
发布时间:2019-06-29

本文共 1234 字,大约阅读时间需要 4 分钟。

什么时候使用混合宏

如果你的整个网站中有几处小样式类似,比如颜色,字体等,在 Sass 可以使用变量来统一处理,那么这种选择还是不错的。但当你的样式变得越来越复杂,需要重复使用大段的样式时,使用变量就无法达到我们目了。这个时候 Sass 中的混合宏就会变得非常有意义。

申明混合宏

不带参数混合宏:

在 Sass 中,使用“@mixin”来声明一个混合宏。如:

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

其中 @mixin 是用来声明混合宏的关键词,有点类似 CSS 中的 @media、@font-face 一样。border-radius 是混合宏的名称。大括号里面是复用的样式代码。

带参数混合宏:

除了声明一个不带参数的混合宏之外,还可以在定义混合宏时带有参数,如:

@mixin border-radius($radius:5px){    -webkit-border-radius: $radius;    border-radius: $radius;}

复杂的混合宏:

上面是一个简单的定义混合宏的方法,当然, Sass 中的混合宏还提供更为复杂的,你可以在大括号里面写上带有逻辑关系,帮助更好的做你想做的事情,如:

@mixin box-shadow($shadow...) {  @if length($shadow) >= 1 {    @include prefixer(box-shadow, $shadow);  } @else{    $shadow:0 0 4px rgba(0,0,0,.3);    @include prefixer(box-shadow, $shadow);  }}

这个 box-shadow 的混合宏,带有多个参数,这个时候可以使用“ … ”来替代。简单的解释一下,当 $shadow 的参数数量值大于或等于“ 1 ”时,表示有多个阴影值,反之调用默认的参数值“ 0 0 4px rgba(0,0,0,.3) ”。

调用混合宏

在 Sass 中通过 @mixin 关键词声明了一个混合宏,那么在实际调用中,其匹配了一个关键词“@include”来调用声明好的混合宏。例如在你的样式中定义了一个圆角的混合宏“border-radius”:

@mixin border-radius{    -webkit-border-radius: 3px;    border-radius: 3px;}

在一个按钮中要调用定义好的混合宏“border-radius”,可以这样使用:

button {    @include border-radius;}

这个时候编译出来的 CSS:

button {  -webkit-border-radius: 3px;  border-radius: 3px;}

转载地址:http://dqhbm.baihongyu.com/

你可能感兴趣的文章
Spring4.1-Application Event
查看>>
Python内置模块(一)
查看>>
利用最新新浪微博API做到桌面程序
查看>>
TRUNC函数的用法
查看>>
gre
查看>>
灵巧还是笨重?利用Textarea从浏览器复制字符到剪贴板
查看>>
CentOS 7.4利用Iptables开启远程访问
查看>>
linux下日志监控分析工具webalizer的安装及使用
查看>>
HTTPS 原理详解
查看>>
[转载] 七龙珠第一部——第073话 必杀恶魔光线
查看>>
Get和Post请求区别
查看>>
开源史上最成功的8个开源产品
查看>>
PHP操作MySQL
查看>>
单臂路由与三层交换机动态配置
查看>>
MyBatis学习总结(六)——调用存储过程
查看>>
Docker命令详解
查看>>
servlet jsp 各种路径获取。。
查看>>
应用系统架构设计
查看>>
【POJ】第二章 简单计算题之课后题
查看>>
MFC建立应用程序启示录(创世纪新篇)
查看>>