static/css/util/_grid.scss (51 lines of code) (raw):

/** * @param {string} $selector * @param {integer} $cols-span * @param {px} $spacing (optional) * @param {px} $grid-width (optional) * @param {integer} $cols-count (optional) * @param {boolean} $is-fluid (optional) */ @mixin grid( $selector, $cols-span, $spacing: $grid-spacing, $grid-width: $grid-width, $cols-count: 12, $is-fluid: false) { $span: ($cols-count / $cols-span); @include grid-row($spacing); #{unquote($selector)} { @include grid-col; @include grid-span($span, $spacing); } } /** * @param {integer} $grid-spacing (optional) */ @mixin grid-row($grid-spacing: $grid-spacing) { font-size: 0; margin-right: -$grid-spacing; } /** * * @param {integer} $span * @param {px} $spacing (optional) * @param {px} $grid-width (optional) * @param {integer} $cols-count (optional) * @param {boolean} $grid-is-fluid (optional) */ @mixin grid-span( $span, $spacing: $grid-spacing, $grid-width: $grid-width, $cols-count: 12, $is-fluid: false) { $is-fluid: $is-fluid; $unit-width: 0 !default; $final-unit-width: auto !default; @if ($is-fluid) { $grid-width: 100%; $unit-width: ($span * $grid-width) / $cols-count; $final-unit-width: $unit-width; margin-right: 0; padding-right: $grid-spacing; } @else { $unit-width: ($span * ($grid-width + $spacing)) / $cols-count; $final-unit-width: ($unit-width - $spacing); margin-right: $spacing; } width: $final-unit-width; } /** * Grid column * @param {px} $font-size (optional) */ @mixin grid-col($font-size: $grid-base-font-size) { display: inline-block; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; vertical-align: top; font-size: 14px; }