使用Susy的跨度函数的嵌套分裂排水沟

时间:2017-02-06 15:30:16

标签: susy susy-sass

Susy是否有内置的方法来使用span函数而不是mixin来解释具有拆分排水沟的父母的孩子?这里的孩子最终会缩短排水沟(如预期的那样):

$susy: (columns: 8,  gutters: 0.3, global-box-sizing: border-box, gutter-position: split)


.full_width
    width: span(5)

.three_columns
  width: span(3 of 5)

手动添加装订线 - width: span(3 of 5) + gutter() - 或更改装订线样式 - width: span(3 of 5 after) - 两者都得到了正确的结果,但我不确定是否有更直观的方式,除了编写我自己的nested-span函数来包装其中一个。

1 个答案:

答案 0 :(得分:1)

Susy的分裂排水网格预计父元素是超宽的(跨越自己的排水沟),而孩子要狭窄(排水沟将其推入到位)。如果您在父级上使用nest,则会由mixin自动处理 - 例如span(5 nest)

在你的情况下,孩子实际上并没有错过排水沟 - 数学是完全错误的。 Susy正在尝试计算span / wide-container,但你的容器实际上并不宽。误差几乎是排水沟的宽度,但不完全是。添加装订线会让你接近,但这不准确。

after语法非常有效,因为后置水槽期望一个正常宽度的容器,这就是你所拥有的。基本上,你告诉Susy划分span / container而不是span / wide-container

我把some examples on codepen放在一起 - 你拥有什么,Susy期待什么,以及after hack是如何工作的。

Susy 2.x没有更好的方法来处理这种情况,因为它不是预期的用例。 Susy 3.x将允许您分别控制父母和孩子的传播(窄或宽),以获得您在任何情况下所需的数学。