// ================================================== // Column Width // ================================================== @function column-width($_columns: 1, $_percent: true) { $_grid-columns : $grid-columns; $_column-width : $grid-width; $_column-width-percent: 100%; // major or minor @if $_columns == major or $_columns == minor { @if $_columns == major { $_columns: 1 - $grid-minor; } @else { $_columns: $grid-minor; } $_columns: $grid-columns * $_columns; } // '#/#' @else if type-of($_columns) == string { $_columns : str-replace($_columns, " "); $_index : str-index($_columns, "/"); $_index-offset: 1; @if $_index == null { $_index : str-index($_columns, "of"); $_index-offset: 2; } @if $_index { $_grid-columns: to-number(str-slice($_columns, $_index + $_index-offset, str-length($_columns))); $_columns : to-number(str-slice($_columns, 1, $_index - 1)); } } // # of # or # # @else if type-of($_columns) == list { @if length($_columns) == 3 { $_grid-columns: nth($_columns, 3); } @else { $_grid-columns: nth($_columns, 2); } $_columns: nth($_columns, 1); } // calculate column width @if $grid-collapse == true { $_column-width: ($grid-width / $_grid-columns) * $_columns; @if $_percent == true { $_column-width-percent: $_column-width * 100% / $grid-width; } } @else { // $_column-count : ceil($_grid-columns / $_columns); $_column-count : $_grid-columns / $_columns; $_gutter-total-width : $grid-gutter * ($_column-count - 1); $_grid-remainder-width: $grid-width - $_gutter-total-width; $_column-width : $_grid-remainder-width / $_column-count; @if $_percent == true { $_column-width-percent: $_column-width * 100% / $grid-width; } } // return column width in absolute or percent value @if $_percent == true { @return $_column-width-percent; } @else { @return $_column-width; } }