JSRUN 用代码说话

混入指令

编辑教程

混入指令

Mixins允许创建一组可以在整个样式表中重复使用的样式,而不需要重新创建非语义类。

在CSS中,mixin可以存储多个值或参数和调用函数; 它有助于避免编写重复的代码。混合名称可以交替使用下划线和连字符。以下是Mixins中的指令。

指令 描述
定义mixin @mixin 指令用于定义mixin。
包含Mixin @include 指令用于在文档中包含mixin。
参数 SassScript值可以作为mixin中的参数,当mixin包含在mixin中并且可以作为mixin中的变量时,它会被提供。
将内容块传递给Mixin 块样式传递给mixin。

定义Mixin

@mixin 指令用于定义mixin,它可选地包括mixin名称后面的变量和参数。

例子

以下示例演示如何在SCSS文件中使用 @mixin :

<html>
<head>
   <title> Mixin example of sass</title>
   <link rel="stylesheet" type="text/css" href="sample.css"/>
</head>
<body>
<div class="cont">
   <h1>Example using include</h1>
   <h3>Directive is used to define the Mixins, it includes variables and argument optionally.</h3>
</div>
</body>
</html>

接下来,创建文件 sample.scss 。

@mixin style {
.cont{
    color: #77C1EF;
    }
}
@include style;

您可以通过使用以下命令让SASS查看文件并在SASS文件更改时更新CSS:

sass --watch C:\ruby\lib\sass\sample.scss:sample.css

接下来执行上面的命令,它将自动创建 sample.css 文件,代码如下:

.cont {
  color: #77C1EF;
  }

输出

让我们执行以下步骤,看看上面的代码如何工作:

  • 将上述html代码保存在 sample.htm 文件中。
  • 在浏览器中打开此HTML文件,将显示如下输出。

Sass rules and directives

包含Mixin

@include 指令用于在文档中包含mixin。将使用mixin的名称,并将可选参数传递给它。由mixin定义的样式可以包含在当前规则中。

例子

下面的例子演示了如何在SCSS文件中使用mixin:

<html>
<head>
   <title> Mixin example of sass</title>
   <link rel="stylesheet" type="text/css" href="sample.css"/>
</head>
<body>
<div class="cont">
   <h2>Example using include</h2>
   <h3>Different Colors</h3>
   <ul>
       <li>Red</li>
       <li>Green</li>
       <li>Blue</li>
   </ul>
  </div>
</body>
</html>

接下来,创建文件 sample.scss 。

@mixin style {
.cont{
    background-color: #77C1EF;
    color: #ffffff;
    }
h3 {
    color: #ffffff;
    }
}
@include style;

您可以通过使用以下命令让SASS查看文件并在SASS文件更改时更新CSS:

sass --watch C:\ruby\lib\sass\sample.scss:sample.css

接下来执行上面的命令,它将自动创建 sample.css 文件,代码如下:

.cont {
  background-color: #77C1EF;
  color: #ffffff;
 }

h3 {
  color: #ffffff;
 }

输出

让我们执行以下步骤,看看上面的代码如何工作:

  • 将上述html代码保存在 sample.htm 文件中。
  • 在浏览器中打开此HTML文件,将显示如下输出。

Sass rules and directives

Mixin参数

SassScript值可以作为mixin中的参数,当mixin包含在mixin中时可以作为变量传递。参数是一个变量的名称,在定义mixin时用逗号分隔。有两种类型的参数,如:

  • 关键字参数
  • 可变参数

关键字参数

显式关键字参数可以用于包含在mixin中。命名的参数可以按任何顺序传递,参数的默认值可以省略。

例如,使用以下代码创建一个SASS文件:

@mixin bordered($color, $width: 2px) {
  color: #77C1EF;
  border: $width solid black;
  width: 450px;
}
.style  {
  @include bordered($color:#77C1EF, $width: 2px);
}

上面的代码将编译成CSS文件,如下所示:

.style {
  color: #77C1EF;
  border: 2px solid black;
  width: 450px;
 }

可变参数

变量参数用于将任意数量的参数传递给mixin。它包含传递给函数或mixin的关键字参数。传递给mixin的关键字参数可以使用关键字($ args)函数进行访问,该函数返回映射到String的值。

例如,使用以下代码创建一个SASS文件:

@mixin colors($background) {
  background-color: $background;
}

$values: magenta, red, orange;
.container {
  @include colors($values...);
}

上面的代码将编译成CSS文件,如下所示:

.container {
  background-color: magenta;
}

例子

下面的示例演示了在SCSS文件中使用参数:

<html>
<head>
   <title> Mixin example of sass</title>
   <link rel="stylesheet" type="text/css" href="argument.css"/>
</head>
<body>
   <div class="style">
   <h1>Example using arguments</h1>
   <p>Different Colors</p>
   <ul>
       <li>Red</li>
       <li>Green</li>
       <li>Blue</li>
   </ul>
   </div>
</body>
</html>

接下来,创建文件 argument.scss 。

@mixin bordered($width: 2px) {
  background-color: #77C1EF;
  border: $width solid black;
  width: 450px;
}

.style  {
  @include bordered(2px);
}

您可以通过使用以下命令让SASS查看文件并在SASS文件更改时更新CSS:

sass --watch C:\ruby\lib\sass\argument.scss:argument.css

接下来执行上面的命令,它将使用下面的代码自动创建 argument.css 文件:

.style {
  background-color: #77C1EF;
  border: 2px solid black;
  width: 450px;
 }

输出

让我们执行以下步骤,看看上面的代码如何工作:

将上述html代码保存在 argument.htm 文件中。

在浏览器中打开此HTML文件,将显示如下输出。

Sass rules and directives

将内容块传递给Mixin

块样式被传递到mixin以用于样式中的放置。在 @content 指令位置中,样式包含在mixin中。

变量范围和内容块

在传递给定义了块的mixin的作用域中评估内容块。

例子

下面的示例演示了如何在SCSS文件中使用传递内容块来混合:

<html>
<head>
   <title>Mixin example of sass</title>
   <link rel="stylesheet" type="text/css" href="sample.css"/>
</head>
<body>
<div class="block">
     <h1>Example using passing content blocks</h1>
     <p>Different Colors</p>
     <ul>
         <li>Red</li>
         <li>Green</li>
         <li>Blue</li>
     </ul>
</div>
</body>
</html>

接下来,创建文件 sample.scss 。

@mixin element{
   @content;
}

@include element{
  .block{
    color: green;
  }
}

您可以通过使用以下命令让SASS查看文件并在SASS文件更改时更新CSS:

sass --watch C:\ruby\lib\sass\sample.scss:sample.css

接下来执行上面的命令,它将自动创建 sample.css 文件,代码如下:

.block {
  color: green;
}

输出

让我们执行以下步骤,看看上面的代码如何工作:

将上述html代码保存在 pass_content.scss 文件中。

在浏览器中打开此HTML文件,将显示如下输出。

Sass rules and directives

JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。 大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
支付宝
9.99
无法付款,请点击这里
金额: 0
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟