2
0
mirror of https://github.com/tenrok/bootstrap.git synced 2026-06-08 17:22:31 +03:00

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
This commit is contained in:
Mark Otto
2013-06-02 13:38:45 -07:00
parent b62fa23d9a
commit 19d0726609
3 changed files with 274 additions and 209 deletions
+101 -12
View File
@@ -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
// Then generate the larger grid classes via media query
@media screen and (min-width: @screen-small) {
.generate-large-grid-columns(@grid-columns);
// 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); }
// 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;
}*/
+5 -73
View File
@@ -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