aboutsummaryrefslogtreecommitdiff
path: root/less
diff options
context:
space:
mode:
authorMark Otto <[email protected]>2013-06-02 13:38:45 -0700
committerMark Otto <[email protected]>2013-06-02 13:38:45 -0700
commit19d0726609f860d4a7f1c214965164084aaf8a5f (patch)
tree39639d7ea87c7ddbbaffad47683aee8116394133 /less
parentb62fa23d9a11c48ab7557b8a0c397c92ec106653 (diff)
downloadbootstrap-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.less113
-rw-r--r--less/mixins.less78
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