Susy前缀,后缀,填充错误的输出,里面有gutter-position

Susy prefix, suffix, pad wrong output with gutter-position inside

我不知道在使用 gutter-position: insideprefixsuffixpad 的输出发生了什么。例如:

$susy: (
    columns: 12,
    gutter-position: inside,
    global-box-sizing: border-box
);

body {
    @include pad(gutter());
}

输出为:

body {
  padding-left: 1.6666666667%;
  padding-right: 1.6666666667%;
}

并与 squish mixin 进行比较:

body {
  margin-left: 0.8333333333%;
  margin-right: 0.8333333333%;
}

期望的输出是 0.8333333333%pad 仍然没有 "split"。

它们都在一起 - 本地应该输出相同的值,但事实并非如此:

body {
    @include pad(gutter());
    @include squish(gutter());
}

输出:

body {
  padding-left: 1.6666666667%;
  padding-right: 1.6666666667%;
  margin-left: 0.8333333333%;
  margin-right: 0.8333333333%;
}

发生了什么事?

这些 mixin 不是为了应用间距(为此使用 @include gutter()@include gutter(split))——它们是为了 额外的 边距和填充。为了在大多数情况下正确地做到这一点,除了 您要求的任何 padding/margins 之外,他们还尝试维护现有的排水沟 。在您的情况下,间距被添加到 pad 而不是 squish,因为您的 gutter-positioninside。您要求了一个装订线宽度,pad 添加了一个装订线宽度,您最终得到了两倍。如果您想在不包含装订线宽度的情况下使用这些混音中的任何一个,请使用 no-gutters 关键字 (pad($width no-gutters)).