将列偏移添加到simplegrid.io

时间:2018-01-10 11:46:18

标签: css grid

我们有一位新设计师(谢天谢地)在他们的设计中使用过网格。

我已经开始使用此处找到的内容:http://www.simplegrid.io/

它的效果很好并且符合预期,但它缺少的唯一功能是能够偏移列。

我无法理解解决方案添加添加类col-offset-X(1-12)的功能,并使其适用于当前网格。回购公司有一些问题可以解决,但尚未实施,任何人都可以免费提供吗?

CSS(如建议的那样)简单:

$width: 96%;
$gutter: 4%;

.container {
    width: 95%;
    max-width: 1220px;
    margin-left: auto;
    margin-right: auto;
}

.row {
    position: relative;
    width: 100%;

    &.center-align {
        [class^="col"] {
            display: inline-block;
            float: none;
        }
    }
}

.row [class^="col"] {
    float: left;
    margin: 0.5rem 2%;
    min-height: 0.125rem;
}

.row::after {
    content: "";
    display: table;
    clear: both;
}

.col-1,
.col-2,
.col-3,
.col-4,
.col-5,
.col-6,
.col-7,
.col-8,
.col-9,
.col-10,
.col-11,
.col-12 {
    width: $width;
}

.col-1-sm { width:($width / 12) - ($gutter * 11 / 12); }
.col-2-sm { width: ($width / 6) - ($gutter * 10 / 12); }
.col-3-sm { width: ($width / 4) - ($gutter * 9 / 12); }
.col-4-sm { width: ($width / 3) - ($gutter * 8 / 12); }
.col-5-sm { width: ($width / (12 / 5)) - ($gutter * 7 / 12); }
.col-6-sm { width: ($width / 2) - ($gutter * 6 / 12); }
.col-7-sm { width: ($width / (12 / 7)) - ($gutter * 5 / 12); }
.col-8-sm { width: ($width / (12 / 8)) - ($gutter * 4 / 12); }
.col-9-sm { width: ($width / (12 / 9)) - ($gutter * 3 / 12); }
.col-10-sm { width: ($width / (12 / 10)) - ($gutter * 2 / 12); }
.col-11-sm { width: ($width / (12 / 11)) - ($gutter * 1 / 12); }
.col-12-sm { width: $width; }

@media only screen and (min-width: $breakpoint-med) {
    .col-1 { width:($width / 12) - ($gutter * 11 / 12); }
    .col-2 { width: ($width / 6) - ($gutter * 10 / 12); }
    .col-3 { width: ($width / 4) - ($gutter * 9 / 12); }
    .col-4 { width: ($width / 3) - ($gutter * 8 / 12); }
    .col-5 { width: ($width / (12 / 5)) - ($gutter * 7 / 12); }
    .col-6 { width: ($width / 2) - ($gutter * 6 / 12); }
    .col-7 { width: ($width / (12 / 7)) - ($gutter * 5 / 12); }
    .col-8 { width: ($width / (12 / 8)) - ($gutter * 4 / 12); }
    .col-9 { width: ($width / (12 / 9)) - ($gutter * 3 / 12); }
    .col-10 { width: ($width / (12 / 10)) - ($gutter * 2 / 12); }
    .col-11 { width: ($width / (12 / 11)) - ($gutter * 1 / 12); }
    .col-12 { width: $width; }

    .hidden-sm {
        display: block;
    }
}

编辑:

玩弄了我这个:

.col-offset-1 {
    margin-left: ($width / 12) + ($gutter / 2) !important;
}

如果有任何问题那么请建议,如果不是我将解决其余的补偿。

1 个答案:

答案 0 :(得分:0)

你可以尝试在你的sass中实现for循环。

实施例..

.column    
  @for $i from 1 through 12
    &.col-offset-#{$i}
      margin-left: ($i / 12) * 100%