element-ui,这个地方scss写的是什么意思?

mixins.scss中定义的混合指令
`@mixin m($modifier) {

$selector: &;
$currentSelector: "";
@each $unit in $modifier {
  $currentSelector: #{$currentSelector + & + $modifier-separator + $unit + ","};
}

@at-root {
  #{$currentSelector} {
    @content;
  }
}

}`

form.scss中使用

@include b(form) {
  @include m(label-left) {
    & .ec-form-item__label {
      text-align: left;
    }
  }
  @include m(label-top) {
    & .ec-form-item__label {
      float: none;
      display: inline-block;
      text-align: left;
      padding: 0 0 10px 0;
    }
  }
  @include m(inline) {
    & .ec-form-item {
      display: inline-block;
      margin-right: 10px;
      vertical-align: top;
    }
    & .ec-form-item__label {
      float: none;
      display: inline-block;
    }
    & .ec-form-item__content {
      display: inline-block;
      vertical-align: top;
    }
    &.ec-form--labec-top .ec-form-item__content {
      display: block;
    }
  }
}

@each $unit in $modifier$modifier是传入的'label-left',而@each使用中$modifier应该传入的是一个<List>,不能理解,请大神解释下。

阅读 2.1k
1 个回答

是滴,$modifier 应该传入 list,但是如果这个 list 只有一个值呢?
m(label-left) 说明这个 list 只有一个值,如果两个值就是 m(label-left, modifier)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题