/* bootstrap grid system */ #gridSystem { // Setup the mixins to be used .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, @columns) { width: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns - 1)); } .offset(@gridColumnWidth, @gridGutterWidth, @columns) { margin-left: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns - 1)) + (@gridGutterWidth * 2); } .gridColumn(@gridGutterWidth) { float: left; margin-left: @gridGutterWidth; } // Take these values and mixins, and make 'em do their thang .generate(@gridColumns, @gridColumnWidth, @gridGutterWidth) { // Row surrounds the columns .row { margin-left: @gridGutterWidth * -1; } // Find all .span# classes within .row and give them the necessary properties for grid columns (supported by all browsers back to IE7, thanks @dhg) [class*="span"] { #gridSystem > .gridColumn(@gridGutterWidth); } // Default columns .span1 { #gridSystem > .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 1); } .span2 { #gridSystem > .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 2); } .span3 { #gridSystem > .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 3); } .span4 { #gridSystem > .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 4); } .span5 { #gridSystem > .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 5); } .span6 { #gridSystem > .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 6); } .span7 { #gridSystem > .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 7); } .span8 { #gridSystem > .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 8); } .span9 { #gridSystem > .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 9); } .span10 { #gridSystem > .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 10); } .span11 { #gridSystem > .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 11); } .span12, .container { #gridSystem > .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 12); } // Offset column options .offset1 { #gridSystem > .offset(@gridColumnWidth, @gridGutterWidth, 1); } .offset2 { #gridSystem > .offset(@gridColumnWidth, @gridGutterWidth, 2); } .offset3 { #gridSystem > .offset(@gridColumnWidth, @gridGutterWidth, 3); } .offset4 { #gridSystem > .offset(@gridColumnWidth, @gridGutterWidth, 4); } .offset5 { #gridSystem > .offset(@gridColumnWidth, @gridGutterWidth, 5); } .offset6 { #gridSystem > .offset(@gridColumnWidth, @gridGutterWidth, 6); } .offset7 { #gridSystem > .offset(@gridColumnWidth, @gridGutterWidth, 7); } .offset8 { #gridSystem > .offset(@gridColumnWidth, @gridGutterWidth, 8); } .offset9 { #gridSystem > .offset(@gridColumnWidth, @gridGutterWidth, 9); } .offset10 { #gridSystem > .offset(@gridColumnWidth, @gridGutterWidth, 10); } .offset11 { #gridSystem > .offset(@gridColumnWidth, @gridGutterWidth, 11); } } } // Default 940px grid @gridColumns: 12; @gridColumnWidth: 60px; @gridGutterWidth: 20px; @gridRowWidth: (@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1)); // Fixed (940px) #gridSystem > .generate(@gridColumns, @gridColumnWidth, @gridGutterWidth); // Test #gridSystem > .generate(7, 27, 1.7);