我在下面的mixin中传递了多个参数。我正在从CSS文件的多个位置调用mixin。有时需要指定所有的arg,有时仅指定几个。 Ruby允许您使用哈希传递可选的args。 SASS中是否存在这样的等效项,或者被命名参数可以以任何顺序传递而具有默认值的参数可以省略的事实而消除了?

@mixin three-column-header-layout($background_color: #EEEEEE, $left_width: 25%, $mid_width: 50%, $right_width: 25%, $left_line_height: 40px, $mid_line_height: 40px, $right_line_height: normal, $column_height: 40px) {
  .wrapper {
    margin: 0 auto;
    width: 100%;
    overflow: hidden;
  }

  .middleCol {
    float: left;
    background: $background_color;
    height: $column_height;
    width: $mid_width;
    display: inline;
    line-height: $mid_line_height;
  }

  .leftCol {
    background: $background_color;
    height: $column_height;
    width: $left_width;
    float: left;
    line-height: $left_line_height;
  }

  .rightCol {
    background: $background_color;
    height: $column_height;
    width: $right_width;
    float: left;
    line-height: $right_line_height;
  }
}

最佳答案

从3.1.7开始,Sass唯一的数据结构是列表。

如前所述,只有在所有未传递的参数都具有默认值的情况下,才可以使用命名参数的任意组合来包含mixin。

关于hash - SASS Mixin参数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7132423/

10-17 02:25