diff --git a/assets/bootstrap.zip b/assets/bootstrap.zip index 5b15c4d2..f102cd9e 100644 Binary files a/assets/bootstrap.zip and b/assets/bootstrap.zip differ diff --git a/assets/css/bootstrap-responsive.css b/assets/css/bootstrap-responsive.css index 4b032cdb..d77d97d1 100644 --- a/assets/css/bootstrap-responsive.css +++ b/assets/css/bootstrap-responsive.css @@ -1,5 +1,5 @@ /*! - * Bootstrap Responsive v2.0.0 + * Bootstrap Responsive v2.0.1 * * Copyright 2012 Twitter, Inc * Licensed under the Apache License v2.0 @@ -7,6 +7,16 @@ * * Designed and built with all the love in the world @twitter by @mdo and @fat. */ +.clearfix { + *zoom: 1; +} +.clearfix:before, .clearfix:after { + display: table; + content: ""; +} +.clearfix:after { + clear: both; +} .hidden { display: none; visibility: hidden; @@ -25,7 +35,7 @@ .uneditable-input { display: block; width: 100%; - height: 28px; + min-height: 28px; /* Make inputs at least the height of their button counterpart */ /* Makes inputs behave like true block-level elements */ @@ -84,7 +94,7 @@ position: static; } } -@media (max-width: 768px) { +@media (max-width: 767px) { .container { width: auto; padding: 0 20px; @@ -102,7 +112,7 @@ margin: 0; } } -@media (min-width: 768px) and (max-width: 980px) { +@media (min-width: 768px) and (max-width: 979px) { .row { margin-left: -20px; *zoom: 1; @@ -205,40 +215,40 @@ .row-fluid > [class*="span"]:first-child { margin-left: 0; } - .row-fluid .span1 { + .row-fluid > .span1 { width: 5.801104972%; } - .row-fluid .span2 { + .row-fluid > .span2 { width: 14.364640883%; } - .row-fluid .span3 { + .row-fluid > .span3 { width: 22.928176794%; } - .row-fluid .span4 { + .row-fluid > .span4 { width: 31.491712705%; } - .row-fluid .span5 { + .row-fluid > .span5 { width: 40.055248616%; } - .row-fluid .span6 { + .row-fluid > .span6 { width: 48.618784527%; } - .row-fluid .span7 { + .row-fluid > .span7 { width: 57.182320438000005%; } - .row-fluid .span8 { + .row-fluid > .span8 { width: 65.74585634900001%; } - .row-fluid .span9 { + .row-fluid > .span9 { width: 74.30939226%; } - .row-fluid .span10 { + .row-fluid > .span10 { width: 82.87292817100001%; } - .row-fluid .span11 { + .row-fluid > .span11 { width: 91.436464082%; } - .row-fluid .span12 { + .row-fluid > .span12 { width: 99.999999993%; } input.span1, textarea.span1, .uneditable-input.span1 { @@ -278,7 +288,7 @@ width: 714px; } } -@media (max-width: 980px) { +@media (max-width: 979px) { body { padding-top: 0; } @@ -314,6 +324,10 @@ .navbar .nav > .divider-vertical { display: none; } + .navbar .nav .nav-header { + color: #999999; + text-shadow: none; + } .navbar .nav > li > a, .navbar .dropdown-menu a { padding: 6px 15px; font-weight: bold; @@ -486,40 +500,40 @@ .row-fluid > [class*="span"]:first-child { margin-left: 0; } - .row-fluid .span1 { + .row-fluid > .span1 { width: 5.982905983%; } - .row-fluid .span2 { + .row-fluid > .span2 { width: 14.529914530000001%; } - .row-fluid .span3 { + .row-fluid > .span3 { width: 23.076923077%; } - .row-fluid .span4 { + .row-fluid > .span4 { width: 31.623931624%; } - .row-fluid .span5 { + .row-fluid > .span5 { width: 40.170940171000005%; } - .row-fluid .span6 { + .row-fluid > .span6 { width: 48.717948718%; } - .row-fluid .span7 { + .row-fluid > .span7 { width: 57.264957265%; } - .row-fluid .span8 { + .row-fluid > .span8 { width: 65.81196581200001%; } - .row-fluid .span9 { + .row-fluid > .span9 { width: 74.358974359%; } - .row-fluid .span10 { + .row-fluid > .span10 { width: 82.905982906%; } - .row-fluid .span11 { + .row-fluid > .span11 { width: 91.45299145300001%; } - .row-fluid .span12 { + .row-fluid > .span12 { width: 100%; } input.span1, textarea.span1, .uneditable-input.span1 { diff --git a/assets/css/bootstrap.css b/assets/css/bootstrap.css index a90e3193..c3e0c005 100644 --- a/assets/css/bootstrap.css +++ b/assets/css/bootstrap.css @@ -1,5 +1,5 @@ /*! - * Bootstrap v2.0.0 + * Bootstrap v2.0.1 * * Copyright 2012 Twitter, Inc * Licensed under the Apache License v2.0 @@ -33,7 +33,7 @@ html { -ms-text-size-adjust: 100%; } a:focus { - outline: thin dotted; + outline: thin dotted #333; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; } @@ -94,6 +94,16 @@ textarea { overflow: auto; vertical-align: top; } +.clearfix { + *zoom: 1; +} +.clearfix:before, .clearfix:after { + display: table; + content: ""; +} +.clearfix:after { + clear: both; +} body { margin: 0; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; @@ -212,40 +222,40 @@ a:hover { .row-fluid > [class*="span"]:first-child { margin-left: 0; } -.row-fluid .span1 { +.row-fluid > .span1 { width: 6.382978723%; } -.row-fluid .span2 { +.row-fluid > .span2 { width: 14.89361702%; } -.row-fluid .span3 { +.row-fluid > .span3 { width: 23.404255317%; } -.row-fluid .span4 { +.row-fluid > .span4 { width: 31.914893614%; } -.row-fluid .span5 { +.row-fluid > .span5 { width: 40.425531911%; } -.row-fluid .span6 { +.row-fluid > .span6 { width: 48.93617020799999%; } -.row-fluid .span7 { +.row-fluid > .span7 { width: 57.446808505%; } -.row-fluid .span8 { +.row-fluid > .span8 { width: 65.95744680199999%; } -.row-fluid .span9 { +.row-fluid > .span9 { width: 74.468085099%; } -.row-fluid .span10 { +.row-fluid > .span10 { width: 82.97872339599999%; } -.row-fluid .span11 { +.row-fluid > .span11 { width: 91.489361693%; } -.row-fluid .span12 { +.row-fluid > .span12 { width: 99.99999998999999%; } .container { @@ -374,7 +384,7 @@ ol { li { line-height: 18px; } -ul.unstyled { +ul.unstyled, ol.unstyled { margin-left: 0; list-style: none; } @@ -393,7 +403,7 @@ dd { hr { margin: 18px 0; border: 0; - border-top: 1px solid #e5e5e5; + border-top: 1px solid #eeeeee; border-bottom: 1px solid #ffffff; } strong { @@ -488,13 +498,20 @@ pre { white-space: pre; white-space: pre-wrap; word-break: break-all; + word-wrap: break-word; } pre.prettyprint { margin-bottom: 18px; } pre code { padding: 0; + color: inherit; background-color: transparent; + border: 0; +} +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; } form { margin: 0 0 18px; @@ -515,16 +532,25 @@ legend { border: 0; border-bottom: 1px solid #eee; } +legend small { + font-size: 13.5px; + color: #999999; +} label, input, button, select, textarea { - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 13px; font-weight: normal; line-height: 18px; } +input, +button, +select, +textarea { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; +} label { display: block; margin-bottom: 5px; @@ -563,13 +589,19 @@ input[type="image"], input[type="checkbox"], input[type="radio"] { /* IE7 */ line-height: normal; - border: 0; cursor: pointer; -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0; + border: 0 \9; + /* IE9 and down */ + +} +input[type="image"] { + border: 0; } input[type="file"] { + width: auto; padding: initial; line-height: initial; border: initial; @@ -592,6 +624,9 @@ select, input[type="file"] { line-height: 28px; } +input[type="file"] { + line-height: 18px \9; +} select { width: 220px; background-color: #ffffff; @@ -622,15 +657,13 @@ input[type="hidden"] { } .radio.inline, .checkbox.inline { display: inline-block; + padding-top: 5px; margin-bottom: 0; vertical-align: middle; } .radio.inline + .radio.inline, .checkbox.inline + .checkbox.inline { margin-left: 10px; } -.controls > .radio.inline:first-child, .controls > .checkbox.inline:first-child { - padding-top: 0; -} input, textarea { -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); @@ -648,14 +681,17 @@ input:focus, textarea:focus { box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); outline: 0; outline: thin dotted \9; - /* IE6-8 */ + /* IE6-9 */ } -input[type="file"]:focus, input[type="checkbox"]:focus, select:focus { +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus, +select:focus { -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; - outline: thin dotted; + outline: thin dotted #333; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; } @@ -817,6 +853,7 @@ input:focus:required:invalid:focus, textarea:focus:required:invalid:focus, selec color: #999999; } .help-block { + display: block; margin-top: 5px; margin-bottom: 0; color: #999999; @@ -898,6 +935,7 @@ input:focus:required:invalid:focus, textarea:focus:required:invalid:focus, selec border-radius: 3px 0 0 3px; } .input-append .uneditable-input { + border-left-color: #eee; border-right-color: #ccc; } .input-append .add-on { @@ -939,6 +977,9 @@ input:focus:required:invalid:focus, textarea:focus:required:invalid:focus, selec display: inline-block; margin-bottom: 0; } +.form-search .hide, .form-inline .hide, .form-horizontal .hide { + display: none; +} .form-search label, .form-inline label, .form-search .input-append, @@ -953,10 +994,17 @@ input:focus:required:invalid:focus, textarea:focus:required:invalid:focus, selec .form-inline .input-prepend .add-on { vertical-align: middle; } +.form-search .radio, +.form-inline .radio, +.form-search .checkbox, +.form-inline .checkbox { + margin-bottom: 0; + vertical-align: middle; +} .control-group { margin-bottom: 9px; } -.form-horizontal legend + .control-group { +legend + .control-group { margin-top: 18px; -webkit-margin-top-collapse: separate; } @@ -971,7 +1019,7 @@ input:focus:required:invalid:focus, textarea:focus:required:invalid:focus, selec .form-horizontal .control-group:after { clear: both; } -.form-horizontal .control-group > label { +.form-horizontal .control-label { float: left; width: 140px; padding-top: 5px; @@ -996,14 +1044,14 @@ table { padding: 8px; line-height: 18px; text-align: left; + vertical-align: top; border-top: 1px solid #ddd; } .table th { font-weight: bold; - vertical-align: bottom; } -.table td { - vertical-align: top; +.table thead th { + vertical-align: bottom; } .table thead:first-child tr th, .table thead:first-child tr td { border-top: 0; @@ -1054,6 +1102,9 @@ table { .table-striped tbody tr:nth-child(odd) td, .table-striped tbody tr:nth-child(odd) th { background-color: #f9f9f9; } +.table tbody tr:hover td, .table tbody tr:hover th { + background-color: #f5f5f5; +} table .span1 { float: none; width: 44px; @@ -1114,21 +1165,22 @@ table .span12 { width: 924px; margin-left: 0; } -[class^="icon-"] { +[class^="icon-"], [class*=" icon-"] { display: inline-block; width: 14px; height: 14px; + line-height: 14px; vertical-align: text-top; - background-image: url(../img/glyphicons-halflings.png); + background-image: url("../img/glyphicons-halflings.png"); background-position: 14px 14px; background-repeat: no-repeat; *margin-right: .3em; } -[class^="icon-"]:last-child { +[class^="icon-"]:last-child, [class*=" icon-"]:last-child { *margin-left: 0; } .icon-white { - background-image: url(../img/glyphicons-halflings-white.png); + background-image: url("../img/glyphicons-halflings-white.png"); } .icon-glass { background-position: 0 0; @@ -1529,7 +1581,6 @@ table .span12 { float: left; display: none; min-width: 160px; - max-width: 220px; _width: 160px; padding: 4px 0; margin: 0; @@ -1658,20 +1709,25 @@ table .span12 { .btn { display: inline-block; padding: 4px 10px 4px; + margin-bottom: 0; font-size: 13px; line-height: 18px; color: #333333; text-align: center; text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75); - background-color: #fafafa; - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6)); - background-image: -webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6); - background-image: -moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6); - background-image: -ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6); - background-image: -o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6); - background-image: linear-gradient(#ffffff, #ffffff 25%, #e6e6e6); - background-repeat: no-repeat; + vertical-align: middle; + background-color: #f5f5f5; + background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -ms-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6)); + background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -o-linear-gradient(top, #ffffff, #e6e6e6); + background-image: linear-gradient(top, #ffffff, #e6e6e6); + background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0); + border-color: #e6e6e6 #e6e6e6 #bfbfbf; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); border: 1px solid #ccc; border-bottom-color: #bbb; -webkit-border-radius: 4px; @@ -1681,8 +1737,19 @@ table .span12 { -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); cursor: pointer; + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); *margin-left: .3em; } +.btn:hover, +.btn:active, +.btn.active, +.btn.disabled, +.btn[disabled] { + background-color: #e6e6e6; +} +.btn:active, .btn.active { + background-color: #cccccc \9; +} .btn:first-child { *margin-left: 0; } @@ -1698,7 +1765,7 @@ table .span12 { transition: background-position 0.1s linear; } .btn:focus { - outline: thin dotted; + outline: thin dotted #333; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; } @@ -1709,7 +1776,6 @@ table .span12 { box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); background-color: #e6e6e6; background-color: #d9d9d9 \9; - color: rgba(0, 0, 0, 0.5); outline: 0; } .btn.disabled, .btn[disabled] { @@ -1730,7 +1796,7 @@ table .span12 { -moz-border-radius: 5px; border-radius: 5px; } -.btn-large .icon { +.btn-large [class^="icon-"] { margin-top: 1px; } .btn-small { @@ -1738,9 +1804,14 @@ table .span12 { font-size: 11px; line-height: 16px; } -.btn-small .icon { +.btn-small [class^="icon-"] { margin-top: -1px; } +.btn-mini { + padding: 2px 6px; + font-size: 11px; + line-height: 14px; +} .btn-primary, .btn-primary:hover, .btn-warning, @@ -1750,7 +1821,9 @@ table .span12 { .btn-success, .btn-success:hover, .btn-info, -.btn-info:hover { +.btn-info:hover, +.btn-inverse, +.btn-inverse:hover { text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); color: #ffffff; } @@ -1758,7 +1831,8 @@ table .span12 { .btn-warning.active, .btn-danger.active, .btn-success.active, -.btn-info.active { +.btn-info.active, +.btn-dark.active { color: rgba(255, 255, 255, 0.75); } .btn-primary { @@ -1881,6 +1955,30 @@ table .span12 { .btn-info:active, .btn-info.active { background-color: #24748c \9; } +.btn-inverse { + background-color: #393939; + background-image: -moz-linear-gradient(top, #454545, #262626); + background-image: -ms-linear-gradient(top, #454545, #262626); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#454545), to(#262626)); + background-image: -webkit-linear-gradient(top, #454545, #262626); + background-image: -o-linear-gradient(top, #454545, #262626); + background-image: linear-gradient(top, #454545, #262626); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#454545', endColorstr='#262626', GradientType=0); + border-color: #262626 #262626 #000000; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); +} +.btn-inverse:hover, +.btn-inverse:active, +.btn-inverse.active, +.btn-inverse.disabled, +.btn-inverse[disabled] { + background-color: #262626; +} +.btn-inverse:active, .btn-inverse.active { + background-color: #0c0c0c \9; +} button.btn, input[type="submit"].btn { *padding-top: 2px; *padding-bottom: 2px; @@ -2013,7 +2111,8 @@ button.btn.small, input[type="submit"].btn.small { .btn-primary .caret, .btn-danger .caret, .btn-info .caret, -.btn-success .caret { +.btn-success .caret, +.btn-inverse .caret { border-top-color: #ffffff; opacity: 0.75; filter: alpha(opacity=75); @@ -2086,27 +2185,31 @@ button.btn.small, input[type="submit"].btn.small { text-decoration: none; background-color: #eeeeee; } +.nav .nav-header { + display: block; + padding: 3px 15px; + font-size: 11px; + font-weight: bold; + line-height: 18px; + color: #999999; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); + text-transform: uppercase; +} +.nav li + .nav-header { + margin-top: 9px; +} .nav-list { padding-left: 14px; padding-right: 14px; margin-bottom: 0; } .nav-list > li > a, .nav-list .nav-header { - display: block; - padding: 3px 15px; margin-left: -15px; margin-right: -15px; text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); } -.nav-list .nav-header { - font-size: 11px; - font-weight: bold; - line-height: 18px; - color: #999999; - text-transform: uppercase; -} -.nav-list > li + .nav-header { - margin-top: 9px; +.nav-list > li > a { + padding: 3px 15px; } .nav-list .active > a, .nav-list .active > a:hover { color: #ffffff; @@ -2256,6 +2359,9 @@ button.btn.small, input[type="submit"].btn.small { .tabbable:after { clear: both; } +.tab-content { + overflow: hidden; +} .tabs-below .nav-tabs, .tabs-right .nav-tabs, .tabs-left .nav-tabs { border-bottom: 0; } @@ -2451,6 +2557,13 @@ button.btn.small, input[type="submit"].btn.small { .navbar-form input[type="image"], .navbar-form input[type="checkbox"], .navbar-form input[type="radio"] { margin-top: 3px; } +.navbar-form .input-append, .navbar-form .input-prepend { + margin-top: 6px; + white-space: nowrap; +} +.navbar-form .input-append input, .navbar-form .input-prepend input { + margin-top: 0; +} .navbar-search { position: relative; float: left; @@ -2544,7 +2657,6 @@ button.btn.small, input[type="submit"].btn.small { color: #ffffff; text-decoration: none; background-color: #222222; - background-color: rgba(0, 0, 0, 0.5); } .navbar .divider-vertical { height: 40px; @@ -2631,7 +2743,7 @@ button.btn.small, input[type="submit"].btn.small { box-shadow: inset 0 1px 0 #ffffff; } .breadcrumb li { - display: inline; + display: inline-block; text-shadow: 0 1px 0 #ffffff; } .breadcrumb .divider { @@ -2810,6 +2922,9 @@ button.btn.small, input[type="submit"].btn.small { .modal-body { padding: 15px; } +.modal-body .modal-form { + margin-bottom: 0; +} .modal-footer { padding: 14px 15px 15px; margin-bottom: 0; @@ -3045,28 +3160,44 @@ a.thumbnail:hover { padding: 9px; } .label { - padding: 1px 3px 2px; - font-size: 9.75px; + padding: 2px 4px 3px; + font-size: 11.049999999999999px; font-weight: bold; color: #ffffff; - text-transform: uppercase; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #999999; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; } +.label:hover { + color: #ffffff; + text-decoration: none; +} .label-important { background-color: #b94a48; } +.label-important:hover { + background-color: #953b39; +} .label-warning { background-color: #f89406; } +.label-warning:hover { + background-color: #c67605; +} .label-success { background-color: #468847; } +.label-success:hover { + background-color: #356635; +} .label-info { background-color: #3a87ad; } +.label-info:hover { + background-color: #2d6987; +} @-webkit-keyframes progress-bar-stripes { from { background-position: 0 0; diff --git a/assets/css/docs.css b/assets/css/docs.css index c3a6848d..f6a388c2 100644 --- a/assets/css/docs.css +++ b/assets/css/docs.css @@ -181,7 +181,7 @@ hr.soften { top: 40px; left: 0; right: 0; - z-index: 1030; + z-index: 1020; /* 10 less than .navbar-fixed to prevent any overlap */ border-color: #d5d5d5; border-width: 0 0 1px; /* drop the border on the fixed edges */ -webkit-border-radius: 0; @@ -190,6 +190,7 @@ hr.soften { -webkit-box-shadow: inset 0 1px 0 #fff, 0 1px 5px rgba(0,0,0,.1); -moz-box-shadow: inset 0 1px 0 #fff, 0 1px 5px rgba(0,0,0,.1); box-shadow: inset 0 1px 0 #fff, 0 1px 5px rgba(0,0,0,.1); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); /* IE6-9 */ } .subnav-fixed .nav { width: 938px; @@ -481,9 +482,6 @@ hr.soften { /* Misc -------------------------------------------------- */ -pre.prettyprint { - overflow: hidden; -} .browser-support { max-width: 100%; @@ -546,28 +544,12 @@ form.well { /* Icons ------------------------- */ .the-icons { - margin-bottom: 18px; -} -.the-icons i { - display: block; - margin-bottom: 5px; + margin-left: 0; + list-style: none; } .the-icons i:hover { background-color: rgba(255,0,0,.25); } -.the-icons i:after { - display: block; - content: attr(class); - font-style: normal; - margin-left: 20px; - width: 140px; -} -#javascript input[type=checkbox] { - position: relative; - top: -1px; - display: inline; - margin-left: 6px; -} /* Eaxmples page ------------------------- */ diff --git a/assets/js/application.js b/assets/js/application.js index b29b63ae..732bed45 100644 --- a/assets/js/application.js +++ b/assets/js/application.js @@ -135,8 +135,7 @@ , url: 'http://bootstrap.herokuapp.com' , dataType: 'jsonpi' , params: { - branch: '2.0-wip' - , js: js + js: js , css: css , vars: vars , img: img diff --git a/assets/js/bootstrap-alert.js b/assets/js/bootstrap-alert.js index 4a65b135..2242dddc 100644 --- a/assets/js/bootstrap-alert.js +++ b/assets/js/bootstrap-alert.js @@ -1,5 +1,5 @@ /* ========================================================== - * bootstrap-alert.js v2.0.0 + * bootstrap-alert.js v2.0.1 * http://twitter.github.com/bootstrap/javascript.html#alerts * ========================================================== * Copyright 2012 Twitter, Inc. @@ -51,11 +51,14 @@ $parent.length || ($parent = $this.hasClass('alert') ? $this : $this.parent()) - $parent.removeClass('in') + $parent + .trigger('close') + .removeClass('in') function removeElement() { - $parent.remove() - $parent.trigger('closed') + $parent + .trigger('closed') + .remove() } $.support.transition && $parent.hasClass('fade') ? @@ -88,4 +91,4 @@ $('body').on('click.alert.data-api', dismiss, Alert.prototype.close) }) -}( window.jQuery ) +}( window.jQuery ); \ No newline at end of file diff --git a/assets/js/bootstrap-button.js b/assets/js/bootstrap-button.js index d85c8294..a0e05354 100644 --- a/assets/js/bootstrap-button.js +++ b/assets/js/bootstrap-button.js @@ -1,5 +1,5 @@ /* ============================================================ - * bootstrap-button.js v2.0.0 + * bootstrap-button.js v2.0.1 * http://twitter.github.com/bootstrap/javascript.html#buttons * ============================================================ * Copyright 2012 Twitter, Inc. @@ -91,8 +91,8 @@ $(function () { $('body').on('click.button.data-api', '[data-toggle^=button]', function ( e ) { - $(e.target).button('toggle') + $(e.currentTarget).button('toggle') }) }) -}( window.jQuery ) +}( window.jQuery ); \ No newline at end of file diff --git a/assets/js/bootstrap-carousel.js b/assets/js/bootstrap-carousel.js index 2f47edb8..810256e8 100644 --- a/assets/js/bootstrap-carousel.js +++ b/assets/js/bootstrap-carousel.js @@ -1,5 +1,5 @@ /* ========================================================== - * bootstrap-carousel.js v2.0.0 + * bootstrap-carousel.js v2.0.1 * http://twitter.github.com/bootstrap/javascript.html#carousel * ========================================================== * Copyright 2012 Twitter, Inc. @@ -61,6 +61,7 @@ , pause: function () { clearInterval(this.interval) + this.interval = null return this } @@ -82,6 +83,8 @@ , fallback = type == 'next' ? 'first' : 'last' , that = this + if (!$next.length) return + this.sliding = true isCycling && this.pause() @@ -151,4 +154,4 @@ }) }) -}( window.jQuery ) +}( window.jQuery ); \ No newline at end of file diff --git a/assets/js/bootstrap-collapse.js b/assets/js/bootstrap-collapse.js index 8134cc42..d195efc7 100644 --- a/assets/js/bootstrap-collapse.js +++ b/assets/js/bootstrap-collapse.js @@ -1,5 +1,5 @@ /* ============================================================= - * bootstrap-collapse.js v2.0.0 + * bootstrap-collapse.js v2.0.1 * http://twitter.github.com/bootstrap/javascript.html#collapse * ============================================================= * Copyright 2012 Twitter, Inc. @@ -133,4 +133,4 @@ }) }) -}( window.jQuery ) +}( window.jQuery ); \ No newline at end of file diff --git a/assets/js/bootstrap-dropdown.js b/assets/js/bootstrap-dropdown.js index 48d3ce0f..f1f6c33f 100644 --- a/assets/js/bootstrap-dropdown.js +++ b/assets/js/bootstrap-dropdown.js @@ -1,5 +1,5 @@ /* ============================================================ - * bootstrap-dropdown.js v2.0.0 + * bootstrap-dropdown.js v2.0.1 * http://twitter.github.com/bootstrap/javascript.html#dropdowns * ============================================================ * Copyright 2012 Twitter, Inc. @@ -89,4 +89,4 @@ $('body').on('click.dropdown.data-api', toggle, Dropdown.prototype.toggle) }) -}( window.jQuery ) +}( window.jQuery ); \ No newline at end of file diff --git a/assets/js/bootstrap-modal.js b/assets/js/bootstrap-modal.js index ba64368b..bceb3035 100644 --- a/assets/js/bootstrap-modal.js +++ b/assets/js/bootstrap-modal.js @@ -1,5 +1,5 @@ /* ========================================================= - * bootstrap-modal.js v2.0.0 + * bootstrap-modal.js v2.0.1 * http://twitter.github.com/bootstrap/javascript.html#modals * ========================================================= * Copyright 2012 Twitter, Inc. @@ -26,7 +26,7 @@ * ====================== */ var Modal = function ( content, options ) { - this.options = $.extend({}, $.fn.modal.defaults, options) + this.options = options this.$element = $(content) .delegate('[data-dismiss="modal"]', 'click.dismiss.modal', $.proxy(this.hide, this)) } @@ -177,16 +177,17 @@ return this.each(function () { var $this = $(this) , data = $this.data('modal') - , options = typeof option == 'object' && option + , options = $.extend({}, $.fn.modal.defaults, $this.data(), typeof option == 'object' && option) if (!data) $this.data('modal', (data = new Modal(this, options))) if (typeof option == 'string') data[option]() - else data.show() + else if (options.show) data.show() }) } $.fn.modal.defaults = { backdrop: true , keyboard: true + , show: true } $.fn.modal.Constructor = Modal @@ -206,4 +207,4 @@ }) }) -}( window.jQuery ) +}( window.jQuery ); \ No newline at end of file diff --git a/assets/js/bootstrap-popover.js b/assets/js/bootstrap-popover.js index 35ff9d0a..924844e8 100644 --- a/assets/js/bootstrap-popover.js +++ b/assets/js/bootstrap-popover.js @@ -1,5 +1,5 @@ /* =========================================================== - * bootstrap-popover.js v2.0.0 + * bootstrap-popover.js v2.0.1 * http://twitter.github.com/bootstrap/javascript.html#popovers * =========================================================== * Copyright 2012 Twitter, Inc. @@ -92,4 +92,4 @@ , template: '
Use <pre> for multiple lines of code. Be sure to turn any carets into their unicode characters for proper rendering.
Use <pre> for multiple lines of code. Be sure to escape any angle brackets in the code for proper rendering.
<p>Sample text here...</p>@@ -385,6 +385,7 @@ For example, <code>section</code> should be wrapped as inline. </pre>
Note: Be sure to keep code within <pre> tags as close to the left as possible; it will render all tabs.
You may optionally add the .pre-scrollable class which will set a max-height of 350px and provide a y-axis scrollbar.
.table-bordered
With v2.0, we have lighter and smarter defaults for form styles. No extra markup, just form controls.
+<form class="well"> + <label>Label name</label> + <input type="text" class="span3" placeholder="Type something…"> + <span class="help-inline">Associated help text!</span> + <label class="checkbox"> + <input type="checkbox"> Check me out + </label> + <button type="submit" class="btn">Submit</button> +</form> +
Reflecting default WebKit styles, just add .form-search for extra rounded search fields.
+<form class="well form-search"> + <input type="text" class="input-medium search-query"> + <button type="submit" class="btn">Search</button> +</form> +
Inputs are block level to start. For .form-inline and .form-horizontal, we use inline-block.
+<form class="well form-inline"> + <input type="text" class="input-small" placeholder="Email"> + <input type="password" class="input-small" placeholder="Password"> + <button type="submit" class="btn">Go</button> +</form> +
Given the above example form layout, here's the markup associated with the first input and control group. The .control-group, .control-label, and .controls classes are all required for styling.
+<form class="form-horizontal"> + <fieldset> + <legend>Legend text</legend> + <div class="control-group"> + <label class="control-label" for="input01">Text input</label> + <div class="controls"> + <input type="text" class="input-xlarge" id="input01"> + <p class="help-block">Supporting help text</p> + </div> + </div> + </fieldset> +</form> +
Bootstrap features styles for browser-supported focused and disabled states. We remove the default Webkit outline and apply a box-shadow in it's place for :focus.
Bootstrap features styles for browser-supported focused and disabled states. We remove the default Webkit outline and apply a box-shadow in its place for :focus.
It also includes validation styles for errors, warnings, and success. To use, add the error class to the surrounding .control-group.
:after. In the docs, we show a light red background color on hover to hightlight the icon's size.
+ Heads up! Icon classes are echoed via CSS :after. In the docs, we show a light red background color on hover to highlight the icon's size.
With v2.0.0, we have opted to use an <i> tag for all our icons, but they have no case class—only a shared prefix. To use, place the following code just about anywhere:
With v2.0.1, we have opted to use an <i> tag for all our icons, but they have no case class—only a shared prefix. To use, place the following code just about anywhere:
<i class="icon-search"></i>@@ -1495,7 +1562,7 @@ For example, <code>section</code> should be wrapped as inline.
Bootstrap provides a lightweight, flexible component called a hero unit to showcase content on your site. It works well on marketing and content-heavy sites.
+Wrap your content in a div like so:
+<div class="hero-unit"> + <h1>Heading</h1> + <p>Tagline</p> + <p> + <a class="btn btn-primary btn-large"> + Learn more + </a> + </p> +</div> ++
This is a simple hero unit, a simple jumbotron-style component for calling extra attention to featured content or information.
+ +A simple shell for an h1 to appropratiely space out and segment sections of content on a page. It can utilize the h1's default small, element as well most other components (with additional styles).
+<div class="page-haeder"> + <h1>Example page header</h1> +</div> ++
Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.
- +Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.
- +With Bootstrap 2, we've simplified the base class: .alert instead of .alert-message. We've also reduced the minimum required markup—no <p> is required by default, just the outter <div>.
With Bootstrap 2, we've simplified the base class: .alert instead of .alert-message. We've also reduced the minimum required markup—no <p> is required by default, just the outer <div>.
For a more durable component with less code, we've removed the differentiating look for block alerts, messages that come with more padding and typically more text. The class also has changed to .alert-block.
Wrap your message and an optional close icon in a div with simple class.
<div class="alert"> - <a class="close">×</a> + <a class="close" data-dismiss="alert">×</a> <strong>Warning!</strong> Best check yo self, you're not looking too good. </div>
Easily extend the standard alert message with two optional classes: .alert-block for more padding and text controls and .alert-heading for a matching heading.
Best check yo self, you're not looking too good. Nulla vitae elit libero, a pharetra augue. Praesent commodo cursus magna, vel scelerisque nisl consectetur et.
<div class="alert alert-block">
- <a class="close">×</a>
+ <a class="close" data-dismiss="alert">×</a>
<h4 class="alert-heading">Warning!</h4>
Best check yo self, you're not...
</div>
@@ -1324,7 +1399,7 @@
Error or danger
@@ -1336,7 +1411,7 @@
Success
@@ -1348,7 +1423,7 @@
Information
diff --git a/download.html b/download.html
index 4e41341f..0475aac4 100644
--- a/download.html
+++ b/download.html
@@ -7,17 +7,17 @@
-
-
-
+
+
+
@@ -93,7 +93,7 @@
Toggle all
- 1. Chose components
+ 1. Choose components
Get just the CSS you need
diff --git a/examples.html b/examples.html
index 92528767..680d4e79 100644
--- a/examples.html
+++ b/examples.html
@@ -7,17 +7,17 @@
-
-
-
+
+
+
diff --git a/examples/fluid.html b/examples/fluid.html
index 7fe5df15..3c7059f9 100644
--- a/examples/fluid.html
+++ b/examples/fluid.html
@@ -3,14 +3,10 @@
Bootstrap, from Twitter
+
-
-
-
+
+
+
diff --git a/examples/hero.html b/examples/hero.html
index 7d60d1a4..ee64646f 100644
--- a/examples/hero.html
+++ b/examples/hero.html
@@ -3,14 +3,10 @@
Bootstrap, from Twitter
+
-
-
-
+
+
+
diff --git a/examples/starter-template.html b/examples/starter-template.html
index c8b2a09c..31cc57cf 100644
--- a/examples/starter-template.html
+++ b/examples/starter-template.html
@@ -3,14 +3,10 @@
Bootstrap, from Twitter
+
-
-
-
+
+
+
diff --git a/index.html b/index.html
index 01897334..73ef2f9c 100644
--- a/index.html
+++ b/index.html
@@ -7,17 +7,17 @@
-
-
-
+
+
+
@@ -89,18 +89,17 @@
- Upgrading from 1.4
- Issues
- - Roadmap
- - Changelog
+ - Roadmap & changelog
- ·
-
-
+
-
-
+
- ·
-
- Follow @twbootstrap
+ Follow @twbootstrap
-
Tweet
@@ -122,7 +121,7 @@
For all skill levels
- Bootstrap is designed to help people of all skill level—designer or developer, huge nerd or early beginner. Use it as a complete kit or use to start something more complex.
+ Bootstrap is designed to help people of all skill levels—designer or developer, huge nerd or early beginner. Use it as a complete kit or use to start something more complex.
diff --git a/javascript.html b/javascript.html
index db694839..3667903c 100644
--- a/javascript.html
+++ b/javascript.html
@@ -7,17 +7,17 @@
-
-
-
+
+
+
@@ -134,7 +134,7 @@
@@ -273,6 +273,12 @@
true
Closes the modal when escape key is pressed
-<div class="modal">
+<div class="modal" id="myModal">
<div class="modal-header">
<a class="close" data-dismiss="modal">×</a>
<h3>Modal header</h3>
@@ -624,11 +630,11 @@ $('#myModal').on('hidden', function () {
Markup
You can activate a tab or pill navigation without writing any javascript by simply specifying data-toggle="tab" or data-toggle="pill" on an element.
-<ul class="tabs">
+<ul class="nav nav-tabs">
<li><a href="#home" data-toggle="tab">Home</a></li>
<li><a href="#profile" data-toggle="tab">Profile</a></li>
<li><a href="#messages" data-toggle="tab">Messages</a></li>
- <li><a href="#ettings" data-toggle="tab">Settings</a></li>
+ <li><a href="#settings" data-toggle="tab">Settings</a></li>
</ul>
Methods
$().tab
@@ -636,7 +642,7 @@ $('#myModal').on('hidden', function () {
Activates a tab element and content container. Tab should have either a `data-target` or an `href` targeting a container node in the dom.
-<ul class="tabs">
+<ul class="nav nav-tabs">
<li class="active"><a href="#home">Home</a></li>
<li><a href="#profile">Profile</a></li>
<li><a href="#messages">Messages</a></li>
@@ -694,14 +700,14 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
About Tooltips
- Inspired by the excellent jQuery.tipsy plugin written by Jason Frame; Tooltips are an updated version, which don't rely on images, uss css3 for animations, and data-attributes for local title storage.
+ Inspired by the excellent jQuery.tipsy plugin written by Jason Frame; Tooltips are an updated version, which don't rely on images, use css3 for animations, and data-attributes for local title storage.
Download file
Example use of Tooltips
Hover over the links below to see tooltips:
- Tight pants next level keffiyeh you probably haven't heard of them. Photo booth beard raw denim letterpress vegan messenger bag stumptown. Farm-to-table seitan, mcsweeney's fixie sustainable quinoa 8-bit american apparel have a terry richardson vinyl chambray. Beard stumptown, cardigans banh mi lomo thundercats. Tofu biodiesel williamsburg marfa, four loko mcsweeney's cleanse vegan chambray. A really ironic artisan whatever keytar, scenester farm-to-table banksy Austin twitter handle freegan cred raw denim single-origin coffee viral.
+
Tight pants next level keffiyeh you probably haven't heard of them. Photo booth beard raw denim letterpress vegan messenger bag stumptown. Farm-to-table seitan, mcsweeney's fixie sustainable quinoa 8-bit american apparel have a terry richardson vinyl chambray. Beard stumptown, cardigans banh mi lomo thundercats. Tofu biodiesel williamsburg marfa, four loko mcsweeney's cleanse vegan chambray. A really ironic artisan whatever keytar, scenester farm-to-table banksy Austin twitter handle freegan cred raw denim single-origin coffee viral.
@@ -727,7 +733,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
placement
- string
+ string|function
'top'
how to position the tooltip - top | bottom | left | right
@@ -767,6 +773,9 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
Markup
For performance reasons, the Tooltip and Popover data-apis are opt in. If you would like to use them just specify a selector option.
+
+<a href="#" rel="tooltip" title="first tooltip">hover over me</a>
+
Methods
$().tooltip(options)
Attaches a tooltip handler to an element collection.
@@ -795,7 +804,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
About popovers
Add small overlays of content, like those on the iPad, to any element for housing secondary information.
- * Requires Tooltip to be included
+ * Requires Tooltip to be included
Download file
@@ -827,7 +836,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
placement
- string
+ string|function
'right'
how to position the popover - top | bottom | left | right
@@ -917,13 +926,13 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
Oh snap! You got an error!
Change this and that and try again. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Cras mattis consectetur purus sit amet fermentum.
- Using bootstrap-alerts.js
+ Using bootstrap-alert.js
Enable dismissal of an alert via javascript:
- $(".alert-message").alert()
+ $(".alert").alert()
Markup
Just add data-dismiss="alert" to your close button to automatically give an alert close functionality.
<a class="close" data-dismiss="alert" href="#">×</a>
@@ -932,7 +941,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
Wraps all alerts with close functionality. To have your alerts animate out when closed, make sure they have the .fade and .in class already applied to them.
.alert('close')
Closes an alert.
- $(".alert-message").alert('close')
+ $(".alert").alert('close')
Events
Bootstrap's alert class exposes a few events for hooking into alert functionality.
@@ -1042,7 +1051,7 @@ $('#my-alert').bind('closed', function () {
Methods
$().button('toggle')
- Toggles push state. Gives btn the look that it's been activated.
+ Toggles push state. Gives btn the look that it hass been activated.
Heads up!
You can enable auto toggling of a button by using the data-toggle attribute.
@@ -1145,7 +1154,7 @@ $('#my-alert').bind('closed', function () {
parent
selector
false
- If selector then all collapsible elements under the specified parent will be closed when this collasabile item is shown. (similar to traditional accordion behavior)
+ If selector then all collapsible elements under the specified parent will be closed when this collapsible item is shown. (similar to traditional accordion behavior)
toggle
@@ -1295,10 +1304,12 @@ $('#myCollapsible').on('hidden', function () {
Markup
Data attributes are integral to the carousel plugin. Check out the example code below for the various markup types.
-<div class="carousel">
+<div id="myCarousel" class="carousel">
<!-- Carousel items -->
<div class="carousel-inner">
- ...
+ <div class="active item">…</div>
+ <div class="item">…</div>
+ <div class="item">…</div>
</div>
<!-- Carousel nav -->
<a class="carousel-control left" href="#myCarousel" data-slide="prev">‹</a>
@@ -1339,7 +1350,7 @@ $('.myCarousel').carousel({
slid
- This event is fired when the carousel has completed it's slide transition.
+ This event is fired when the carousel has completed its slide transition.
@@ -1422,7 +1433,7 @@ $('.myCarousel').carousel({
Methods
.typeahead(options)
- Initializes an input with a typahead.
+ Initializes an input with a typeahead.
Bootstrap is made with LESS at it's core, a dynamic stylesheet language created by our good friend, Alexis Sellier. It makes developing systems-based CSS faster, easier, and more fun.
+Bootstrap is made with LESS at its core, a dynamic stylesheet language created by our good friend, Alexis Sellier. It makes developing systems-based CSS faster, easier, and more fun.
Make your grid, leading, and more super flexible by doing the math on the fly with operations. Multiple, divide, add, and subtract your way to CSS sanity.
+Make your grid, leading, and more super flexible by doing the math on the fly with operations. Multiply, divide, add, and subtract your way to CSS sanity.
@warningText@warningBackground@errorText.scale()@ratio.translate().background-clip()@clipborder-radius)border-radius).background-size()Install the LESS command line compiler with npm by running the following command:
-$ npm install less+
Install the LESS command line compiler globally with npm by running the following command:
+$ npm install -g less
Once installed just run make from the root of your bootstrap directory and you're all set.
Additionally, if you have watchr installed, you may run make watch to have bootstrap automatically rebuilt every time you edit a file in the bootstrap lib (this isn't required, just a convenience method).
Bootstrap is built on a responsive 12-column grid. We've also included fixed- and fluid-width layouts based on that system.
+ -The fluid grid system uses percents for column widths instead of fixed pixels. It also has the same responsive variations as our fixed grid system, ensuring proper proportions for key screen resolutions and devices.
+Make any row fluid simply by changing .row to .row-fluid. The columns stay the exact same, making it super straightforward to flip between fixed and fluid layouts.
+<div class="row-fluid"> + <div class="span4">...</div> + <div class="span8">...</div> +</div> ++
Nesting with fluid grids is a bit different: the number of nested columns doesn't need to match the parent. Instead, your columns are reset at each level because each row takes up 100% of the parent column.
++<div class="row-fluid"> + <div class="span12"> + Level 1 of column + <div class="row-fluid"> + <div class="span6">Level 2</div> + <div class="span6">Level 2</div> + </div> + </div> +</div> ++
| Landscape tablets | -768px to 980px | -44px | +768px to 979px | +42px | 20px |
To ensure devices display responsive pages properly, include the viewport meta tag.
+<meta name="viewport" content="width=device-width, initial-scale=1.0">+
Media queries allow for custom CSS based on a number of conditions—ratios, widths, display type, etc—but usually focuses around min-width and max-width.
Why not just include it? Truth be told, not everything needs to be responsive. Instead of encouraging developers to remove this feature, we figure it best to enable it.
{{_i}}Use <pre> for multiple lines of code. Be sure to turn any carets into their unicode characters for proper rendering.{{/i}}
{{_i}}Use <pre> for multiple lines of code. Be sure to escape any angle brackets in the code for proper rendering.{{/i}}
<p>{{_i}}Sample text here...{{/i}}</p>
@@ -309,6 +309,7 @@
</pre>
{{_i}}Note: Be sure to keep code within <pre> tags as close to the left as possible; it will render all tabs.{{/i}}
{{_i}}You may optionally add the .pre-scrollable class which will set a max-height of 350px and provide a y-axis scrollbar.{{/i}}
.table-bordered
{{_i}}With v2.0, we have lighter and smarter defaults for form styles. No extra markup, just form controls.{{/i}}
+<form class="well">
+ <label>{{_i}}Label name{{/i}}</label>
+ <input type="text" class="span3" placeholder="{{_i}}Type something…{{/i}}">
+ <span class="help-inline">Associated help text!</span>
+ <label class="checkbox">
+ <input type="checkbox"> {{_i}}Check me out{{/i}}
+ </label>
+ <button type="submit" class="btn">{{_i}}Submit{{/i}}</button>
+</form>
+
{{_i}}Reflecting default WebKit styles, just add .form-search for extra rounded search fields.{{/i}}
+<form class="well form-search">
+ <input type="text" class="input-medium search-query">
+ <button type="submit" class="btn">{{_i}}Search{{/i}}</button>
+</form>
+
{{_i}}Inputs are block level to start. For .form-inline and .form-horizontal, we use inline-block.{{/i}}
+<form class="well form-inline">
+ <input type="text" class="input-small" placeholder="{{_i}}Email{{/i}}">
+ <input type="password" class="input-small" placeholder="{{_i}}Password{{/i}}">
+ <button type="submit" class="btn">{{_i}}Go{{/i}}</button>
+</form>
+
{{_i}}Given the above example form layout, here's the markup associated with the first input and control group. The .control-group, .control-label, and .controls classes are all required for styling.{{/i}}
+<form class="form-horizontal">
+ <fieldset>
+ <legend>{{_i}}Legend text{{/i}}</legend>
+ <div class="control-group">
+ <label class="control-label" for="input01">{{_i}}Text input{{/i}}</label>
+ <div class="controls">
+ <input type="text" class="input-xlarge" id="input01">
+ <p class="help-block">{{_i}}Supporting help text{{/i}}</p>
+ </div>
+ </div>
+ </fieldset>
+</form>
+
{{_i}}Bootstrap features styles for browser-supported focused and disabled states. We remove the default Webkit outline and apply a box-shadow in it's place for :focus.{{/i}}
{{_i}}Bootstrap features styles for browser-supported focused and disabled states. We remove the default Webkit outline and apply a box-shadow in its place for :focus.{{/i}}
{{_i}}It also includes validation styles for errors, warnings, and success. To use, add the error class to the surrounding .control-group.{{/i}}
.btn.btn-primary.btn-info.btn-success.btn-warning.btn-danger.btn-inverse{{_i}}As a convention, buttons should only be used for actions while hyperlinks are to be used for objects. For instance, "Download" should be a button while "recent activity" should be a link.{{/i}}
+{{_i}}Button styles can be applied to anything with the .btn class applied. However, typically you'll want to apply these to only <a> and <button> elements.{{/i}}
{{_i}}IE9 doesn't crop background gradients on rounded corners, so we remove it. Related, IE9 jankifies disabled button elements, rendering text gray with a nasty text-shadow that we cannot fix.{{/i}}
{{_i}}Button styles can be applied to anything with the .btn applied. However, typically you'll want to apply these to only <a> and <button> elements.{{/i}}
{{_i}}Note: All buttons must include the .btn class. Button styles should be applied to <button> and <a> elements for consistency.{{/i}}
{{_i}}Fancy larger or smaller buttons? Have at it!{{/i}}
+{{_i}}Fancy larger or smaller buttons? Add .btn-large, .btn-small, or .btn-mini for two additional sizes.{{/i}}
+ + +
+{{_i}}For disabled buttons, use .btn-disabled for links and :disabled for <button> elements.{{/i}}
{{_i}}For disabled buttons, add the .disabled class to links and the disabled attribute for <button> elements.{{/i}}
- {{_i}}Primary action{{/i}} - {{_i}}Action{{/i}} + {{_i}}Primary link{{/i}} + {{_i}}Link{{/i}} +
++ +
-
-
+ {{_i}}Heads up!{{/i}}
+ {{_i}}We use .disabled as a utility class here, similar to the common .active class, so no prefix is required.{{/i}}
In IE9, we drop the gradient on all buttons in favor of rounded corners as IE9 doesn't crop background gradients to the corners.
-Related, IE9 jankifies disabled button elements, rendering text gray with a nasty text-shadow—unfortunately we can't fix this.
{{_i}}Use the .btn class on an <a>, <button>, or <input> element.{{/i}}
+<a class="btn" href="">{{_i}}Link{{/i}}</a>
+<button class="btn" type="submit">
+ {{_i}}Button{{/i}}
+</button>
+<input class="btn" type="button"
+ value="{{_i}}Input{{/i}}">
+<input class="btn" type="submit"
+ value="{{_i}}Submit{{/i}}">
+
+ {{_i}}As a best practice, try to match the element for you context to ensure matching cross-browser rendering. If you have an input, use an <input type="submit"> for your button.{{/i}}
:after. In the docs, we show a light red background color on hover to hightlight the icon's size.{{/i}}
+ {{_i}}Heads up! Icon classes are echoed via CSS :after. In the docs, we show a light red background color on hover to highlight the icon's size.{{/i}}
{{_i}}With v2.0.0, we have opted to use an <i> tag for all our icons, but they have no case class—only a shared prefix. To use, place the following code just about anywhere:{{/i}}
{{_i}}With v2.0.1, we have opted to use an <i> tag for all our icons, but they have no case class—only a shared prefix. To use, place the following code just about anywhere:{{/i}}
<i class="icon-search"></i>@@ -1419,7 +1486,7 @@
{{_i}}Bootstrap provides a lightweight, flexible component called a hero unit to showcase content on your site. It works well on marketing and content-heavy sites.{{/i}}
+{{_i}}Wrap your content in a div like so:{{/i}}
+<div class="hero-unit">
+ <h1>{{_i}}Heading{{/i}}</h1>
+ <p>{{_i}}Tagline{{/i}}</p>
+ <p>
+ <a class="btn btn-primary btn-large">
+ {{_i}}Learn more{{/i}}
+ </a>
+ </p>
+</div>
+
+ {{_i}}This is a simple hero unit, a simple jumbotron-style component for calling extra attention to featured content or information.{{/i}}
+ +{{_i}}A simple shell for an h1 to appropratiely space out and segment sections of content on a page. It can utilize the h1's default small, element as well most other components (with additional styles).{{/i}}
+<div class="page-haeder">
+ <h1>{{_i}}Example page header{{/i}}</h1>
+</div>
+
+ Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.
- +Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.
- +{{_i}}With Bootstrap 2, we've simplified the base class: .alert instead of .alert-message. We've also reduced the minimum required markup—no <p> is required by default, just the outter <div>.{{/i}}
{{_i}}With Bootstrap 2, we've simplified the base class: .alert instead of .alert-message. We've also reduced the minimum required markup—no <p> is required by default, just the outer <div>.{{/i}}
{{_i}}For a more durable component with less code, we've removed the differentiating look for block alerts, messages that come with more padding and typically more text. The class also has changed to .alert-block.{{/i}}
{{_i}}Wrap your message and an optional close icon in a div with simple class.{{/i}}
<div class="alert">
- <a class="close">×</a>
+ <a class="close" data-dismiss="alert">×</a>
<strong>{{_i}}Warning!{{/i}}</strong> {{_i}}Best check yo self, you're not looking too good.{{/i}}
</div>
{{_i}}Easily extend the standard alert message with two optional classes: .alert-block for more padding and text controls and .alert-heading for a matching heading.{{/i}}
{{_i}}Best check yo self, you're not looking too good.{{/i}} Nulla vitae elit libero, a pharetra augue. Praesent commodo cursus magna, vel scelerisque nisl consectetur et.
<div class="alert alert-block">
- <a class="close">×</a>
+ <a class="close" data-dismiss="alert">×</a>
<h4 class="alert-heading">{{_i}}Warning!{{/i}}</h4>
{{_i}}Best check yo self, you're not...{{/i}}
</div>
@@ -1248,7 +1323,7 @@
{{_i}}Error or danger{{/i}}
@@ -1260,7 +1335,7 @@
{{_i}}Success{{/i}}
@@ -1272,7 +1347,7 @@
{{_i}}Information{{/i}}
- ×
+ ×
{{_i}}Heads up!{{/i}} {{_i}}This alert needs your attention, but it's not super important.{{/i}}
diff --git a/templates/pages/download.mustache b/templates/pages/download.mustache
index f6d319d6..fe38d145 100644
--- a/templates/pages/download.mustache
+++ b/templates/pages/download.mustache
@@ -17,7 +17,7 @@
{{_i}}Toggle all{{/i}}
- {{_i}}1. Chose components{{/i}}
+ {{_i}}1. Choose components{{/i}}
{{_i}}Get just the CSS you need{{/i}}
diff --git a/templates/pages/index.mustache b/templates/pages/index.mustache
index c8a11688..c95e8536 100644
--- a/templates/pages/index.mustache
+++ b/templates/pages/index.mustache
@@ -13,21 +13,20 @@
- {{_i}}Upgrading from 1.4{{/i}}
- {{_i}}Issues{{/i}}
- - {{_i}}Roadmap{{/i}}
- - {{_i}}Changelog{{/i}}
+ - {{_i}}Roadmap & changelog{{/i}}
- ·
-
-
+
-
-
+
- ·
-
- {{_i}}Follow @twbootstrap{{/i}}
+ {{_i}}Follow @twbootstrap{{/i}}
-
- {{_i}}Tweet{{/i}}
+ Tweet
@@ -46,7 +45,7 @@
{{_i}}For all skill levels{{/i}}
- {{_i}}Bootstrap is designed to help people of all skill level—designer or developer, huge nerd or early beginner. Use it as a complete kit or use to start something more complex.{{/i}}
+ {{_i}}Bootstrap is designed to help people of all skill levels—designer or developer, huge nerd or early beginner. Use it as a complete kit or use to start something more complex.{{/i}}
@@ -133,4 +132,4 @@
-
+
\ No newline at end of file
diff --git a/templates/pages/javascript.mustache b/templates/pages/javascript.mustache
index f5152cdf..ac989f3e 100644
--- a/templates/pages/javascript.mustache
+++ b/templates/pages/javascript.mustache
@@ -58,7 +58,7 @@
@@ -197,6 +197,12 @@
{{_i}}true{{/i}}
{{_i}}Closes the modal when escape key is pressed{{/i}}
-<div class="modal">
+<div class="modal" id="myModal">
<div class="modal-header">
<a class="close" data-dismiss="modal">×</a>
<h3>Modal header</h3>
@@ -548,11 +554,11 @@ $('#myModal').on('hidden', function () {
{{_i}}Markup{{/i}}
{{_i}}You can activate a tab or pill navigation without writing any javascript by simply specifying data-toggle="tab" or data-toggle="pill" on an element.{{/i}}
-<ul class="tabs">
+<ul class="nav nav-tabs">
<li><a href="#home" data-toggle="tab">{{_i}}Home{{/i}}</a></li>
<li><a href="#profile" data-toggle="tab">{{_i}}Profile{{/i}}</a></li>
<li><a href="#messages" data-toggle="tab">{{_i}}Messages{{/i}}</a></li>
- <li><a href="#ettings" data-toggle="tab">{{_i}}Settings{{/i}}</a></li>
+ <li><a href="#settings" data-toggle="tab">{{_i}}Settings{{/i}}</a></li>
</ul>
{{_i}}Methods{{/i}}
$().tab
@@ -560,7 +566,7 @@ $('#myModal').on('hidden', function () {
{{_i}}Activates a tab element and content container. Tab should have either a `data-target` or an `href` targeting a container node in the dom.{{/i}}
-<ul class="tabs">
+<ul class="nav nav-tabs">
<li class="active"><a href="#home">{{_i}}Home{{/i}}</a></li>
<li><a href="#profile">{{_i}}Profile{{/i}}</a></li>
<li><a href="#messages">{{_i}}Messages{{/i}}</a></li>
@@ -618,14 +624,14 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
{{_i}}About Tooltips{{/i}}
- {{_i}}Inspired by the excellent jQuery.tipsy plugin written by Jason Frame; Tooltips are an updated version, which don't rely on images, uss css3 for animations, and data-attributes for local title storage.{{/i}}
+ {{_i}}Inspired by the excellent jQuery.tipsy plugin written by Jason Frame; Tooltips are an updated version, which don't rely on images, use css3 for animations, and data-attributes for local title storage.{{/i}}
{{_i}}Download file{{/i}}
{{_i}}Example use of Tooltips{{/i}}
{{_i}}Hover over the links below to see tooltips:{{/i}}
- {{_i}}Tight pants next level keffiyeh you probably haven't heard of them. Photo booth beard raw denim letterpress vegan messenger bag stumptown. Farm-to-table seitan, mcsweeney's fixie sustainable quinoa 8-bit american apparel have a terry richardson vinyl chambray. Beard stumptown, cardigans banh mi lomo thundercats. Tofu biodiesel williamsburg marfa, four loko mcsweeney's cleanse vegan chambray. A really ironic artisan whatever keytar, scenester farm-to-table banksy Austin twitter handle freegan cred raw denim single-origin coffee viral.{{/i}}
+
{{_i}}Tight pants next level keffiyeh you probably haven't heard of them. Photo booth beard raw denim letterpress vegan messenger bag stumptown. Farm-to-table seitan, mcsweeney's fixie sustainable quinoa 8-bit american apparel have a terry richardson vinyl chambray. Beard stumptown, cardigans banh mi lomo thundercats. Tofu biodiesel williamsburg marfa, four loko mcsweeney's cleanse vegan chambray. A really ironic artisan whatever keytar, scenester farm-to-table banksy Austin twitter handle freegan cred raw denim single-origin coffee viral.{{/i}}
@@ -651,7 +657,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
{{_i}}placement{{/i}}
- {{_i}}string{{/i}}
+ {{_i}}string|function{{/i}}
'top'
{{_i}}how to position the tooltip{{/i}} - top | bottom | left | right
@@ -691,6 +697,9 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
{{_i}}Markup{{/i}}
{{_i}}For performance reasons, the Tooltip and Popover data-apis are opt in. If you would like to use them just specify a selector option.{{/i}}
+
+<a href="#" rel="tooltip" title="{{_i}}first tooltip{{/i}}">{{_i}}hover over me{{/i}}</a>
+
{{_i}}Methods{{/i}}
$().tooltip({{_i}}options{{/i}})
{{_i}}Attaches a tooltip handler to an element collection.{{/i}}
@@ -719,14 +728,14 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
{{_i}}About popovers{{/i}}
{{_i}}Add small overlays of content, like those on the iPad, to any element for housing secondary information.{{/i}}
- * {{_i}}Requires Tooltip to be included{{/i}}
+ * {{_i}}Requires Tooltip to be included{{/i}}
{{_i}}Download file{{/i}}
{{_i}}Example hover popover{{/i}}
{{_i}}Hover over the button to trigger the popover.{{/i}}
{{_i}}Using bootstrap-popover.js{{/i}}
@@ -751,7 +760,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
{{_i}}placement{{/i}}
- {{_i}}string{{/i}}
+ {{_i}}string|function{{/i}}
'right'
{{_i}}how to position the popover{{/i}} - top | bottom | left | right
@@ -841,13 +850,13 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
{{_i}}Oh snap! You got an error!{{/i}}
{{_i}}Change this and that and try again. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Cras mattis consectetur purus sit amet fermentum.{{/i}}
- {{_i}}Take this action{{/i}} {{_i}}Or do this{{/i}}
+ {{_i}}Take this action{{/i}} {{_i}}Or do this{{/i}}
- {{_i}}Using bootstrap-alerts.js{{/i}}
+ {{_i}}Using bootstrap-alert.js{{/i}}
{{_i}}Enable dismissal of an alert via javascript:{{/i}}
- $(".alert-message").alert()
+ $(".alert").alert()
{{_i}}Markup{{/i}}
{{_i}}Just add data-dismiss="alert" to your close button to automatically give an alert close functionality.{{/i}}
<a class="close" data-dismiss="alert" href="#">×</a>
@@ -856,7 +865,7 @@ $('a[data-toggle="tab"]').on('shown', function (e) {
{{_i}}Wraps all alerts with close functionality. To have your alerts animate out when closed, make sure they have the .fade and .in class already applied to them.{{/i}}
.alert('close')
{{_i}}Closes an alert.{{/i}}
- $(".alert-message").alert('close')
+ $(".alert").alert('close')
{{_i}}Events{{/i}}
{{_i}}Bootstrap's alert class exposes a few events for hooking into alert functionality.{{/i}}
@@ -966,7 +975,7 @@ $('#my-alert').bind('closed', function () {
{{_i}}Methods{{/i}}
$().button('toggle')
- {{_i}}Toggles push state. Gives btn the look that it's been activated.{{/i}}
+ {{_i}}Toggles push state. Gives btn the look that it hass been activated.{{/i}}
{{_i}}Heads up!{{/i}}
{{_i}}You can enable auto toggling of a button by using the data-toggle attribute.{{/i}}
@@ -1069,7 +1078,7 @@ $('#my-alert').bind('closed', function () {
{{_i}}parent{{/i}}
{{_i}}selector{{/i}}
false
- {{_i}}If selector then all collapsible elements under the specified parent will be closed when this collasabile item is shown. (similar to traditional accordion behavior){{/i}}
+ {{_i}}If selector then all collapsible elements under the specified parent will be closed when this collapsible item is shown. (similar to traditional accordion behavior){{/i}}
{{_i}}toggle{{/i}}
@@ -1219,10 +1228,12 @@ $('#myCollapsible').on('hidden', function () {
{{_i}}Markup{{/i}}
{{_i}}Data attributes are integral to the carousel plugin. Check out the example code below for the various markup types.{{/i}}
-<div class="carousel">
+<div id="myCarousel" class="carousel">
<!-- {{_i}}Carousel items{{/i}} -->
<div class="carousel-inner">
- ...
+ <div class="active item">…</div>
+ <div class="item">…</div>
+ <div class="item">…</div>
</div>
<!-- {{_i}}Carousel nav{{/i}} -->
<a class="carousel-control left" href="#myCarousel" data-slide="prev">‹</a>
@@ -1263,7 +1274,7 @@ $('.myCarousel').carousel({
{{_i}}slid{{/i}}
- {{_i}}This event is fired when the carousel has completed it's slide transition.{{/i}}
+ {{_i}}This event is fired when the carousel has completed its slide transition.{{/i}}
@@ -1346,7 +1357,7 @@ $('.myCarousel').carousel({
{{_i}}Methods{{/i}}
.typeahead({{_i}}options{{/i}})
- {{_i}}Initializes an input with a typahead.{{/i}}
+ {{_i}}Initializes an input with a typeahead.{{/i}}
-
+
\ No newline at end of file
diff --git a/templates/pages/less.mustache b/templates/pages/less.mustache
index 0ae3db99..742b166d 100644
--- a/templates/pages/less.mustache
+++ b/templates/pages/less.mustache
@@ -24,7 +24,7 @@
{{_i}}Why LESS?{{/i}}
- {{_i}}Bootstrap is made with LESS at it's core, a dynamic stylesheet language created by our good friend, Alexis Sellier. It makes developing systems-based CSS faster, easier, and more fun.{{/i}}
+ {{_i}}Bootstrap is made with LESS at its core, a dynamic stylesheet language created by our good friend, Alexis Sellier. It makes developing systems-based CSS faster, easier, and more fun.{{/i}}
{{_i}}What's included?{{/i}}
@@ -47,7 +47,7 @@
{{_i}}Operations{{/i}}
- {{_i}}Make your grid, leading, and more super flexible by doing the math on the fly with operations. Multiple, divide, add, and subtract your way to CSS sanity.{{/i}}
+ {{_i}}Make your grid, leading, and more super flexible by doing the math on the fly with operations. Multiply, divide, add, and subtract your way to CSS sanity.{{/i}}
@@ -210,7 +210,7 @@
{{_i}}Components{{/i}}
- Buttons
+ {{_i}}Buttons{{/i}}
@@ -220,7 +220,7 @@
- Forms
+ {{_i}}Forms{{/i}}
@@ -230,7 +230,7 @@
- Navbar
+ {{_i}}Navbar{{/i}}
@@ -272,13 +272,13 @@
@warningText
- #f3edd2
-
+ #c09853
+
@warningBackground
- #c09853
-
+ #f3edd2
+
@errorText
@@ -399,7 +399,7 @@
- {{_i}}Forms{{/i}}
+ Forms
@@ -416,7 +416,7 @@
- {{_i}}Typography{{/i}}
+ Typography
@@ -463,7 +463,7 @@
- {{_i}}Grid system{{/i}}
+ Grid system
@@ -528,7 +528,7 @@
.scale()
@ratio
- {{_i}}Scale an element to n times it's original size{{/i}}
+ {{_i}}Scale an element to n times its original size{{/i}}
.translate()
@@ -538,7 +538,7 @@
.background-clip()
@clip
- {{_i}}Crop the backgroud of an element (useful for border-radius){{/i}}
+ {{_i}}Crop the background of an element (useful for border-radius){{/i}}
.background-size()
@@ -641,8 +641,8 @@
{{_i}}Node with makefile{{/i}}
- {{_i}}Install the LESS command line compiler with npm by running the following command:{{/i}}
- $ npm install less
+ {{_i}}Install the LESS command line compiler globally with npm by running the following command:{{/i}}
+ $ npm install -g less
{{_i}}Once installed just run make from the root of your bootstrap directory and you're all set.{{/i}}
{{_i}}Additionally, if you have watchr installed, you may run make watch to have bootstrap automatically rebuilt every time you edit a file in the bootstrap lib (this isn't required, just a convenience method).{{/i}}
diff --git a/templates/pages/scaffolding.mustache b/templates/pages/scaffolding.mustache
index 36df0973..50c776e2 100644
--- a/templates/pages/scaffolding.mustache
+++ b/templates/pages/scaffolding.mustache
@@ -5,7 +5,9 @@
{{_i}}Bootstrap is built on a responsive 12-column grid. We've also included fixed- and fluid-width layouts based on that system.{{/i}}
+
- {{_i}}Grid customization{{/i}}
+
+
+
+
+
+ {{_i}}Fluid grid system 12 responsive, percent-based columns{{/i}}
+
+
+ {{_i}}Fluid columns{{/i}}
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+
+
+ 4
+ 4
+ 4
+
+
+ 4
+ 8
+
+
+ 6
+ 6
+
+
+ 12
+
+
+
+
+ {{_i}}Percents, not pixels{{/i}}
+ {{_i}}The fluid grid system uses percents for column widths instead of fixed pixels. It also has the same responsive variations as our fixed grid system, ensuring proper proportions for key screen resolutions and devices.{{/i}}
+
+
+ {{_i}}Fluid rows{{/i}}
+ {{_i}}Make any row fluid simply by changing .row to .row-fluid. The columns stay the exact same, making it super straightforward to flip between fixed and fluid layouts.{{/i}}
+
+
+ {{_i}}Markup{{/i}}
+
+<div class="row-fluid">
+ <div class="span4">...</div>
+ <div class="span8">...</div>
+</div>
+
+
+
+
+ {{_i}}Fluid nesting{{/i}}
+
+
+ {{_i}}Nesting with fluid grids is a bit different: the number of nested columns doesn't need to match the parent. Instead, your columns are reset at each level because each row takes up 100% of the parent column.{{/i}}
+
+
+ {{_i}}Fluid 12{{/i}}
+
+
+ {{_i}}Fluid 6{{/i}}
+
+
+ {{_i}}Fluid 6{{/i}}
+
+
+
+
+
+
+
+<div class="row-fluid">
+ <div class="span12">
+ {{_i}}Level 1 of column{{/i}}
+ <div class="row-fluid">
+ <div class="span6">{{_i}}Level 2{{/i}}</div>
+ <div class="span6">{{_i}}Level 2{{/i}}</div>
+ </div>
+ </div>
+</div>
+
+
+
+
+
+
+
+
+
+
+
+ {{_i}}Grid customization{{/i}}
+
@@ -166,7 +272,7 @@
{{_i}}How to customize{{/i}}
- {{_i}}Modifying the grid means changing the three @grid* variables and recompiling Bootstrap. Change the grid variables in variables.less and use one of the four ways documented to recompile. If you're adding more columns, be sure to add the CSS for those in grid.less.{{/i}}
+ {{_i}}Modifying the grid means changing the three @grid* variables and recompiling Bootstrap. Change the grid variables in variables.less and use one of the four ways documented to recompile. If you're adding more columns, be sure to add the CSS for those in grid.less.{{/i}}
{{_i}}Staying responsive{{/i}}
@@ -189,8 +295,8 @@
{{_i}}Fixed layout{{/i}}
{{_i}}The default and simple 940px-wide, centered layout for just about any website or page provided by a single <div class="container">.{{/i}}
-
-
+
+
<body>
@@ -203,9 +309,9 @@
{{_i}}Fluid layout{{/i}}
{{_i}}<div class="container-fluid"> gives flexible page structure, min- and max-widths, and a left-hand sidebar. It's great for apps and docs.{{/i}}
-
-
-
+
+
+
<div class="container-fluid">
@@ -239,7 +345,7 @@
{{_i}}Supported devices{{/i}}
- {{_i}}Bootstrap supports a handful of media queries to help make your projects more appropriate on different devices and screen resolutions. Here's what's included:{{/i}}
+ {{_i}}Bootstrap supports a handful of media queries in a single file to help make your projects more appropriate on different devices and screen resolutions. Here's what's included:{{/i}}
@@ -262,8 +368,8 @@
{{_i}}Landscape tablets{{/i}}
- 768px to 980px
- 44px
+ 768px to 979px
+ 42px
20px
@@ -281,6 +387,10 @@
+ {{_i}}Requires meta tag{{/i}}
+ {{_i}}To ensure devices display responsive pages properly, include the viewport meta tag.{{/i}}
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
{{_i}}What they do{{/i}}
{{_i}}Media queries allow for custom CSS based on a number of conditions—ratios, widths, display type, etc—but usually focuses around min-width and max-width.{{/i}}
@@ -301,7 +411,7 @@
- {{_i}}Use the compiled responsive version, bootstrap-responsive.css{{/i}}
- {{_i}}Add @import "responsive.less" and recompile Bootstrap{{/i}}
- - {{_i}}Modify and recompile responsive.less as a separate{{/i}}
+ - {{_i}}Modify and recompile responsive.less as a separate file{{/i}}
{{_i}}Why not just include it? Truth be told, not everything needs to be responsive. Instead of encouraging developers to remove this feature, we figure it best to enable it.{{/i}}
diff --git a/templates/pages/upgrading.mustache b/templates/pages/upgrading.mustache
index 02d1c7fe..5a82e2dc 100644
--- a/templates/pages/upgrading.mustache
+++ b/templates/pages/upgrading.mustache
@@ -39,7 +39,7 @@
- {{_i}}Media queries added for basic support across mobile and tablet devices{{/i}}
- {{_i}}Responsive CSS is compiled separately, as bootstrap-responsive.css{{/i}}
-
+
@@ -76,12 +76,14 @@
{{_i}}IE9: removed gradients and added rounded corners{{/i}}
{{_i}}Updated active state to make styling clearer in button groups (new) and look better with custom transition{{/i}}
{{_i}}New mixin, .buttonBackground, to set button gradients{{/i}}
+ {{_i}}The .secondary class was removed from modal examples in our docs as it never had associated styles.{{/i}}
{{_i}}Forms{{/i}}
- {{_i}}Default form style is now vertical (stacked) to use less CSS and add greater flexibility{{/i}}
- {{_i}}Form classes standardized with
.form- required as a prefix{{/i}}
- {{_i}}New built-in form defaults for search, inline, and horizontal forms{{/i}}
+ - {{_i}}For horizontal forms, previous classes
.clearfix and .input are equivalent to the new .control-group and .controls.{{/i}}
- {{_i}}More flexible horizontal form markup with classes for all styling, including new optional class for the
label{{/i}}
- {{_i}}Form states: colors updated and customizable via new LESS variables{{/i}}
@@ -109,7 +111,7 @@
{{_i}}Navigation{{/i}}
- - {{_i}}Tabs and pills now require the use of a new base class,
.nav, on their <ul>{{/i}}
+ - {{_i}}Tabs and pills now require the use of a new base class,
.nav, on their <ul> and the class names are now .nav-pills and .nav-tabs.{{/i}}
- {{_i}}New nav list variation added that uses the same base class,
.nav{{/i}}
- {{_i}}Vertical tabs and pills have been added—just add
.nav-stacked to the <ul>{{/i}}
- {{_i}}Pills were restyled to be less rounded by default{{/i}}
@@ -128,6 +130,7 @@
- {{_i}}Updated the
.dropdown-menu to tighten up spacing{{/i}}
- {{_i}}Now requires you to add a
<span class="caret"></span> to show the dropdown arrow{{/i}}
+ - {{_i}}Now requires you to add a
data-toggle="dropdown" attribute to obtain toggling behavior{{/i}}
- {{_i}}The navbar (fixed topbar) has brand new dropdowns. Gone are the dark versions and in their place are the standard white ones with an additional caret at their tops for clarity of position.{{/i}}
{{_i}}Labels{{/i}}
@@ -144,7 +147,7 @@
- {{_i}}New base class:
.alert instead of .alert-message{{/i}}
- {{_i}}Class names standardized for other options, now all starting with
.alert-{{/i}}
- - {{_i}}Redesigned base alert styles to combine the deafult alerts and block-level alerts into one{{/i}}
+ - {{_i}}Redesigned base alert styles to combine the default alerts and block-level alerts into one{{/i}}
- {{_i}}Block level alert class changed:
.alert-block instead of .block-message{{/i}}
{{_i}}Progress bars{{/i}}
@@ -167,11 +170,19 @@
{{_i}}Javascript plugins{{/i}}
- {{_i}}Heads up!{{/i}} {{_i}}We're rewritten just about everything for our plugins, so head on over to the Javascript page to learn more.{{/i}}
+ {{_i}}Heads up!{{/i}} {{_i}}We've rewritten just about everything for our plugins, so head on over to the Javascript page to learn more.{{/i}}
+ {{_i}}Tooltips{{/i}}
+
+ - {{_i}}The plugin method has been renamed from
twipsy() to tooltip(), and the class name changed from twipsy to tooltip.{{/i}}
+ - {{_i}}The
placement option value that was below is now bottom, and above is now top.{{/i}}
+ - {{_i}}The
animate option was renamed to animation.{{/i}}
+ - {{_i}}The
html option was removed, as the tooltips default to allowing HTML now.{{/i}}
+
{{_i}}Popovers{{/i}}
- {{_i}}Child elements now properly namespaced:
.title to .popover-title, .inner to .popover-inner, and .content to .popover-content.{{/i}}
+ - {{_i}}The
placement option value that was below is now bottom, and above is now top.{{/i}}
{{_i}}New plugins{{/i}}
diff --git a/upgrading.html b/upgrading.html
index 098bcbdc..a414eb75 100644
--- a/upgrading.html
+++ b/upgrading.html
@@ -7,17 +7,17 @@
-
-
-
+
+
+
@@ -115,7 +115,7 @@
- Media queries added for basic support across mobile and tablet devices
- Responsive CSS is compiled separately, as bootstrap-responsive.css
-
+
@@ -152,12 +152,14 @@
IE9: removed gradients and added rounded corners
Updated active state to make styling clearer in button groups (new) and look better with custom transition
New mixin, .buttonBackground, to set button gradients
+ The .secondary class was removed from modal examples in our docs as it never had associated styles.
Forms
- Default form style is now vertical (stacked) to use less CSS and add greater flexibility
- Form classes standardized with
.form- required as a prefix
- New built-in form defaults for search, inline, and horizontal forms
+ - For horizontal forms, previous classes
.clearfix and .input are equivalent to the new .control-group and .controls.
- More flexible horizontal form markup with classes for all styling, including new optional class for the
label
- Form states: colors updated and customizable via new LESS variables
@@ -185,7 +187,7 @@
Navigation
- - Tabs and pills now require the use of a new base class,
.nav, on their <ul>
+ - Tabs and pills now require the use of a new base class,
.nav, on their <ul> and the class names are now .nav-pills and .nav-tabs.
- New nav list variation added that uses the same base class,
.nav
- Vertical tabs and pills have been added—just add
.nav-stacked to the <ul>
- Pills were restyled to be less rounded by default
@@ -204,6 +206,7 @@
- Updated the
.dropdown-menu to tighten up spacing
- Now requires you to add a
<span class="caret"></span> to show the dropdown arrow
+ - Now requires you to add a
data-toggle="dropdown" attribute to obtain toggling behavior
- The navbar (fixed topbar) has brand new dropdowns. Gone are the dark versions and in their place are the standard white ones with an additional caret at their tops for clarity of position.
Labels
@@ -220,7 +223,7 @@
- New base class:
.alert instead of .alert-message
- Class names standardized for other options, now all starting with
.alert-
- - Redesigned base alert styles to combine the deafult alerts and block-level alerts into one
+ - Redesigned base alert styles to combine the default alerts and block-level alerts into one
- Block level alert class changed:
.alert-block instead of .block-message
Progress bars
@@ -243,11 +246,19 @@
Javascript plugins
- Heads up! We're rewritten just about everything for our plugins, so head on over to the Javascript page to learn more.
+ Heads up! We've rewritten just about everything for our plugins, so head on over to the Javascript page to learn more.
+ Tooltips
+
+ - The plugin method has been renamed from
twipsy() to tooltip(), and the class name changed from twipsy to tooltip.
+ - The
placement option value that was below is now bottom, and above is now top.
+ - The
animate option was renamed to animation.
+ - The
html option was removed, as the tooltips default to allowing HTML now.
+
Popovers
- Child elements now properly namespaced:
.title to .popover-title, .inner to .popover-inner, and .content to .popover-content.
+ - The
placement option value that was below is now bottom, and above is now top.
New plugins