Sass 多个SCSS方程计算宽度减去边距

Sass 多个SCSS方程计算宽度减去边距,sass,Sass,我有一个mixin,它将用户选择的项目分割成一个内联块网格。用户可以指定一行中的数量、边沟和要定位的子元素 这一切都很好,下面是一个例子: 原件-SCSS 我的问题是。。当我尝试使用边距时,我需要像以前一样重新计算,因为在计算宽度时不考虑填充,而现在使用边距时,我需要调整宽度以考虑所选的边距 我不知道如何最好地处理这个问题。谢谢你的帮助 新尝试-SCSS 最近一次尝试的结果是宽度为8%,如果我做一行3,带25个边沟。我的数学一定很差 你能提供一些期望值吗?使用working Example更新我

我有一个mixin,它将用户选择的项目分割成一个内联块网格。用户可以指定一行中的数量、边沟和要定位的子元素

这一切都很好,下面是一个例子:

原件-SCSS

我的问题是。。当我尝试使用边距时,我需要像以前一样重新计算,因为在计算宽度时不考虑填充,而现在使用边距时,我需要调整宽度以考虑所选的边距

我不知道如何最好地处理这个问题。谢谢你的帮助

新尝试-SCSS

最近一次尝试的结果是宽度为8%,如果我做一行3,带25个边沟。我的数学一定很差


你能提供一些期望值吗?使用working Example更新我是否需要引入另一个参数并获得最大宽度,以便将px边距输入转换为百分比?仍然不清楚你的期望值是什么。也不清楚为什么要在使用多栏模块时这样做:据我所知,唯一的原因是css栏仍然只得到部分支持。虽然css列确实很简单
@mixin list-grid($per-row, $spacing, $selector){
    margin: 0 em(-$spacing/2);
    @include clearfix;
    //negate the display-inline biatch
    letter-spacing: -0.31em;

    > #{$selector} {
        width: 100% / $per-row;
        font-size: 16px;
        position: relative;
        padding: 0 em($spacing/2) em($spacing) em($spacing/2);
        display: inline-block;
        vertical-align: top;
        letter-spacing: 0;
        background-clip: content-box;
    }
}
@mixin list-grid($per-row, $spacing, $selector){
    margin: 0 em(-$spacing/2);
    @include clearfix;
    //negate the display-inline biatch
    letter-spacing: -0.31em;

    > #{$selector} {
        /* not sure what to do here */
        width: 100% / $per-row -$spacing;
        font-size: 16px;
        position: relative;
        margin: 0 em($spacing/2) em($spacing) em($spacing/2);
        display: inline-block;
        vertical-align: top;
        letter-spacing: 0;
        background-clip: content-box;
    }
}