【sass】@mixin/@include/@extend使用

@mixin / @include

@mixin 定义要复用的样式;@include 引入复用的样式,两者结合使用,减少代码重复,提高代码复用率。

1、基本用法


## 定义
/* @minxin定义混入样式 */
@mixin clearfix {
    &:after {
      content: ".";
      display: block;
      height: 0;
      clear: both;
      visibility: hidden;
    }
}

## 使用案例
/* @include 引入定义的样式 可在某个样式下引入 */
.mybox {
    @include clearfix;
    ...
}

/* 也可某个样式文件下直接引入 */
@include clearfix;
.mybox{
	...
}

2、可传参数


## 定义
/***
  params有三种(同函数)
  无默认参数(a);有默认参数(a: 1); 不确定参数(params...)
 ***/

/* 字体 */ 
@mixin f-size($size: 14px) {
	font-size: $size;
	line-height: $size;
}

/*  对齐方式 */
@mixin t-align($align: center) {
	text-align: $align;
}

/* 边框 */
@mixin border($col: #e6e6e6, $num: 1px, $solid: solid) {
	border: $num $solid $col;
}

/* 按钮 */
@mixin btn($height: 36px, $font: 14px, $padding: 18px, $color: $white, $background: $mainColor, $num: 0, $border: $mainColor, $radius:4px) {
	height: $height;
	line-height: $height;
	font-size: $font;
	padding: 0 $padding;
	color: $color;
	background: $background;
	border: $num solid $border;
	display: inline-block;
	border-radius: $radius;
	box-sizing: border-box;
}

## 使用案例(携参)
/* btn */
.btn {
    @include btn();
    margin-right: 30px;
}
.btn1 {
    @include btn(
      $background: #fff,
      $num: 1px,
      $border: #dcdcdc,
      $color: #333
    );
}

ps:
1、sass中"-“与”_"等同,无区别
2、穿参数需带单位


@extend

@extend也可以复用样式


/* 清除浮动 */
.clear,
.clearfix {
  *zoom: 1;
}
.clear:before,
.clear:after,
.clearfix:before,
.clearfix:after {
  display: table;
  line-height: 0;
  content: "";
}
.clear:after,
.clearfix:after {
  clear: both;
}

/* 单独使用 需要在当前使用业都写基本样式 */
.mybox{
  @extend .clearfix;
}

/* 结合mixin使用 复用率更高*/
@mixin clearfix {
	@extend .clearfix;
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值