赞
踩
当我们在使用Sass进行样式开发时,难免会遇到一些重复的代码块,例如设置不同元素的样式或者应用相同的样式到不同的选择器上,这时就可以使用Sass提供@mixin指令,它允许你定义可重用的代码块,并在需要的地方进行调用。
@mixin指令的语法如下:
- //定义@mixin为mixin-name
- @mixin mixin-name { //mixin的样式代码 }
-
- //调用@mixin
- .demo_box{ @include mixin-name; }
-
- //调用的时候使用@include
在mixin中可以编写任意的Sass样式代码,包括自定义属性、选择器、嵌套等。@mixin定义完成后,通过@include来直接调用继承@mixin下定义的公共样式。
这里我们举实例说明,
实例1
1、在下面实例中,我们定义了一个名为button-style的mixin,它包含了一些按钮的基本样式。然后我们在.button-small和.button-large选择器中使用@include指令来调用这个mixin,从而将按钮的样式应用到这些选择器上。
- @mixin button-style {
- background-color: #f00;
- color: #fff;
- padding: 10px;
- border: none;
- border-radius: 5px;
- }
-
- .button-small {
- @include button-style;
- }
-
- .button-large {
- @include button-style;
- font-size: 20px;
- }

通过使用@mixin指令,我们可以避免重复编写相同的样式代码,提高代码的可维护性和可重用性。此外,mixin还可以接受参数,使得代码更加灵活,实例2是一个带有参数的mixin的实例。
实例2
2、在下面实例中,我们在@mixin定义的button-style中添加了两个参数bg−color和text-color,分别用于设置按钮的背景颜色和文字颜色。然后我们在@include指令中传入不同的参数值来调用这个@mixin,从而实现不同按钮的样式。
- //这里的$bg-color, $text-color是@mixin button-style中的自定义的属性
- @mixin button-style($bg-color, $text-color) {
-
- //这里的background-color用了$bg-color;
- background-color: $bg-color;
-
- //这里的color用了$text-color,当然其它元素也可以使用
- color: $text-color;
-
- padding: 10px;
- border: none;
- border-radius: 5px;
- }
-
- .button-small {
- //这里调用了button-style,并给自定义属性$bg-color和$text-color传值red和blue
- @include button-style(red, blue);
- }
-
- .button-large {
- //这里也调用了button-style,并给自定义属性$bg-color和$text-color传值pink和plum
- @include button-style(pink, plum);
- }

总结:@mixin指令是Sass中非常有用的功能,它可以帮助我们避免重复编写代码,提高代码的可维护性和可重用性。通过定义可重用的代码块,并在需要的地方进行调用,我们可以更加高效地进行样式开发。同时,mixin还可以接受参数,这使得代码更加灵活。
当我们在使用Sass进行样式开发时,你可能会遇到一些重复的样式代码,例如设置相同的样式到不同的选择器上。为了避免重复编写代码,Sass提供了@extend指令,它允许你将一个选择器的样式继承到另一个选择器上。
@extend指令的语法如下:
- .selector { // 样式代码 }
-
- //直接使用就行
- .another-selector { @extend .selector; }
-
- //这里需要注意的是继承的时候@extend后要加,点类名(例:.selector)
在上面的例子中,我们定义了一个名为.selector的选择器,并在.another-selector选择器中使用@extend指令来直接调用继承.selector的样式。这样,.another-selector就会继承.selector的所有样式,这个比较简单。
1、这里我们也举实例说明,在下面实例中,我们在.button-default选择器中定义了一个嵌套选择器&:hover,用于设置按钮在鼠标悬停时的样式。
然后我们在.button-large选择器中使用@extend指令来继承.button-default的样式,并添加自己的样式。这样.button-large不仅继承了.button-default的基本样式,还继承了hover的样式。
- .button-default {
- background-color: #f00;
- color: #fff;
- padding: 10px;
- border: none;
- border-radius: 5px;
- &:hover {
- background-color: #00f;
- }
- }
-
- .button-large {
- @extend .button-default;
- font-size: 20px;
- }
总结:@extend指令是Sass中非常有用的功能,它可以帮助我们避免重复编写代码,提高代码的可维护性和可重用性。通过将一个选择器的样式继承到另一个选择器上,我们可以更加高效地进行样式开发。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。