diff options
| author | Mark Otto <[email protected]> | 2013-06-02 13:38:45 -0700 |
|---|---|---|
| committer | Mark Otto <[email protected]> | 2013-06-02 13:38:45 -0700 |
| commit | 19d0726609f860d4a7f1c214965164084aaf8a5f (patch) | |
| tree | 39639d7ea87c7ddbbaffad47683aee8116394133 /less | |
| parent | b62fa23d9a11c48ab7557b8a0c397c92ec106653 (diff) | |
| download | bootstrap-19d0726609f860d4a7f1c214965164084aaf8a5f.tar.xz bootstrap-19d0726609f860d4a7f1c214965164084aaf8a5f.zip | |
Grid updates
- Removed mixins for generating grid classes
- Thus, we manually declare every grid class, from 1-11 (12th unit is
excluded as that's the same as no grid columns)
- No more need for `.col` base class (yay!)
- Negative indent the rows at tablets and above once again (ugh, still
working through this part)
- Add support for `.col-md` for tablet-specific grid columns
- Still need to figure out offsets, pushes, and pulls on other
devices—right now only available on desktop
Diffstat (limited to 'less')
| -rw-r--r-- | less/grid.less | 113 | ||||
| -rw-r--r-- | less/mixins.less | 78 |
2 files changed, 106 insertions, 85 deletions
diff --git a/less/grid.less b/less/grid.less index 6d5a8e345..23aa069e3 100644 --- a/less/grid.less +++ b/less/grid.less @@ -13,9 +13,29 @@ .make-row(); } - // Common styles for small and large grid columns -.col { +.col-1, +.col-2, +.col-3, +.col-4, +.col-5, +.col-6, +.col-7, +.col-8, +.col-9, +.col-10, +.col-11, +.col-lg-1, +.col-lg-2, +.col-lg-3, +.col-lg-4, +.col-lg-5, +.col-lg-6, +.col-lg-7, +.col-lg-8, +.col-lg-9, +.col-lg-10, +.col-lg-11 { position: relative; // Float and set width: 100%; for easy stacking on mobile devices float: left; @@ -27,14 +47,88 @@ padding-right: (@grid-gutter-width / 2); } -// Generate small grid classes first -.generate-grid-columns(@grid-columns); +// Grid column sizing + +// Small columns (phones and up) +.col-1 { width: (1 / @grid-columns); } +.col-2 { width: (2 / @grid-columns); } +.col-3 { width: (3 / @grid-columns); } +.col-4 { width: (4 / @grid-columns); } +.col-5 { width: (5 / @grid-columns); } +.col-6 { width: (6 / @grid-columns); } +.col-7 { width: (7 / @grid-columns); } +.col-8 { width: (8 / @grid-columns); } +.col-9 { width: (9 / @grid-columns); } +.col-10 { width: (10/ @grid-columns); } +.col-11 { width: (11/ @grid-columns); } -// Then generate the larger grid classes via media query -@media screen and (min-width: @screen-small) { - .generate-large-grid-columns(@grid-columns); +// Medium columns (tablets and up) +@media (min-width: @screen-tablet) { + .col-md-1 { width: (1 / @grid-columns); } + .col-md-2 { width: (2 / @grid-columns); } + .col-md-3 { width: (3 / @grid-columns); } + .col-md-4 { width: (4 / @grid-columns); } + .col-md-5 { width: (5 / @grid-columns); } + .col-md-6 { width: (6 / @grid-columns); } + .col-md-7 { width: (7 / @grid-columns); } + .col-md-8 { width: (8 / @grid-columns); } + .col-md-9 { width: (9 / @grid-columns); } + .col-md-10 { width: (10/ @grid-columns); } + .col-md-11 { width: (11/ @grid-columns); } } +@media (min-width: @screen-desktop) { + // Large columns (desktop and up) + .col-lg-1 { width: percentage(1 / @grid-columns); } + .col-lg-2 { width: percentage(2 / @grid-columns); } + .col-lg-3 { width: percentage(3 / @grid-columns); } + .col-lg-4 { width: percentage(4 / @grid-columns); } + .col-lg-5 { width: percentage(5 / @grid-columns); } + .col-lg-6 { width: percentage(6 / @grid-columns); } + .col-lg-7 { width: percentage(7 / @grid-columns); } + .col-lg-8 { width: percentage(8 / @grid-columns); } + .col-lg-9 { width: percentage(9 / @grid-columns); } + .col-lg-10 { width: percentage(10/ @grid-columns); } + .col-lg-11 { width: percentage(11/ @grid-columns); } + + // Offsets + .col-offset-1 { margin-left: percentage(1 / @grid-columns); } + .col-offset-2 { margin-left: percentage(2 / @grid-columns); } + .col-offset-3 { margin-left: percentage(3 / @grid-columns); } + .col-offset-4 { margin-left: percentage(4 / @grid-columns); } + .col-offset-5 { margin-left: percentage(5 / @grid-columns); } + .col-offset-6 { margin-left: percentage(6 / @grid-columns); } + .col-offset-7 { margin-left: percentage(7 / @grid-columns); } + .col-offset-8 { margin-left: percentage(8 / @grid-columns); } + .col-offset-9 { margin-left: percentage(9 / @grid-columns); } + .col-offset-10 { margin-left: percentage(10/ @grid-columns); } + .col-offset-11 { margin-left: percentage(11/ @grid-columns); } + + // Push and pull columns for source order changes + .col-push-1 { left: percentage(1 / @grid-columns); } + .col-push-2 { left: percentage(2 / @grid-columns); } + .col-push-3 { left: percentage(3 / @grid-columns); } + .col-push-4 { left: percentage(4 / @grid-columns); } + .col-push-5 { left: percentage(5 / @grid-columns); } + .col-push-6 { left: percentage(6 / @grid-columns); } + .col-push-7 { left: percentage(7 / @grid-columns); } + .col-push-8 { left: percentage(8 / @grid-columns); } + .col-push-9 { left: percentage(9 / @grid-columns); } + .col-push-10 { left: percentage(10/ @grid-columns); } + .col-push-11 { left: percentage(11/ @grid-columns); } + + .col-pull-1 { right: percentage(1 / @grid-columns); } + .col-pull-2 { right: percentage(2 / @grid-columns); } + .col-pull-3 { right: percentage(3 / @grid-columns); } + .col-pull-4 { right: percentage(4 / @grid-columns); } + .col-pull-5 { right: percentage(5 / @grid-columns); } + .col-pull-6 { right: percentage(6 / @grid-columns); } + .col-pull-7 { right: percentage(7 / @grid-columns); } + .col-pull-8 { right: percentage(8 / @grid-columns); } + .col-pull-9 { right: percentage(9 / @grid-columns); } + .col-pull-10 { right: percentage(10/ @grid-columns); } + .col-pull-11 { right: percentage(11/ @grid-columns); } +} // Responsive: Tablets and up @media screen and (min-width: @screen-tablet) { @@ -56,8 +150,3 @@ max-width: @container-large-desktop; } } - -// Reset utility classes due to specificity -/*[class*="col-span-"].pull-right { - float: right; -}*/ diff --git a/less/mixins.less b/less/mixins.less index e900351be..d4c628e13 100644 --- a/less/mixins.less +++ b/less/mixins.less @@ -419,6 +419,11 @@ // Then clear the floated columns .clearfix(); + @media (min-width: @screen-small) { + margin-left: (@grid-gutter-width / -2); + margin-right: (@grid-gutter-width / -2); + } + // Negative margin nested rows out to align the content of columns .row { margin-left: (@grid-gutter-width / -2); @@ -459,79 +464,6 @@ } } -// Small grid columns -.generate-grid-columns(@grid-columns) { - - .col-sm-X (@index) when (@index > 0) { - .col-sm-@{index} { .col-sm-(@index); } - .col-sm-X((@index - 1)); - } - .col-sm-X (0) {} - - // Generate columns - .col-sm-X(@grid-columns); - - // Apply the styles - .col-sm-(@columns) { - width: percentage((@columns / @grid-columns)); - } -} - -// Large grid columns -.generate-large-grid-columns(@grid-columns) { - - .col-lg-X (@index) when (@index > 0) { - .col-lg-@{index} { .col-lg-(@index); } - .col-lg-X((@index - 1)); - } - .col-lg-X (0) {} - - // Generate the columns - .col-lg-X(@grid-columns); - - // Apply the styles - .col-lg-(@columns) { - width: percentage((@columns / @grid-columns)); - } - - // Offsets (gaps between columns) - .col-offset-X (@index) when (@index > 0) { - .col-offset-@{index} { .col-offset-(@index); } - .col-offset-X((@index - 1)); - } - .col-offset-X (0) {} - - // Source ordering - .col-push-X (@index) when (@index > 0) { - .col-push-@{index} { .col-push-(@index); } - .col-push-X((@index - 1)); - } - .col-push-X (0) {} - - // Source ordering - .col-pull-X (@index) when (@index > 0) { - .col-pull-@{index} { .col-pull-(@index); } - .col-pull-X((@index - 1)); - } - .col-pull-X (0) {} - - // Apply the styles - .col-offset-(@columns) { - margin-left: percentage((@columns / @grid-columns)); - } - .col-push-(@columns) { - left: percentage((@columns / @grid-columns)); - } - .col-pull-(@columns) { - right: percentage((@columns / @grid-columns)); - } - - // Generate .spanX and .offsetX - .col-offset-X(@grid-columns); - .col-push-X(@grid-columns); - .col-pull-X(@grid-columns); -} - // Framework mixins |
