Sass混合宏 VS 继承 VS 占位符的使用

a) Sass 中的混合宏使用

总结:编译出来的 CSS 清晰告诉了大家,他不会自动合并相同的样式代码,如果在样式文件中调用同一个混合宏,会产生多个对应的样式代码,造成代码的冗余,这也是 CSSer 无法忍受的一件事情。不过他并不是一无事处,他可以传参数

个人建议如果你的代码块中涉及到变量,建议使用混合宏来创建相同的代码块。

b) Sass 中继承

总结:使用继承后,编译出来的 CSS 会将使用继承的代码块合并到一起,通过组合选择器的方式向大家展现,比如 .mt, .block, .block span, .header, .header span。这样编译出来的代码相对于混合宏来说要干净的多,也是 CSSer 期望看到。但是他不能传变量参数

个人建议如果你的代码块不需要专任何变量参数,而且有一个基类已在文件中存在,那么建议使用 Sass 的继承。

c) 占位符

最后来看占位符,将上面代码中的基类 .mt 换成 Sass 的占位符格式:

总结:编译出来的 CSS 代码和使用继承基本上是相同,只是不会在代码中生成占位符 mt 的选择器。那么占位符和继承的主要区别的,“占位符是独立定义,不调用的时候是不会在 CSS 中产生任何代码;继承是首先有一个基类存在,不管调用与不调用,基类的样式都将会出现在编译出来的 CSS 代码中。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Sass 中,可以使用 mixin 来实现类的复用。Mixin 是一种将一组 CSS 规则集合封装为一个函数,并在需要的地方调用的方式。具体步骤如下: 1. 定义 mixin 在 Sass 中,可以使用 @mixin 关键字来定义一个 mixin,例如: ```scss @mixin button($bg-color, $text-color) { background-color: $bg-color; color: $text-color; border: none; border-radius: 4px; padding: 8px 16px; cursor: pointer; } ``` 在上面的例子中,定义了一个名为 button 的 mixin,它接受两个参数:$bg-color 和 $text-color。在 mixin 中定义了一组 CSS 规则,用于设置按钮的样式。 2. 调用 mixin 在 Sass 中,可以使用 @include 关键字来调用 mixin,例如: ```scss .primary-button { @include button(#007aff, #fff); } ``` 在上面的例子中,使用 @include 关键字来调用 button mixin,并传入两个参数:#007aff 和 #fff。这样,.primary-button 类就会继承 button mixin 中定义的 CSS 规则。 需要注意的是,mixin 可以带有参数,也可以不带参数。如果 mixin 不带参数,那么调用时就不需要传递任何参数。另外,mixin 还可以接受默认参数值,例如: ```scss @mixin button($bg-color: #007aff, $text-color: #fff) { background-color: $bg-color; color: $text-color; border: none; border-radius: 4px; padding: 8px 16px; cursor: pointer; } ``` 在上面的例子中,定义了一个名为 button 的 mixin,并为 $bg-color 和 $text-color 参数设置了默认值。如果在调用时不传递参数,那么 mixin 就会使用默认值来设置样式。 使用 mixin 可以提高代码的复用性和可维护性,减少代码的冗余,同时也可以使样式更加清晰、简洁。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值