From efe62a7ef4b52229403253f8d7fd39d2d96ac875 Mon Sep 17 00:00:00 2001 From: Mark Otto Date: Mon, 12 Aug 2013 00:36:22 -0700 Subject: [PATCH] rename and refactor a smidge to add medium grid mixins --- css.html | 107 +++++++++++++++++++++++++++++++++++++---------- less/mixins.less | 51 ++++++++++++++++++---- 2 files changed, 128 insertions(+), 30 deletions(-) diff --git a/css.html b/css.html index 984400beef..04843a1989 100644 --- a/css.html +++ b/css.html @@ -421,39 +421,104 @@ base_url: "../" } } -// Generate the column offsets -.make-column-offset(@columns) { - @media (min-width: @grid-float-breakpoint) { - margin-left: percentage((@columns / @grid-columns)); - } -} -.make-column-push(@columns) { - @media (min-width: @grid-float-breakpoint) { - left: percentage((@columns / @grid-columns)); - } -} -.make-column-pull(@columns) { - @media (min-width: @grid-float-breakpoint) { - right: percentage((@columns / @grid-columns)); - } -} - // Generate the small columns -.make-small-column(@columns; @gutter: @grid-gutter-width) { +.make-sm-column(@columns; @gutter: @grid-gutter-width) { position: relative; - float: left; // Prevent columns from collapsing when empty min-height: 1px; // Inner gutter via padding padding-left: (@gutter / 2); padding-right: (@gutter / 2); - @max-width: (@grid-float-breakpoint - 1); // Calculate width based on number of columns available - @media (max-width: @max-width) { + @media (min-width: @screen-small) { + float: left; width: percentage((@columns / @grid-columns)); } } + +// Generate the small column offsets +.make-sm-column-offset(@columns) { + @media (min-width: @screen-small) { + margin-left: percentage((@columns / @grid-columns)); + } +} +.make-sm-column-push(@columns) { + @media (min-width: @screen-small) { + left: percentage((@columns / @grid-columns)); + } +} +.make-sm-column-pull(@columns) { + @media (min-width: @screen-small) { + right: percentage((@columns / @grid-columns)); + } +} + +// Generate the medium columns +.make-md-column(@columns; @gutter: @grid-gutter-width) { + position: relative; + // Prevent columns from collapsing when empty + min-height: 1px; + // Inner gutter via padding + padding-left: (@gutter / 2); + padding-right: (@gutter / 2); + + // Calculate width based on number of columns available + @media (min-width: @screen-medium) { + float: left; + width: percentage((@columns / @grid-columns)); + } +} + +// Generate the large column offsets +.make-md-column-offset(@columns) { + @media (min-width: @screen-medium) { + margin-left: percentage((@columns / @grid-columns)); + } +} +.make-md-column-push(@columns) { + @media (min-width: @screen-medium) { + left: percentage((@columns / @grid-columns)); + } +} +.make-md-column-pull(@columns) { + @media (min-width: @screen-medium) { + right: percentage((@columns / @grid-columns)); + } +} + +// Generate the large columns +.make-lg-column(@columns; @gutter: @grid-gutter-width) { + position: relative; + // Prevent columns from collapsing when empty + min-height: 1px; + // Inner gutter via padding + padding-left: (@gutter / 2); + padding-right: (@gutter / 2); + + // Calculate width based on number of columns available + @media (min-width: @screen-large) { + float: left; + width: percentage((@columns / @grid-columns)); + } +} + +// Generate the large column offsets +.make-lg-column-offset(@columns) { + @media (min-width: @screen-large) { + margin-left: percentage((@columns / @grid-columns)); + } +} +.make-lg-column-push(@columns) { + @media (min-width: @screen-large) { + left: percentage((@columns / @grid-columns)); + } +} +.make-lg-column-pull(@columns) { + @media (min-width: @screen-large) { + right: percentage((@columns / @grid-columns)); + } +} {% endhighlight %}

Example usage

diff --git a/less/mixins.less b/less/mixins.less index 2802570b3d..e58e602d38 100644 --- a/less/mixins.less +++ b/less/mixins.less @@ -488,7 +488,7 @@ } // Generate the small columns -.make-small-column(@columns; @gutter: @grid-gutter-width) { +.make-sm-column(@columns; @gutter: @grid-gutter-width) { position: relative; // Prevent columns from collapsing when empty min-height: 1px; @@ -504,24 +504,24 @@ } // Generate the small column offsets -.make-small-column-offset(@columns) { +.make-sm-column-offset(@columns) { @media (min-width: @screen-small) { margin-left: percentage((@columns / @grid-columns)); } } -.make-small-column-push(@columns) { +.make-sm-column-push(@columns) { @media (min-width: @screen-small) { left: percentage((@columns / @grid-columns)); } } -.make-small-column-pull(@columns) { +.make-sm-column-pull(@columns) { @media (min-width: @screen-small) { right: percentage((@columns / @grid-columns)); } } -// Generate the large columns -.make-large-column(@columns; @gutter: @grid-gutter-width) { +// Generate the medium columns +.make-md-column(@columns; @gutter: @grid-gutter-width) { position: relative; // Prevent columns from collapsing when empty min-height: 1px; @@ -537,22 +537,55 @@ } // Generate the large column offsets -.make-large-column-offset(@columns) { +.make-md-column-offset(@columns) { @media (min-width: @screen-medium) { margin-left: percentage((@columns / @grid-columns)); } } -.make-large-column-push(@columns) { +.make-md-column-push(@columns) { @media (min-width: @screen-medium) { left: percentage((@columns / @grid-columns)); } } -.make-large-column-pull(@columns) { +.make-md-column-pull(@columns) { @media (min-width: @screen-medium) { right: percentage((@columns / @grid-columns)); } } +// Generate the large columns +.make-lg-column(@columns; @gutter: @grid-gutter-width) { + position: relative; + // Prevent columns from collapsing when empty + min-height: 1px; + // Inner gutter via padding + padding-left: (@gutter / 2); + padding-right: (@gutter / 2); + + // Calculate width based on number of columns available + @media (min-width: @screen-large) { + float: left; + width: percentage((@columns / @grid-columns)); + } +} + +// Generate the large column offsets +.make-lg-column-offset(@columns) { + @media (min-width: @screen-large) { + margin-left: percentage((@columns / @grid-columns)); + } +} +.make-lg-column-push(@columns) { + @media (min-width: @screen-large) { + left: percentage((@columns / @grid-columns)); + } +} +.make-lg-column-pull(@columns) { + @media (min-width: @screen-large) { + right: percentage((@columns / @grid-columns)); + } +} + // Form validation states //