小编Ila*_*lan的帖子

在Sass中,Mixins和Extend功能有什么区别?

我刚刚完成了sass 指南.该指南解释了mixins:

..A mixin允许您创建要在整个站点中重用的CSS声明组.您甚至可以传入值以使您的mixin更灵活.

和延伸:

..这是Sass最有用的功能之一.使用@extend可以将一组CSS属性从一个选择器共享到另一个选择器.

看起来'Extend'可以在'mixin'中实现(似乎'mixin'是'extend'的延伸:-)).

// @extend
.message {
  border: 1px solid #ccc;
  padding: 10px;
  color: #333;
}

.success {
  @extend .message;
  border-color: green;
}

.error {
  @extend .message;
  border-color: red;
}

.warning {
  @extend .message;
  border-color: yellow;
}

// @mixin
@mixin message($color) {
  border: 1px solid #ccc;
  padding: 10px;
  color: #333;
  border-color: $color;
}

.success { @include message(green); }

.error { @include message(red); }

.warning { @include message(yellow); }
Run Code Online (Sandbox Code Playgroud)

甚至更多,因为混合有params.但另一方面,处理过的css并不完全相同.但它对DOM的风格效果会相同.

/* extend processed */
.message, .success, …
Run Code Online (Sandbox Code Playgroud)

css sass

10
推荐指数
1
解决办法
2388
查看次数

标签 统计

css ×1

sass ×1