From ae7f94eeff733584cbdc80a2d13a85f136a7744e Mon Sep 17 00:00:00 2001 From: Mark Otto <markdotto@gmail.com> Date: Mon, 30 Jan 2012 00:39:44 -0800 Subject: [PATCH] overhaul grid mixins and variables, standardize fluid grid system and enable it across responsive layouts --- docs/assets/bootstrap.zip | Bin 51339 -> 51780 bytes docs/assets/css/bootstrap-responsive.css | 196 ++++++++++++++++++----- docs/assets/css/bootstrap.css | 78 +++------ docs/assets/css/docs.css | 1 + docs/base-css.html | 25 +++ docs/components.html | 4 + docs/download.html | 4 + docs/examples.html | 4 + docs/index.html | 4 + docs/javascript.html | 4 + docs/less.html | 4 + docs/scaffolding.html | 4 + docs/templates/layout.mustache | 4 + docs/templates/pages/base-css.mustache | 21 +++ docs/upgrading.html | 4 + examples/fluid.html | 6 +- less/forms.less | 46 +----- less/grid.less | 81 +--------- less/mixins.less | 134 ++++++++++++++-- less/responsive.less | 190 +++------------------- less/variables.less | 25 +-- 21 files changed, 430 insertions(+), 409 deletions(-) diff --git a/docs/assets/bootstrap.zip b/docs/assets/bootstrap.zip index cb200386a733e39d239b41a1f123396fb41b9616..f42b5b57bf0fd36bc42c84c1c518d2a04358b848 100644 GIT binary patch delta 28646 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 AApigX delta 28139 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 L@TXn>wD11_ntG~x diff --git a/docs/assets/css/bootstrap-responsive.css b/docs/assets/css/bootstrap-responsive.css index 76e27d6720..fb1d626927 100644 --- a/docs/assets/css/bootstrap-responsive.css +++ b/docs/assets/css/bootstrap-responsive.css @@ -83,7 +83,7 @@ .row { margin-left: 0; } - .row > [class*="span"] { + .row > [class*="span"], .row-fluid > [class*="span"] { float: none; display: block; width: auto; @@ -91,10 +91,20 @@ } } @media (min-width: 768px) and (max-width: 940px) { - .container { - width: 724px; - padding-left: 20px; - padding-right: 20px; + .row { + margin-left: -20px; + *zoom: 1; + } + .row:before, .row:after { + display: table; + content: ""; + } + .row:after { + clear: both; + } + [class*="span"] { + float: left; + margin-left: 20px; } .span1 { width: 42px; @@ -129,7 +139,7 @@ .span11 { width: 662px; } - .span12 { + .span12, .container { width: 724px; } .offset1 { @@ -166,48 +176,94 @@ margin-left: 702px; } .row-fluid { - width: 102.76243093919337%; - margin-left: -2.762430939%; + width: 100%; + *zoom: 1; + } + .row-fluid:before, .row-fluid:after { + display: table; + content: ""; + } + .row-fluid:after { + clear: both; } .row-fluid [class*="span"] { float: left; margin-left: 2.762430939%; } + .row-fluid [class*="span"]:first-child { + margin-left: 0; + } .row-fluid .span1 { - width: 5.6451612899588115%; + width: 5.801104972%; } .row-fluid .span2 { - width: 13.978494622708812%; + width: 14.364640883%; } .row-fluid .span3 { - width: 22.31182795545881%; + width: 22.928176794%; } .row-fluid .span4 { - width: 30.64516128820881%; + width: 31.491712705%; } .row-fluid .span5 { - width: 38.97849462095881%; + width: 40.055248616%; } .row-fluid .span6 { - width: 47.311827953708814%; + width: 48.618784527%; } .row-fluid .span7 { - width: 55.645161286458816%; + width: 57.182320438000005%; } .row-fluid .span8 { - width: 63.97849461920882%; + width: 65.74585634900001%; } .row-fluid .span9 { - width: 72.31182795195882%; + width: 74.30939226%; } .row-fluid .span10 { - width: 80.64516128470882%; + width: 82.87292817100001%; } .row-fluid .span11 { - width: 88.97849461745884%; + width: 91.436464082%; } .row-fluid .span12 { - width: 97.31182795020881%; + width: 99.999999993%; + } + input.span1, textarea.span1, .uneditable-input.span1 { + width: 32px; + } + input.span2, textarea.span2, .uneditable-input.span2 { + width: 94px; + } + input.span3, textarea.span3, .uneditable-input.span3 { + width: 156px; + } + input.span4, textarea.span4, .uneditable-input.span4 { + width: 218px; + } + input.span5, textarea.span5, .uneditable-input.span5 { + width: 280px; + } + input.span6, textarea.span6, .uneditable-input.span6 { + width: 342px; + } + input.span7, textarea.span7, .uneditable-input.span7 { + width: 404px; + } + input.span8, textarea.span8, .uneditable-input.span8 { + width: 466px; + } + input.span9, textarea.span9, .uneditable-input.span9 { + width: 528px; + } + input.span10, textarea.span10, .uneditable-input.span10 { + width: 590px; + } + input.span11, textarea.span11, .uneditable-input.span11 { + width: 652px; + } + input.span12, textarea.span12, .uneditable-input.span12 { + width: 714px; } } @media (max-width: 940px) { @@ -316,19 +372,19 @@ } } @media (min-width: 1200px) { - .thumbnails { + .row { margin-left: -30px; + *zoom: 1; } - .thumbnails > li { - margin-left: 30px; + .row:before, .row:after { + display: table; + content: ""; } - .container { - width: 1170px; - } - .row { - margin-left: -30px; + .row:after { + clear: both; } [class*="span"] { + float: left; margin-left: 30px; } .span1 { @@ -364,7 +420,7 @@ .span11 { width: 1070px; } - .span12 { + .span12, .container { width: 1170px; } .offset1 { @@ -401,47 +457,99 @@ margin-left: 1130px; } .row-fluid { - width: 102.56143440326584%; - margin-left: -2.56%; + width: 100%; + *zoom: 1; + } + .row-fluid:before, .row-fluid:after { + display: table; + content: ""; + } + .row-fluid:after { + clear: both; } .row-fluid [class*="span"] { float: left; - margin-left: 2.56%; + margin-left: 2.564102564%; + } + .row-fluid [class*="span"]:first-child { + margin-left: 0; } .row-fluid .span1 { - width: 5.832601732615312%; + width: 5.982905983%; } .row-fluid .span2 { - width: 14.16126839928198%; + width: 14.529914530000001%; } .row-fluid .span3 { - width: 22.489935065948643%; + width: 23.076923077%; } .row-fluid .span4 { - width: 30.818601732615313%; + width: 31.623931624%; } .row-fluid .span5 { - width: 39.14726839928198%; + width: 40.170940171000005%; } .row-fluid .span6 { - width: 47.47593506594863%; + width: 48.717948718%; } .row-fluid .span7 { - width: 55.8046017326153%; + width: 57.264957265%; } .row-fluid .span8 { - width: 64.13326839928197%; + width: 65.81196581200001%; } .row-fluid .span9 { - width: 72.46193506594864%; + width: 74.358974359%; } .row-fluid .span10 { - width: 80.7906017326153%; + width: 82.905982906%; } .row-fluid .span11 { - width: 89.11926839928198%; + width: 91.45299145300001%; } .row-fluid .span12 { - width: 97.44793506594864%; + width: 100%; + } + input.span1, textarea.span1, .uneditable-input.span1 { + width: 60px; + } + input.span2, textarea.span2, .uneditable-input.span2 { + width: 160px; + } + input.span3, textarea.span3, .uneditable-input.span3 { + width: 260px; + } + input.span4, textarea.span4, .uneditable-input.span4 { + width: 360px; + } + input.span5, textarea.span5, .uneditable-input.span5 { + width: 460px; + } + input.span6, textarea.span6, .uneditable-input.span6 { + width: 560px; + } + input.span7, textarea.span7, .uneditable-input.span7 { + width: 660px; + } + input.span8, textarea.span8, .uneditable-input.span8 { + width: 760px; + } + input.span9, textarea.span9, .uneditable-input.span9 { + width: 860px; + } + input.span10, textarea.span10, .uneditable-input.span10 { + width: 960px; + } + input.span11, textarea.span11, .uneditable-input.span11 { + width: 1060px; + } + input.span12, textarea.span12, .uneditable-input.span12 { + width: 1160px; + } + .thumbnails { + margin-left: -30px; + } + .thumbnails > li { + margin-left: 30px; } } diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css index 9b6217fbd4..b6766f0aaf 100644 --- a/docs/assets/css/bootstrap.css +++ b/docs/assets/css/bootstrap.css @@ -126,7 +126,7 @@ a:hover { margin-left: 20px; } .span1 { - width: 59.99999999999999px; + width: 60px; } .span2 { width: 140px; @@ -158,7 +158,7 @@ a:hover { .span11 { width: 860px; } -.span12 { +.span12, .container { width: 940px; } .offset1 { @@ -195,48 +195,58 @@ a:hover { margin-left: 900px; } .row-fluid { - width: 102.12765957421277%; - margin-left: -2.127659574%; + width: 100%; + *zoom: 1; +} +.row-fluid:before, .row-fluid:after { + display: table; + content: ""; +} +.row-fluid:after { + clear: both; } .row-fluid [class*="span"] { float: left; margin-left: 2.127659574%; } +.row-fluid [class*="span"]:first-child { + margin-left: 0; +} .row-fluid .span1 { - width: 6.249999999619791%; + width: 6.382978723%; } .row-fluid .span2 { - width: 14.58333333211979%; + width: 14.89361702%; } .row-fluid .span3 { - width: 22.91666666461979%; + width: 23.404255317%; } .row-fluid .span4 { - width: 31.24999999711979%; + width: 31.914893614%; } .row-fluid .span5 { - width: 39.58333332961979%; + width: 40.425531911%; } .row-fluid .span6 { - width: 47.91666666211979%; + width: 48.93617020799999%; } .row-fluid .span7 { - width: 56.24999999461979%; + width: 57.446808505%; } .row-fluid .span8 { - width: 64.58333332711977%; + width: 65.95744680199999%; } .row-fluid .span9 { - width: 72.91666665961978%; + width: 74.468085099%; } .row-fluid .span10 { - width: 81.24999999211977%; + width: 82.97872339599999%; } .row-fluid .span11 { - width: 89.58333332461977%; + width: 91.489361693%; } .row-fluid .span12 { - width: 97.91666665711978%; + width: 99.99999998999999%; } .container { width: 940px; @@ -708,42 +718,6 @@ input.span11, textarea.span11, .uneditable-input.span11 { input.span12, textarea.span12, .uneditable-input.span12 { width: 930px; } -select.span1 { - width: 70px; -} -select.span2 { - width: 150px; -} -select.span3 { - width: 230px; -} -select.span4 { - width: 310px; -} -select.span5 { - width: 390px; -} -select.span6 { - width: 470px; -} -select.span7 { - width: 550px; -} -select.span8 { - width: 630px; -} -select.span9 { - width: 710px; -} -select.span10 { - width: 790px; -} -select.span11 { - width: 870px; -} -select.span12 { - width: 950px; -} input[disabled], select[disabled], textarea[disabled], diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css index 1380b9e6c9..acbcc69412 100644 --- a/docs/assets/css/docs.css +++ b/docs/assets/css/docs.css @@ -553,6 +553,7 @@ form.well { } /* For input sizes, make them display block */ +.docs-input-sizes select, .docs-input-sizes input[type=text] { display: block; margin-bottom: 9px; diff --git a/docs/base-css.html b/docs/base-css.html index 0406ff229e..72eea8d671 100644 --- a/docs/base-css.html +++ b/docs/base-css.html @@ -62,6 +62,10 @@ <li class=""> <a href="./download.html">Customize</a> </li> + <li class="vertical-divider"></li> + <li class=""> + <a href="./examples.html">Examples</a> + </li> </ul> </div> </div> @@ -1078,6 +1082,27 @@ For example, <code>section</code> should be wrapped as inline. <input class="span1" type="text" placeholder=".span1"> <input class="span2" type="text" placeholder=".span2"> <input class="span3" type="text" placeholder=".span3"> + <select class="span1"> + <option>1</option> + <option>2</option> + <option>3</option> + <option>4</option> + <option>5</option> + </select> + <select class="span2"> + <option>1</option> + <option>2</option> + <option>3</option> + <option>4</option> + <option>5</option> + </select> + <select class="span3"> + <option>1</option> + <option>2</option> + <option>3</option> + <option>4</option> + <option>5</option> + </select> <p class="help-block">Use the same <code>.span*</code> classes from the grid system for input sizes.</p> </div> </div> diff --git a/docs/components.html b/docs/components.html index 95c7c99078..f62d84b9a9 100644 --- a/docs/components.html +++ b/docs/components.html @@ -62,6 +62,10 @@ <li class=""> <a href="./download.html">Customize</a> </li> + <li class="vertical-divider"></li> + <li class=""> + <a href="./examples.html">Examples</a> + </li> </ul> </div> </div> diff --git a/docs/download.html b/docs/download.html index 832b07ce65..da442ac620 100644 --- a/docs/download.html +++ b/docs/download.html @@ -62,6 +62,10 @@ <li class="active"> <a href="./download.html">Customize</a> </li> + <li class="vertical-divider"></li> + <li class=""> + <a href="./examples.html">Examples</a> + </li> </ul> </div> </div> diff --git a/docs/examples.html b/docs/examples.html index 7d79fc0a0a..63570c7cb0 100644 --- a/docs/examples.html +++ b/docs/examples.html @@ -62,6 +62,10 @@ <li class=""> <a href="./download.html">Customize</a> </li> + <li class="vertical-divider"></li> + <li class="active"> + <a href="./examples.html">Examples</a> + </li> </ul> </div> </div> diff --git a/docs/index.html b/docs/index.html index e20d08bcdd..055f36028c 100644 --- a/docs/index.html +++ b/docs/index.html @@ -62,6 +62,10 @@ <li class=""> <a href="./download.html">Customize</a> </li> + <li class="vertical-divider"></li> + <li class=""> + <a href="./examples.html">Examples</a> + </li> </ul> </div> </div> diff --git a/docs/javascript.html b/docs/javascript.html index eb4a175c33..c4c3dd72a9 100644 --- a/docs/javascript.html +++ b/docs/javascript.html @@ -62,6 +62,10 @@ <li class=""> <a href="./download.html">Customize</a> </li> + <li class="vertical-divider"></li> + <li class=""> + <a href="./examples.html">Examples</a> + </li> </ul> </div> </div> diff --git a/docs/less.html b/docs/less.html index 5935c91259..1242b66a17 100644 --- a/docs/less.html +++ b/docs/less.html @@ -62,6 +62,10 @@ <li class=""> <a href="./download.html">Customize</a> </li> + <li class="vertical-divider"></li> + <li class=""> + <a href="./examples.html">Examples</a> + </li> </ul> </div> </div> diff --git a/docs/scaffolding.html b/docs/scaffolding.html index b9eb399f9b..5f3cd4f43f 100644 --- a/docs/scaffolding.html +++ b/docs/scaffolding.html @@ -62,6 +62,10 @@ <li class=""> <a href="./download.html">Customize</a> </li> + <li class="vertical-divider"></li> + <li class=""> + <a href="./examples.html">Examples</a> + </li> </ul> </div> </div> diff --git a/docs/templates/layout.mustache b/docs/templates/layout.mustache index 7c0ab655be..b372820fda 100644 --- a/docs/templates/layout.mustache +++ b/docs/templates/layout.mustache @@ -62,6 +62,10 @@ <li class="{{download}}"> <a href="./download.html">{{_i}}Customize{{/i}}</a> </li> + <li class="vertical-divider"></li> + <li class="{{examples}}"> + <a href="./examples.html">{{_i}}Examples{{/i}}</a> + </li> </ul> </div> </div> diff --git a/docs/templates/pages/base-css.mustache b/docs/templates/pages/base-css.mustache index b47bcf2659..dedc201f35 100644 --- a/docs/templates/pages/base-css.mustache +++ b/docs/templates/pages/base-css.mustache @@ -1006,6 +1006,27 @@ <input class="span1" type="text" placeholder=".span1"> <input class="span2" type="text" placeholder=".span2"> <input class="span3" type="text" placeholder=".span3"> + <select class="span1"> + <option>1</option> + <option>2</option> + <option>3</option> + <option>4</option> + <option>5</option> + </select> + <select class="span2"> + <option>1</option> + <option>2</option> + <option>3</option> + <option>4</option> + <option>5</option> + </select> + <select class="span3"> + <option>1</option> + <option>2</option> + <option>3</option> + <option>4</option> + <option>5</option> + </select> <p class="help-block">{{_i}}Use the same <code>.span*</code> classes from the grid system for input sizes.{{/i}}</p> </div> </div> diff --git a/docs/upgrading.html b/docs/upgrading.html index d7ad30f561..f4f848c111 100644 --- a/docs/upgrading.html +++ b/docs/upgrading.html @@ -62,6 +62,10 @@ <li class=""> <a href="./download.html">Customize</a> </li> + <li class="vertical-divider"></li> + <li class=""> + <a href="./examples.html">Examples</a> + </li> </ul> </div> </div> diff --git a/examples/fluid.html b/examples/fluid.html index 1cdfd6568f..738c520581 100644 --- a/examples/fluid.html +++ b/examples/fluid.html @@ -55,7 +55,7 @@ </div> <div class="container-fluid"> - <div class="row row-fluid"> + <div class="row-fluid"> <div class="span3"> <div class="well sidebar-nav"> <ul class="nav list"> @@ -84,7 +84,7 @@ <p>This is a template for a simple marketing or informational website. It includes a large callout called the hero unit and three supporting pieces of content. Use it as a starting point to create something more unique.</p> <p><a class="btn primary large">Learn more »</a></p> </div> - <div class="row row-fluid"> + <div class="row-fluid"> <div class="span4"> <h2>Heading</h2> <p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. </p> @@ -101,7 +101,7 @@ <p><a class="btn" href="#">View details »</a></p> </div><!--/span--> </div><!--/row--> - <div class="row row-fluid"> + <div class="row-fluid"> <div class="span4"> <h2>Heading</h2> <p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. </p> diff --git a/less/forms.less b/less/forms.less index 9d94a64b7e..131f8af555 100644 --- a/less/forms.less +++ b/less/forms.less @@ -229,45 +229,13 @@ textarea[class*="span"], margin-left: 0; } -// This is a duplication of the main grid .columns() mixin, but subtracts 10px to account for input padding and border -.inputColumns(@columnSpan: 1) { - width: ((@gridColumnWidth) * @columnSpan) + (@gridGutterWidth * (@columnSpan - 1)) - 10; -} -input, -textarea, -.uneditable-input { - // Default columns - &.span1 { .inputColumns(1); } - &.span2 { .inputColumns(2); } - &.span3 { .inputColumns(3); } - &.span4 { .inputColumns(4); } - &.span5 { .inputColumns(5); } - &.span6 { .inputColumns(6); } - &.span7 { .inputColumns(7); } - &.span8 { .inputColumns(8); } - &.span9 { .inputColumns(9); } - &.span10 { .inputColumns(10); } - &.span11 { .inputColumns(11); } - &.span12 { .inputColumns(12); } -} - -.selectColumns(@columnSpan: 1) { - width: ((@gridColumnWidth) * @columnSpan) + (@gridGutterWidth * (@columnSpan - 1)) + 10; -} -select { - &.span1 { .selectColumns(1); } - &.span2 { .selectColumns(2); } - &.span3 { .selectColumns(3); } - &.span4 { .selectColumns(4); } - &.span5 { .selectColumns(5); } - &.span6 { .selectColumns(6); } - &.span7 { .selectColumns(7); } - &.span8 { .selectColumns(8); } - &.span9 { .selectColumns(9); } - &.span10 { .selectColumns(10); } - &.span11 { .selectColumns(11); } - &.span12 { .selectColumns(12); } -} + + +// GRID SIZING FOR INPUTS +// ---------------------- + +#inputGridSystem > .generate(@gridColumns, @gridColumnWidth, @gridGutterWidth); + diff --git a/less/grid.less b/less/grid.less index 2ef767a4a7..4acb0a44ce 100644 --- a/less/grid.less +++ b/less/grid.less @@ -1,81 +1,8 @@ // GRID SYSTEM // ----------- +// Fixed (940px) +#gridSystem > .generate(@gridColumns, @gridColumnWidth, @gridGutterWidth); -// Grid rows and columns -// --------------------- -.row { - margin-left: @gridGutterWidth * -1; - .clearfix(); -} - -// 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"] { - .gridColumn(); -} - -// Default columns -.span1 { .columns(1); } -.span2 { .columns(2); } -.span3 { .columns(3); } -.span4 { .columns(4); } -.span5 { .columns(5); } -.span6 { .columns(6); } -.span7 { .columns(7); } -.span8 { .columns(8); } -.span9 { .columns(9); } -.span10 { .columns(10); } -.span11 { .columns(11); } -.span12 { .columns(12); } - -// Offset column options -.offset1 { .offset(1); } -.offset2 { .offset(2); } -.offset3 { .offset(3); } -.offset4 { .offset(4); } -.offset5 { .offset(5); } -.offset6 { .offset(6); } -.offset7 { .offset(7); } -.offset8 { .offset(8); } -.offset9 { .offset(9); } -.offset10 { .offset(10); } -.offset11 { .offset(11); } - - - -// FLUID GRID SYSTEM -// ----------------- -// This is a very early and limited fluid grid system for now and will not be documented until it's refined in v2.1. - -.row-fluid { - @gridColumnWidth: 6.382978723%; - @gridGutterWidth: 2.127659574%; - - width: 100% * ((@gridGutterWidth + @gridRowWidth)/@gridRowWidth); - margin-left: 0 - @gridGutterWidth; - - // Redeclare the mixins - .gridColumn() { - float: left; - margin-left: @gridGutterWidth; - } - [class*="span"] { - .gridColumn(); - } - .fluidColumns(@columns: 1) { - width: @gridTotalWidth * ((((@gridGutterWidth+@gridColumnWidth)*@columns)-@gridGutterWidth)/(@gridRowWidth+@gridGutterWidth)); - } - // Redeclare the columns - .span1 { .fluidColumns(1); } - .span2 { .fluidColumns(2); } - .span3 { .fluidColumns(3); } - .span4 { .fluidColumns(4); } - .span5 { .fluidColumns(5); } - .span6 { .fluidColumns(6); } - .span7 { .fluidColumns(7); } - .span8 { .fluidColumns(8); } - .span9 { .fluidColumns(9); } - .span10 { .fluidColumns(10); } - .span11 { .fluidColumns(11); } - .span12 { .fluidColumns(12); } -} +// Fluid (940px) +#fluidGridSystem > .generate(@gridColumns, @fluidGridColumnWidth, @fluidGridGutterWidth); diff --git a/less/mixins.less b/less/mixins.less index cba2670db1..39e1d87967 100644 --- a/less/mixins.less +++ b/less/mixins.less @@ -133,25 +133,135 @@ // Site container // ------------------------- .container-fixed() { - width: @gridTotalWidth; + width: @gridRowWidth; margin-left: auto; margin-right: auto; .clearfix(); } -// Columns and offseting mixins -// ---------------------------- -.columns(@columns: 1) { - //width: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns - 1)); - width: @gridTotalWidth * ((((@gridGutterWidth+@gridColumnWidth)*@columns)-@gridGutterWidth)/@gridRowWidth); +// Le 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; + .clearfix(); + } + // 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); } + } } -.offset(@columns: 1) { - margin-left: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns - 1)) + (@gridGutterWidth * 2); + +// Fluid grid system +// ------------------------- +#fluidGridSystem { + // Setup the mixins to be used + .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, @columns) { + width: 1% * (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1)); + } + .gridColumn(@fluidGridGutterWidth) { + float: left; + margin-left: @fluidGridGutterWidth; + } + // Take these values and mixins, and make 'em do their thang + .generate(@gridColumns, @fluidGridColumnWidth, @fluidGridGutterWidth) { + // Row surrounds the columns + .row-fluid { + width: 100%; + .clearfix(); + + // 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"] { + #fluidGridSystem > .gridColumn(@fluidGridGutterWidth); + } + [class*="span"]:first-child { + margin-left: 0; + } + // Default columns + .span1 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 1); } + .span2 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 2); } + .span3 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 3); } + .span4 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 4); } + .span5 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 5); } + .span6 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 6); } + .span7 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 7); } + .span8 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 8); } + .span9 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 9); } + .span10 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 10); } + .span11 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 11); } + .span12 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 12); } + } + } } -// Necessary grid styles for every column to make them appear next to each other horizontally -.gridColumn() { - float: left; - margin-left: @gridGutterWidth; + + + + +// Input grid system +// ------------------------- +#inputGridSystem { + .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, @columns) { + width: ((@gridColumnWidth) * @columns) + (@gridGutterWidth * (@columns - 1)) - 10; + } + .generate(@gridColumns, @gridColumnWidth, @gridGutterWidth) { + input, + textarea, + .uneditable-input { + &.span1 { #inputGridSystem > .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 1); } + &.span2 { #inputGridSystem > .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 2); } + &.span3 { #inputGridSystem > .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 3); } + &.span4 { #inputGridSystem > .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 4); } + &.span5 { #inputGridSystem > .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 5); } + &.span6 { #inputGridSystem > .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 6); } + &.span7 { #inputGridSystem > .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 7); } + &.span8 { #inputGridSystem > .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 8); } + &.span9 { #inputGridSystem > .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 9); } + &.span10 { #inputGridSystem > .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 10); } + &.span11 { #inputGridSystem > .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 11); } + &.span12 { #inputGridSystem > .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 12); } + } + } } diff --git a/less/responsive.less b/less/responsive.less index a1d4cf2c88..72fa213848 100644 --- a/less/responsive.less +++ b/less/responsive.less @@ -125,7 +125,8 @@ margin-left: 0; } // Make all columns even - .row > [class*="span"] { + .row > [class*="span"], + .row-fluid > [class*="span"] { float: none; display: block; width: auto; @@ -140,90 +141,15 @@ @media (min-width: 768px) and (max-width: 940px) { - // Reset grid variables - @gridColumns: 12; - @gridColumnWidth: 42px; - @gridGutterWidth: 20px; - @siteWidth: 724px; + // Fixed grid + #gridSystem > .generate(12, 42px, 20px); - // Bring grid mixins to recalculate widths - .columns(@columns: 1) { - width: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns - 1)); - } - .offset(@columns: 1) { - margin-left: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns - 1)) + (@gridGutterWidth * 2); - } + // Fluid grid + #fluidGridSystem > .generate(12, 5.801104972%, 2.762430939%); + + // Input grid + #inputGridSystem > .generate(12, 42px, 20px); - // 12cols at 44px wide with 20px gutters - .container { - width: @siteWidth; - padding-left: 20px; - padding-right: 20px; - } - - // Default columns - .span1 { .columns(1); } - .span2 { .columns(2); } - .span3 { .columns(3); } - .span4 { .columns(4); } - .span5 { .columns(5); } - .span6 { .columns(6); } - .span7 { .columns(7); } - .span8 { .columns(8); } - .span9 { .columns(9); } - .span10 { .columns(10); } - .span11 { .columns(11); } - .span12 { .columns(12); } - - // Offset column options - .offset1 { .offset(1); } - .offset2 { .offset(2); } - .offset3 { .offset(3); } - .offset4 { .offset(4); } - .offset5 { .offset(5); } - .offset6 { .offset(6); } - .offset7 { .offset(7); } - .offset8 { .offset(8); } - .offset9 { .offset(9); } - .offset10 { .offset(10); } - .offset11 { .offset(11); } - - // FLUID GRID - // ---------- - .row-fluid { - @gridColumnWidth: 5.801104972%; - @gridGutterWidth: 2.762430939%; - @gridRowWidth: (@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1)); - @gridTotalWidth: @gridRowWidth; - - width: 100% * ((@gridGutterWidth + @gridRowWidth)/@gridRowWidth); - margin-left: 0 - @gridGutterWidth; - - // Redeclare the mixins - .gridColumn() { - float: left; - margin-left: @gridGutterWidth; - } - [class*="span"] { - .gridColumn(); - } - .fluidColumns(@columns: 1) { - width: @gridTotalWidth * ((((@gridGutterWidth+@gridColumnWidth)*@columns)-@gridGutterWidth)/(@gridRowWidth+@gridGutterWidth)); - } - // Redeclare the columns - .span1 { .fluidColumns(1); } - .span2 { .fluidColumns(2); } - .span3 { .fluidColumns(3); } - .span4 { .fluidColumns(4); } - .span5 { .fluidColumns(5); } - .span6 { .fluidColumns(6); } - .span7 { .fluidColumns(7); } - .span8 { .fluidColumns(8); } - .span9 { .fluidColumns(9); } - .span10 { .fluidColumns(10); } - .span11 { .fluidColumns(11); } - .span12 { .fluidColumns(12); } - } } @@ -362,99 +288,21 @@ @media (min-width: 1200px) { - // Reset grid variables - @gridColumns: 12; - @gridColumnWidth: 70px; - @gridGutterWidth: 30px; - @siteWidth: 1170px; + // Fixed grid + #gridSystem > .generate(12, 70px, 30px); + + // Fluid grid + #fluidGridSystem > .generate(12, 5.982905983%, 2.564102564%); + + // Input grid + #inputGridSystem > .generate(12, 70px, 30px); // Thumbnails .thumbnails { - margin-left: @gridGutterWidth * -1; + margin-left: -30px; } .thumbnails > li { - margin-left: @gridGutterWidth; + margin-left: 30px; } - // Bring grid mixins to recalculate widths - .columns(@columns: 1) { - width: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns - 1)); - } - .offset(@columns: 1) { - margin-left: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns - 1)) + (@gridGutterWidth * 2); - } - .container { - width: @siteWidth; - } - .row { - margin-left: @gridGutterWidth * -1; - } - [class*="span"] { - margin-left: @gridGutterWidth; - } - - // Default columns - .span1 { .columns(1); } - .span2 { .columns(2); } - .span3 { .columns(3); } - .span4 { .columns(4); } - .span5 { .columns(5); } - .span6 { .columns(6); } - .span7 { .columns(7); } - .span8 { .columns(8); } - .span9 { .columns(9); } - .span10 { .columns(10); } - .span11 { .columns(11); } - .span12 { .columns(12); } - - // Offset column options - .offset1 { .offset(1); } - .offset2 { .offset(2); } - .offset3 { .offset(3); } - .offset4 { .offset(4); } - .offset5 { .offset(5); } - .offset6 { .offset(6); } - .offset7 { .offset(7); } - .offset8 { .offset(8); } - .offset9 { .offset(9); } - .offset10 { .offset(10); } - .offset11 { .offset(11); } - - - // FLUID GRID - // ---------- - .row-fluid { - @gridColumnWidth: 5.982%; - @gridGutterWidth: 2.56%; - @gridRowWidth: (@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1)); - @gridTotalWidth: @gridRowWidth; - - width: 100% * ((@gridGutterWidth + @gridRowWidth)/@gridRowWidth); - margin-left: 0 - @gridGutterWidth; - - // Redeclare the mixins - .gridColumn() { - float: left; - margin-left: @gridGutterWidth; - } - [class*="span"] { - .gridColumn(); - } - .fluidColumns(@columns: 1) { - width: @gridTotalWidth * ((((@gridGutterWidth+@gridColumnWidth)*@columns)-@gridGutterWidth)/(@gridRowWidth+@gridGutterWidth)); - } - // Redeclare the columns - .span1 { .fluidColumns(1); } - .span2 { .fluidColumns(2); } - .span3 { .fluidColumns(3); } - .span4 { .fluidColumns(4); } - .span5 { .fluidColumns(5); } - .span6 { .fluidColumns(6); } - .span7 { .fluidColumns(7); } - .span8 { .fluidColumns(8); } - .span9 { .fluidColumns(9); } - .span10 { .fluidColumns(10); } - .span11 { .fluidColumns(11); } - .span12 { .fluidColumns(12); } - } } diff --git a/less/variables.less b/less/variables.less index f09a88cdb3..d9d79f05c1 100644 --- a/less/variables.less +++ b/less/variables.less @@ -40,17 +40,6 @@ -// GRID SYSTEM VARIABLES -// -------------------------------------------------- - -@gridColumns: 12; -@gridColumnWidth: 60px; -@gridGutterWidth: 20px; -@gridRowWidth: (@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1)); -@gridTotalWidth: @gridRowWidth; - - - // COMPONENT VARIABLES // -------------------------------------------------- @@ -94,3 +83,17 @@ @infoBorder: darken(spin(@infoBackground, -10), 7%); + +// GRID +// -------------------------------------------------- + +// Default 940px grid +@gridColumns: 12; +@gridColumnWidth: 60px; +@gridGutterWidth: 20px; +@gridRowWidth: (@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1)); + +// Fluid grid +@fluidGridColumnWidth: 6.382978723%; +@fluidGridGutterWidth: 2.127659574%; + -- GitLab