Skip to content

Instantly share code, notes, and snippets.

@ardianzzz
Created July 31, 2012 12:53
Show Gist options
  • Save ardianzzz/3216874 to your computer and use it in GitHub Desktop.
Save ardianzzz/3216874 to your computer and use it in GitHub Desktop.
Fluid Grid Framework
@import "compass";
@import "compass/reset";
* {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
font-family:sans-serif;
}
html {
font-size: 62.5%;
}
/* The Grid */
/* The Grid ---------------------- */
.row { width: 940px; max-width: 100%; min-width: 768px; margin: 0 auto; }
.row .row { width: auto; max-width: none; min-width: 0; margin: 0 -10px; }
.row.collapse .column, .row.collapse .columns { padding: 0; }
.row .row { width: auto; max-width: none; min-width: 0; margin: 0 -10px; }
.row .row.collapse { margin: 0; }
.column, .columns { float: left; min-height: 1px; padding: 0 10px; position: relative; }
.column.centered, .columns.centered { float: none; margin: 0 auto; }
[class*="column"] + [class*="column"]:last-child { float: right; }
[class*="column"] + [class*="column"].end { float: left; }
.row .one { width: 8.333%; }
.row .two { width: 16.667%; }
.row .three { width: 25%; }
.row .four { width: 33.333%; }
.row .five { width: 41.667%; }
.row .six { width: 50%; }
.row .seven { width: 58.333%; }
.row .eight { width: 66.667%; }
.row .nine { width: 75%; }
.row .ten { width: 83.333%; }
.row .eleven { width: 91.667%; }
.row .twelve { width: 100%; }
.row .offset-by-one { margin-left: 8.333%; }
.row .offset-by-two { margin-left: 16.667%; }
.row .offset-by-three { margin-left: 25%; }
.row .offset-by-four { margin-left: 33.333%; }
.row .offset-by-five { margin-left: 41.667%; }
.row .offset-by-six { margin-left: 50%; }
.row .offset-by-seven { margin-left: 58.333%; }
.row .offset-by-eight { margin-left: 66.667%; }
.row .offset-by-nine { margin-left: 75%; }
.row .offset-by-ten { margin-left: 83.333%; }
.push-two { left: 16.667%; }
.pull-two { right: 16.667%; }
.push-three { left: 25%; }
.pull-three { right: 25%; }
.push-four { left: 33.333%; }
.pull-four { right: 33.333%; }
.push-five { left: 41.667%; }
.pull-five { right: 41.667%; }
.push-six { left: 50%; }
.pull-six { right: 50%; }
.push-seven { left: 58.333%; }
.pull-seven { right: 58.333%; }
.push-eight { left: 66.667%; }
.pull-eight { right: 66.667%; }
.push-nine { left: 75%; }
.pull-nine { right: 75%; }
.push-ten { left: 83.333%; }
.pull-ten { right: 83.333%; }
img, object, embed { max-width: 100%; height: auto; }
img { -ms-interpolation-mode: bicubic; }
#map_canvas img, .map_canvas img { max-width: none!important; }
/* Nicolas Gallagher's micro clearfix */
.row { *zoom: 1; }
.row:before, .row:after { content: ""; display: table; }
.row:after { clear: both; }
/* Mobile Grid and Overrides ---------------------- */
@media only screen and (max-width: 767px) { body { -webkit-text-size-adjust: none; -ms-text-size-adjust: none; width: 100%; min-width: 0; margin-left: 0; margin-right: 0; padding-left: 0; padding-right: 0; }
.row { width: auto; min-width: 0; margin-left: 0; margin-right: 0; }
.column, .columns { width: auto !important; float: none; }
.column:last-child, .columns:last-child { float: none; }
[class*="column"] + [class*="column"]:last-child { float: none; }
.column:before, .columns:before, .column:after, .columns:after { content: ""; display: table; }
.column:after, .columns:after { clear: both; }
.offset-by-one, .offset-by-two, .offset-by-three, .offset-by-four, .offset-by-five, .offset-by-six, .offset-by-seven, .offset-by-eight, .offset-by-nine, .offset-by-ten { margin-left: 0 !important; }
.push-two, .push-three, .push-four, .push-five, .push-six, .push-seven, .push-eight, .push-nine, .push-ten { left: auto; }
.pull-two, .pull-three, .pull-four, .pull-five, .pull-six, .pull-seven, .pull-eight, .pull-nine, .pull-ten { right: auto; }
/* Mobile 4-column Grid */
.row .mobile-one { width: 25% !important; float: left; padding: 0 10px; }
.row .mobile-one:last-child { float: right; }
.row.collapse .mobile-one { padding: 0; }
.row .mobile-two { width: 50% !important; float: left; padding: 0 10px; }
.row .mobile-two:last-child { float: right; }
.row.collapse .mobile-two { padding: 0; }
.row .mobile-three { width: 75% !important; float: left; padding: 0 10px; }
.row .mobile-three:last-child { float: right; }
.row.collapse .mobile-three { padding: 0; }
.row .mobile-four { width: 100% !important; float: left; padding: 0 10px; }
.row .mobile-four:last-child { float: right; }
.row.collapse .mobile-four { padding: 0; }
.push-one-mobile { left: 25%; }
.pull-one-mobile { right: 25%; }
.push-two-mobile { left: 50%; }
.pull-two-mobile { right: 50%; }
.push-three-mobile { left: 75%; }
.pull-three-mobile { right: 75%; } }
/* Block Grids ---------------------- */
/* These are 2-up, 3-up, 4-up and 5-up ULs, suited
for repeating blocks of content. Add 'mobile' to
them to switch them just like the layout grid
(one item per line) on phones
For IE7/8 compatibility block-grid items need to be
the same height. You can optionally uncomment the
lines below to support arbitrary height, but know
that IE7/8 do not support :nth-child.
-------------------------------------------------- */
.block-grid { display: block; overflow: hidden; padding: 0; }
.block-grid > li { display: block; height: auto; float: left; }
.block-grid.one-up { margin: 0; }
.block-grid.one-up > li { width: 100%; padding: 0 0 15px; }
.block-grid.two-up { margin: 0 -15px; }
.block-grid.two-up > li { width: 50%; padding: 0 15px 15px; }
/* .block-grid.two-up>li:nth-child(2n+1) {clear: left;} */
.block-grid.three-up { margin: 0 -12px; }
.block-grid.three-up > li { width: 33.33%; padding: 0 12px 12px; }
/* .block-grid.three-up>li:nth-child(3n+1) {clear: left;} */
.block-grid.four-up { margin: 0 -10px; }
.block-grid.four-up > li { width: 25%; padding: 0 10px 10px; }
/* .block-grid.four-up>li:nth-child(4n+1) {clear: left;} */
.block-grid.five-up { margin: 0 -8px; }
.block-grid.five-up > li { width: 20%; padding: 0 8px 8px; }
/* .block-grid.five-up>li:nth-child(5n+1) {clear: left;} */
/* Mobile Block Grids */
@media only screen and (max-width: 767px) { .block-grid.mobile { margin-left: 0; }
.block-grid.mobile > li { float: none; width: 100%; margin-left: 0; } }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment