diff --git a/docs/assets/css/bootstrap-responsive.css b/docs/assets/css/bootstrap-responsive.css index 8916f313c1..4d104846b7 100644 --- a/docs/assets/css/bootstrap-responsive.css +++ b/docs/assets/css/bootstrap-responsive.css @@ -362,6 +362,9 @@ .uneditable-input { margin-left: 0; } + .controls-row [class*="span"] + [class*="span"] { + margin-left: 30px; + } input.span12, textarea.span12, .uneditable-input.span12 { @@ -704,6 +707,9 @@ .uneditable-input { margin-left: 0; } + .controls-row [class*="span"] + [class*="span"] { + margin-left: 20px; + } input.span12, textarea.span12, .uneditable-input.span12 { @@ -798,6 +804,9 @@ .thumbnails { margin-left: 0; } + .thumbnails > li { + float: none; + } [class*="span"], .row-fluid [class*="span"] { display: block; diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css index 4a66eb66d2..e98f9357bc 100644 --- a/docs/assets/css/bootstrap.css +++ b/docs/assets/css/bootstrap.css @@ -851,7 +851,7 @@ legend { display: block; width: 100%; padding: 0; - margin-bottom: 30px; + margin-bottom: 20px; font-size: 21px; line-height: 40px; color: #333333; @@ -1143,6 +1143,10 @@ textarea, margin-left: 0; } +.controls-row [class*="span"] + [class*="span"] { + margin-left: 20px; +} + input.span12, textarea.span12, .uneditable-input.span12 { @@ -1215,6 +1219,25 @@ textarea.span1, width: 50px; } +.controls-row { + *zoom: 1; +} + +.controls-row:before, +.controls-row:after { + display: table; + line-height: 0; + content: ""; +} + +.controls-row:after { + clear: both; +} + +.controls-row [class*="span"] { + float: left; +} + input[disabled], select[disabled], textarea[disabled], @@ -1385,19 +1408,19 @@ select:focus:required:invalid:focus { *zoom: 1; } -.input-prepend, -.input-append { +.input-append, +.input-prepend { margin-bottom: 5px; font-size: 0; white-space: nowrap; } -.input-prepend input, .input-append input, -.input-prepend select, +.input-prepend input, .input-append select, -.input-prepend .uneditable-input, -.input-append .uneditable-input { +.input-prepend select, +.input-append .uneditable-input, +.input-prepend .uneditable-input { position: relative; margin-bottom: 0; *margin-left: 0; @@ -1408,17 +1431,17 @@ select:focus:required:invalid:focus { border-radius: 0 3px 3px 0; } -.input-prepend input:focus, .input-append input:focus, -.input-prepend select:focus, +.input-prepend input:focus, .input-append select:focus, -.input-prepend .uneditable-input:focus, -.input-append .uneditable-input:focus { +.input-prepend select:focus, +.input-append .uneditable-input:focus, +.input-prepend .uneditable-input:focus { z-index: 2; } -.input-prepend .add-on, -.input-append .add-on { +.input-append .add-on, +.input-prepend .add-on { display: inline-block; width: auto; height: 20px; @@ -1434,18 +1457,18 @@ select:focus:required:invalid:focus { border: 1px solid #ccc; } -.input-prepend .add-on, .input-append .add-on, -.input-prepend .btn, -.input-append .btn { +.input-prepend .add-on, +.input-append .btn, +.input-prepend .btn { margin-left: -1px; -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0; } -.input-prepend .active, -.input-append .active { +.input-append .active, +.input-prepend .active { background-color: #a9dba9; border-color: #46a546; } @@ -1501,7 +1524,7 @@ select:focus:required:invalid:focus { border-radius: 0 3px 3px 0; } -input.search-query { +.search-query { padding-right: 14px; padding-right: 4px \9; padding-left: 14px; @@ -1514,6 +1537,39 @@ input.search-query { border-radius: 14px; } +/* Allow for input prepend/append in search forms */ + +.form-search .input-append .search-query, +.form-search .input-prepend .search-query { + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +.form-search .input-append .search-query { + -webkit-border-radius: 14px 0 0 14px; + -moz-border-radius: 14px 0 0 14px; + border-radius: 14px 0 0 14px; +} + +.form-search .input-append .btn { + -webkit-border-radius: 0 14px 14px 0; + -moz-border-radius: 0 14px 14px 0; + border-radius: 0 14px 14px 0; +} + +.form-search .input-prepend .search-query { + -webkit-border-radius: 0 14px 14px 0; + -moz-border-radius: 0 14px 14px 0; + border-radius: 0 14px 14px 0; +} + +.form-search .input-prepend .btn { + -webkit-border-radius: 14px 0 0 14px; + -moz-border-radius: 14px 0 0 14px; + border-radius: 14px 0 0 14px; +} + .form-search input, .form-inline input, .form-horizontal input, @@ -2740,7 +2796,7 @@ button.close { 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-image: linear-gradient(to bottom, #ffffff, #e6e6e6); background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6); background-repeat: repeat-x; border: 1px solid #cccccc; @@ -2764,6 +2820,7 @@ button.close { .btn.active, .btn.disabled, .btn[disabled] { + color: #333333; background-color: #e6e6e6; *background-color: #d9d9d9; } @@ -2849,22 +2906,6 @@ button.close { line-height: 16px; } -.btn-primary, -.btn-primary:hover, -.btn-warning, -.btn-warning:hover, -.btn-danger, -.btn-danger:hover, -.btn-success, -.btn-success:hover, -.btn-info, -.btn-info:hover, -.btn-inverse, -.btn-inverse:hover { - color: #ffffff; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); -} - .btn-primary.active, .btn-warning.active, .btn-danger.active, @@ -2880,12 +2921,14 @@ button.close { } .btn-primary { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #006dcc; *background-color: #0044cc; background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc)); background-image: -webkit-linear-gradient(top, #0088cc, #0044cc); background-image: -o-linear-gradient(top, #0088cc, #0044cc); - background-image: linear-gradient(top, #0088cc, #0044cc); + background-image: linear-gradient(to bottom, #0088cc, #0044cc); background-image: -moz-linear-gradient(top, #0088cc, #0044cc); background-repeat: repeat-x; border-color: #0044cc #0044cc #002a80; @@ -2899,6 +2942,7 @@ button.close { .btn-primary.active, .btn-primary.disabled, .btn-primary[disabled] { + color: #ffffff; background-color: #0044cc; *background-color: #003bb3; } @@ -2909,12 +2953,14 @@ button.close { } .btn-warning { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #faa732; *background-color: #f89406; background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406)); background-image: -webkit-linear-gradient(top, #fbb450, #f89406); background-image: -o-linear-gradient(top, #fbb450, #f89406); - background-image: linear-gradient(top, #fbb450, #f89406); + background-image: linear-gradient(to bottom, #fbb450, #f89406); background-image: -moz-linear-gradient(top, #fbb450, #f89406); background-repeat: repeat-x; border-color: #f89406 #f89406 #ad6704; @@ -2928,6 +2974,7 @@ button.close { .btn-warning.active, .btn-warning.disabled, .btn-warning[disabled] { + color: #ffffff; background-color: #f89406; *background-color: #df8505; } @@ -2938,12 +2985,14 @@ button.close { } .btn-danger { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #da4f49; *background-color: #bd362f; background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f)); background-image: -webkit-linear-gradient(top, #ee5f5b, #bd362f); background-image: -o-linear-gradient(top, #ee5f5b, #bd362f); - background-image: linear-gradient(top, #ee5f5b, #bd362f); + background-image: linear-gradient(to bottom, #ee5f5b, #bd362f); background-image: -moz-linear-gradient(top, #ee5f5b, #bd362f); background-repeat: repeat-x; border-color: #bd362f #bd362f #802420; @@ -2957,6 +3006,7 @@ button.close { .btn-danger.active, .btn-danger.disabled, .btn-danger[disabled] { + color: #ffffff; background-color: #bd362f; *background-color: #a9302a; } @@ -2967,12 +3017,14 @@ button.close { } .btn-success { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #5bb75b; *background-color: #51a351; background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351)); background-image: -webkit-linear-gradient(top, #62c462, #51a351); background-image: -o-linear-gradient(top, #62c462, #51a351); - background-image: linear-gradient(top, #62c462, #51a351); + background-image: linear-gradient(to bottom, #62c462, #51a351); background-image: -moz-linear-gradient(top, #62c462, #51a351); background-repeat: repeat-x; border-color: #51a351 #51a351 #387038; @@ -2986,6 +3038,7 @@ button.close { .btn-success.active, .btn-success.disabled, .btn-success[disabled] { + color: #ffffff; background-color: #51a351; *background-color: #499249; } @@ -2996,12 +3049,14 @@ button.close { } .btn-info { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #49afcd; *background-color: #2f96b4; background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4)); background-image: -webkit-linear-gradient(top, #5bc0de, #2f96b4); background-image: -o-linear-gradient(top, #5bc0de, #2f96b4); - background-image: linear-gradient(top, #5bc0de, #2f96b4); + background-image: linear-gradient(to bottom, #5bc0de, #2f96b4); background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4); background-repeat: repeat-x; border-color: #2f96b4 #2f96b4 #1f6377; @@ -3015,6 +3070,7 @@ button.close { .btn-info.active, .btn-info.disabled, .btn-info[disabled] { + color: #ffffff; background-color: #2f96b4; *background-color: #2a85a0; } @@ -3025,12 +3081,14 @@ button.close { } .btn-inverse { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #363636; *background-color: #222222; background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#444444), to(#222222)); background-image: -webkit-linear-gradient(top, #444444, #222222); background-image: -o-linear-gradient(top, #444444, #222222); - background-image: linear-gradient(top, #444444, #222222); + background-image: linear-gradient(to bottom, #444444, #222222); background-image: -moz-linear-gradient(top, #444444, #222222); background-repeat: repeat-x; border-color: #222222 #222222 #000000; @@ -3044,6 +3102,7 @@ button.close { .btn-inverse.active, .btn-inverse.disabled, .btn-inverse[disabled] { + color: #ffffff; background-color: #222222; *background-color: #151515; } @@ -3775,7 +3834,7 @@ input[type="submit"].btn.btn-mini { background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#222222), to(#111111)); background-image: -webkit-linear-gradient(top, #222222, #111111); background-image: -o-linear-gradient(top, #222222, #111111); - background-image: linear-gradient(top, #222222, #111111); + background-image: linear-gradient(to bottom, #222222, #111111); background-repeat: repeat-x; -webkit-border-radius: 4px; -moz-border-radius: 4px; @@ -3828,7 +3887,7 @@ input[type="submit"].btn.btn-mini { .navbar .btn, .navbar .btn-group { - margin-top: 5px; + margin-top: 6px; } .navbar .btn-group .btn { @@ -3855,11 +3914,12 @@ input[type="submit"].btn.btn-mini { .navbar-form select, .navbar-form .radio, .navbar-form .checkbox { - margin-top: 5px; + margin-top: 6px; } .navbar-form input, -.navbar-form select { +.navbar-form select, +.navbar-form .btn { display: inline-block; margin-bottom: 0; } @@ -4044,12 +4104,14 @@ input[type="submit"].btn.btn-mini { padding: 7px 10px; margin-right: 5px; margin-left: 5px; + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #0e0e0e; *background-color: #040404; background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#151515), to(#040404)); background-image: -webkit-linear-gradient(top, #151515, #040404); background-image: -o-linear-gradient(top, #151515, #040404); - background-image: linear-gradient(top, #151515, #040404); + background-image: linear-gradient(to bottom, #151515, #040404); background-image: -moz-linear-gradient(top, #151515, #040404); background-repeat: repeat-x; border-color: #040404 #040404 #000000; @@ -4066,6 +4128,7 @@ input[type="submit"].btn.btn-mini { .navbar .btn-navbar.active, .navbar .btn-navbar.disabled, .navbar .btn-navbar[disabled] { + color: #ffffff; background-color: #040404; *background-color: #000000; } @@ -4178,7 +4241,7 @@ input[type="submit"].btn.btn-mini { background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f1f1f1)); background-image: -webkit-linear-gradient(top, #ffffff, #f1f1f1); background-image: -o-linear-gradient(top, #ffffff, #f1f1f1); - background-image: linear-gradient(top, #ffffff, #f1f1f1); + background-image: linear-gradient(to bottom, #ffffff, #f1f1f1); background-image: -moz-linear-gradient(top, #ffffff, #f1f1f1); background-repeat: repeat-x; border: 1px solid #e5e5e5; @@ -4281,7 +4344,7 @@ input[type="submit"].btn.btn-mini { background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f5f5f5)); background-image: -webkit-linear-gradient(top, #ffffff, #f5f5f5); background-image: -o-linear-gradient(top, #ffffff, #f5f5f5); - background-image: linear-gradient(top, #ffffff, #f5f5f5); + background-image: linear-gradient(to bottom, #ffffff, #f5f5f5); background-repeat: repeat-x; border: 1px solid #ddd; -webkit-border-radius: 3px; @@ -4579,91 +4642,19 @@ input[type="submit"].btn.btn-mini { } .tooltip.top { - margin-top: -2px; + margin-top: -3px; } .tooltip.right { - margin-left: 2px; + margin-left: 3px; } .tooltip.bottom { - margin-top: 2px; + margin-top: 3px; } .tooltip.left { - margin-left: -2px; -} - -.tooltip.top .tooltip-arrow { - bottom: -10px; - left: 50%; - margin-left: -10px; - border-top: 10px solid #cccccc; - border-top: 10px solid rgba(0, 0, 0, 0.2); - border-right: 10px solid transparent; - border-left: 10px solid transparent; -} - -.tooltip.top .tooltip-arrow:after { - bottom: 1px; - left: -9px; - border-top: 9px solid #ffffff; - border-right: 9px solid transparent; - border-left: 9px solid transparent; -} - -.tooltip.left .tooltip-arrow { - top: 50%; - right: -10px; - margin-top: -10px; - border-top: 10px solid transparent; - border-bottom: 10px solid transparent; - border-left: 10px solid #cccccc; - border-left: 10px solid rgba(0, 0, 0, 0.2); -} - -.tooltip.left .tooltip-arrow:after { - right: 1px; - bottom: -9px; - border-top: 9px solid transparent; - border-bottom: 9px solid transparent; - border-left: 9px solid #ffffff; -} - -.tooltip.bottom .tooltip-arrow { - top: -10px; - left: 50%; - margin-left: -10px; - border-right: 10px solid transparent; - border-bottom: 10px solid #cccccc; - border-bottom: 10px solid rgba(0, 0, 0, 0.2); - border-left: 10px solid transparent; -} - -.tooltip.bottom .tooltip-arrow:after { - top: 1px; - left: -9px; - border-right: 9px solid transparent; - border-bottom: 9px solid #f5f5f5; - border-left: 9px solid transparent; -} - -.tooltip.right .tooltip-arrow { - top: 50%; - left: -10px; - margin-top: -10px; - border-top: 10px solid transparent; - border-right: 10px solid #cccccc; - border-right: 10px solid rgba(0, 0, 0, 0.2); - border-bottom: 10px solid transparent; -} - -.tooltip.right .tooltip-arrow:after { - bottom: -9px; - left: 1px; - border-top: 9px solid transparent; - border-right: 9px solid #ffffff; - border-bottom: 9px solid transparent; + margin-left: -3px; } .tooltip-inner { @@ -4682,6 +4673,40 @@ input[type="submit"].btn.btn-mini { position: absolute; width: 0; height: 0; + border-color: transparent; + border-style: solid; +} + +.tooltip.top .tooltip-arrow { + bottom: 0; + left: 50%; + margin-left: -5px; + border-top-color: #000000; + border-width: 5px 5px 0; +} + +.tooltip.right .tooltip-arrow { + top: 50%; + left: 0; + margin-top: -5px; + border-right-color: #000000; + border-width: 5px 5px 5px 0; +} + +.tooltip.left .tooltip-arrow { + top: 50%; + right: 0; + margin-top: -5px; + border-left-color: #000000; + border-width: 5px 0 5px 5px; +} + +.tooltip.bottom .tooltip-arrow { + top: 0; + left: 50%; + margin-left: -5px; + border-bottom-color: #000000; + border-width: 0 5px 5px; } .popover { @@ -4690,7 +4715,7 @@ input[type="submit"].btn.btn-mini { left: 0; z-index: 1010; display: none; - width: 218px; + width: 238px; background-color: #fff; border: 1px solid #ccc; border: 1px solid rgba(0, 0, 0, 0.2); @@ -4721,99 +4746,14 @@ input[type="submit"].btn.btn-mini { margin-right: 10px; } -.popover.top .arrow { - bottom: -10px; - left: 50%; - margin-left: -10px; - border-top: 10px solid #cccccc; - border-top: 10px solid rgba(0, 0, 0, 0.2); - border-right: 10px solid transparent; - border-left: 10px solid transparent; -} - -.popover.top .arrow:after { - bottom: 1px; - left: -9px; - border-top: 9px solid #ffffff; - border-right: 9px solid transparent; - border-left: 9px solid transparent; -} - -.popover.right .arrow { - top: 50%; - left: -10px; - margin-top: -10px; - border-top: 10px solid transparent; - border-right: 10px solid #cccccc; - border-right: 10px solid rgba(0, 0, 0, 0.2); - border-bottom: 10px solid transparent; -} - -.popover.right .arrow:after { - bottom: -9px; - left: 1px; - border-top: 9px solid transparent; - border-right: 9px solid #ffffff; - border-bottom: 9px solid transparent; -} - -.popover.bottom .arrow { - top: -10px; - left: 50%; - margin-left: -10px; - border-right: 10px solid transparent; - border-bottom: 10px solid #cccccc; - border-bottom: 10px solid rgba(0, 0, 0, 0.2); - border-left: 10px solid transparent; -} - -.popover.bottom .arrow:after { - top: 1px; - left: -9px; - border-right: 9px solid transparent; - border-bottom: 9px solid #f5f5f5; - border-left: 9px solid transparent; -} - -.popover.left .arrow { - top: 50%; - right: -10px; - margin-top: -10px; - border-top: 10px solid transparent; - border-bottom: 10px solid transparent; - border-left: 10px solid #cccccc; - border-left: 10px solid rgba(0, 0, 0, 0.2); -} - -.popover.left .arrow:after { - right: 1px; - bottom: -9px; - border-top: 9px solid transparent; - border-bottom: 9px solid transparent; - border-left: 9px solid #ffffff; -} - -.popover .arrow { - position: absolute; - width: 0; - height: 0; -} - -.popover .arrow:after { - position: absolute; - display: inline-block; - width: 0; - height: 0; - content: ""; -} - .popover-title { padding: 8px 14px; + margin: 0; font-size: 14px; font-weight: normal; line-height: 18px; background-color: #f5f5f5; - border-bottom: 1px solid #e5e5e5; + border-bottom: 1px solid #dcdcdc; -webkit-border-radius: 5px 5px 0 0; -moz-border-radius: 5px 5px 0 0; border-radius: 5px 5px 0 0; @@ -4829,6 +4769,81 @@ input[type="submit"].btn.btn-mini { margin-bottom: 0; } +.popover .arrow, +.popover .arrow:after { + position: absolute; + display: inline-block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} + +.popover .arrow:after { + z-index: -1; + content: ""; +} + +.popover.top .arrow { + bottom: -10px; + left: 50%; + margin-left: -10px; + border-top-color: #ffffff; + border-width: 10px 10px 0; +} + +.popover.top .arrow:after { + bottom: -1px; + left: -11px; + border-top-color: rgba(0, 0, 0, 0.2); + border-width: 11px 11px 0; +} + +.popover.right .arrow { + top: 50%; + left: -10px; + margin-top: -10px; + border-right-color: #ffffff; + border-width: 10px 10px 10px 0; +} + +.popover.right .arrow:after { + bottom: -11px; + left: -1px; + border-right-color: rgba(0, 0, 0, 0.2); + border-width: 11px 11px 11px 0; +} + +.popover.bottom .arrow { + top: -10px; + left: 50%; + margin-left: -10px; + border-bottom-color: #f5f5f5; + border-width: 0 10px 10px; +} + +.popover.bottom .arrow:after { + top: -1px; + left: -11px; + border-bottom-color: rgba(0, 0, 0, 0.2); + border-width: 0 11px 11px; +} + +.popover.left .arrow { + top: 50%; + right: -10px; + margin-top: -10px; + border-left-color: #ffffff; + border-width: 10px 0 10px 10px; +} + +.popover.left .arrow:after { + right: -1px; + bottom: -11px; + border-left-color: rgba(0, 0, 0, 0.2); + border-width: 11px 0 11px 11px; +} + .thumbnails { margin-left: -20px; list-style: none; @@ -5025,7 +5040,7 @@ a.badge:hover { background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9)); background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9); background-image: -o-linear-gradient(top, #f5f5f5, #f9f9f9); - background-image: linear-gradient(top, #f5f5f5, #f9f9f9); + background-image: linear-gradient(to bottom, #f5f5f5, #f9f9f9); background-repeat: repeat-x; -webkit-border-radius: 4px; -moz-border-radius: 4px; @@ -5047,7 +5062,7 @@ a.badge:hover { background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be)); background-image: -webkit-linear-gradient(top, #149bdf, #0480be); background-image: -o-linear-gradient(top, #149bdf, #0480be); - background-image: linear-gradient(top, #149bdf, #0480be); + background-image: linear-gradient(to bottom, #149bdf, #0480be); background-image: -moz-linear-gradient(top, #149bdf, #0480be); background-repeat: repeat-x; filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ff149bdf', endColorstr='#ff0480be', GradientType=0); @@ -5090,7 +5105,7 @@ a.badge:hover { background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35)); background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35); background-image: -o-linear-gradient(top, #ee5f5b, #c43c35); - background-image: linear-gradient(top, #ee5f5b, #c43c35); + background-image: linear-gradient(to bottom, #ee5f5b, #c43c35); background-repeat: repeat-x; filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffc43c35', GradientType=0); } @@ -5110,7 +5125,7 @@ a.badge:hover { background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957)); background-image: -webkit-linear-gradient(top, #62c462, #57a957); background-image: -o-linear-gradient(top, #62c462, #57a957); - background-image: linear-gradient(top, #62c462, #57a957); + background-image: linear-gradient(to bottom, #62c462, #57a957); background-repeat: repeat-x; filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff57a957', GradientType=0); } @@ -5130,7 +5145,7 @@ a.badge:hover { background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9)); background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9); background-image: -o-linear-gradient(top, #5bc0de, #339bb9); - background-image: linear-gradient(top, #5bc0de, #339bb9); + background-image: linear-gradient(to bottom, #5bc0de, #339bb9); background-repeat: repeat-x; filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff339bb9', GradientType=0); } @@ -5150,7 +5165,7 @@ a.badge:hover { background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406)); background-image: -webkit-linear-gradient(top, #fbb450, #f89406); background-image: -o-linear-gradient(top, #fbb450, #f89406); - background-image: linear-gradient(top, #fbb450, #f89406); + background-image: linear-gradient(to bottom, #fbb450, #f89406); background-repeat: repeat-x; filter: progid:dximagetransform.microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0); } diff --git a/docs/assets/css/docs.css b/docs/assets/css/docs.css index 9593ae772a..bbdff228dc 100644 --- a/docs/assets/css/docs.css +++ b/docs/assets/css/docs.css @@ -598,6 +598,17 @@ form.bs-docs-example { line-height: 18px; } +/* Tooltips */ +.bs-docs-tooltip-examples { + text-align: center; + margin: 0 0 10px; + list-style: none; +} +.bs-docs-tooltip-examples li { + display: inline; + padding: 0 10px; +} + /* Popovers */ .bs-docs-example-popover { padding-bottom: 24px; @@ -607,8 +618,8 @@ form.bs-docs-example { position: relative; display: block; float: left; - width: 210px; - margin: 10px; + width: 260px; + margin: 20px; } diff --git a/docs/base-css.html b/docs/base-css.html index 0c5bf0bea4..75296003b4 100644 --- a/docs/base-css.html +++ b/docs/base-css.html @@ -68,26 +68,17 @@
-

Base CSS

On top of the scaffolding, basic HTML elements are styled and enhanced with extensible classes to provide a fresh, consistent look and feel.

-
+ +
 <ul>
   <li>...</li>
 </ul>
 
-

Ordered

-

A list of items in which the order does explicitly matter.

-
-
    -
  1. Lorem ipsum dolor sit amet
  2. -
  3. Consectetur adipiscing elit
  4. -
  5. Integer molestie lorem at massa
  6. -
  7. Facilisis in pretium nisl aliquet
  8. -
  9. Nulla volutpat aliquam velit
  10. -
  11. Faucibus porta lacus fringilla vel
  12. -
  13. Aenean sit amet erat nunc
  14. -
  15. Eget porttitor lorem
  16. -
-
+

Ordered

+

A list of items in which the order does explicitly matter.

+
+
    +
  1. Lorem ipsum dolor sit amet
  2. +
  3. Consectetur adipiscing elit
  4. +
  5. Integer molestie lorem at massa
  6. +
  7. Facilisis in pretium nisl aliquet
  8. +
  9. Nulla volutpat aliquam velit
  10. +
  11. Faucibus porta lacus fringilla vel
  12. +
  13. Aenean sit amet erat nunc
  14. +
  15. Eget porttitor lorem
  16. +
+
 <ol>
   <li>...</li>
 </ol>
 
-

Unstyled

-

A list of items with no list-style or additional left padding.

-
-
    -
  • Lorem ipsum dolor sit amet
  • -
  • Consectetur adipiscing elit
  • -
  • Integer molestie lorem at massa
  • -
  • Facilisis in pretium nisl aliquet
  • -
  • Nulla volutpat aliquam velit -
      -
    • Phasellus iaculis neque
    • -
    • Purus sodales ultricies
    • -
    • Vestibulum laoreet porttitor sem
    • -
    • Ac tristique libero volutpat at
    • -
    -
  • -
  • Faucibus porta lacus fringilla vel
  • -
  • Aenean sit amet erat nunc
  • -
  • Eget porttitor lorem
  • -
-
+

Unstyled

+

A list of items with no list-style or additional left padding.

+
+
    +
  • Lorem ipsum dolor sit amet
  • +
  • Consectetur adipiscing elit
  • +
  • Integer molestie lorem at massa
  • +
  • Facilisis in pretium nisl aliquet
  • +
  • Nulla volutpat aliquam velit +
      +
    • Phasellus iaculis neque
    • +
    • Purus sodales ultricies
    • +
    • Vestibulum laoreet porttitor sem
    • +
    • Ac tristique libero volutpat at
    • +
    +
  • +
  • Faucibus porta lacus fringilla vel
  • +
  • Aenean sit amet erat nunc
  • +
  • Eget porttitor lorem
  • +
+
 <ul class="unstyled">
   <li>...</li>
 </ul>
 
-

Description

-

A list of terms with their associated descriptions.

-
-
-
Description lists
-
A description list is perfect for defining terms.
-
Euismod
-
Vestibulum id ligula porta felis euismod semper eget lacinia odio sem nec elit.
-
Donec id elit non mi porta gravida at eget metus.
-
Malesuada porta
-
Etiam porta sem malesuada magna mollis euismod.
-
-
+

Description

+

A list of terms with their associated descriptions.

+
+
+
Description lists
+
A description list is perfect for defining terms.
+
Euismod
+
Vestibulum id ligula porta felis euismod semper eget lacinia odio sem nec elit.
+
Donec id elit non mi porta gravida at eget metus.
+
Malesuada porta
+
Etiam porta sem malesuada magna mollis euismod.
+
+
 <dl>
   <dt>...</dt>
@@ -379,21 +370,21 @@
 </dl>
 
-

Horizontal description

-

Make terms and descriptions in <dl> line up side-by-side.

-
-
-
Description lists
-
A description list is perfect for defining terms.
-
Euismod
-
Vestibulum id ligula porta felis euismod semper eget lacinia odio sem nec elit.
-
Donec id elit non mi porta gravida at eget metus.
-
Malesuada porta
-
Etiam porta sem malesuada magna mollis euismod.
-
Felis euismod semper eget lacinia
-
Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.
-
-
+

Horizontal description

+

Make terms and descriptions in <dl> line up side-by-side.

+
+
+
Description lists
+
A description list is perfect for defining terms.
+
Euismod
+
Vestibulum id ligula porta felis euismod semper eget lacinia odio sem nec elit.
+
Donec id elit non mi porta gravida at eget metus.
+
Malesuada porta
+
Etiam porta sem malesuada magna mollis euismod.
+
Felis euismod semper eget lacinia
+
Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.
+
+
 <dl class="dl-horizontal">
   <dt>...</dt>
@@ -401,28 +392,28 @@
 </dl>
 

- Heads up! - Horizontal description lists will truncate terms that are too long to fit in the left column fix text-overflow. In narrower viewports, they will change to the default stacked layout. -

- + Heads up! + Horizontal description lists will truncate terms that are too long to fit in the left column fix text-overflow. In narrower viewports, they will change to the default stacked layout. +

+ - -
- + +
+ -

Inline

-

Wrap inline snippets of code with <code>.

+

Inline

+

Wrap inline snippets of code with <code>.

 For example, <code>section</code> should be wrapped as inline.
 
-

Basic block

-

Use <pre> for multiple lines of code. Be sure to escape any angle brackets in the code for proper rendering.

+

Basic block

+

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>
 
@@ -431,53 +422,53 @@ For example, <code>section</code> should be wrapped as inline. &lt;p&gt;Sample text here...&lt;/p&gt; </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.

-
+

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.

+
- -
- + +
+ -

Default styles

-

For basic styling—light padding and only horizontal dividers—add the base class .table to any <table>.

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
-
+

Default styles

+

For basic styling—light padding and only horizontal dividers—add the base class .table to any <table>.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
+
 <table class="table">
   …
@@ -485,168 +476,168 @@ For example, <code>section</code> should be wrapped as inline.
 
-
+
-

Optional classes

-

Add any of the follow classes to the .table base class.

+

Optional classes

+

Add any of the follow classes to the .table base class.

-

.table-striped

-

Adds zebra-striping to any table row within the <tbody> via the :nth-child CSS selector (not available in IE7-IE8).

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
-
+

.table-striped

+

Adds zebra-striping to any table row within the <tbody> via the :nth-child CSS selector (not available in IE7-IE8).

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
+
 <table class="table table-striped">
   …
 </table>
 
-

.table-bordered

-

Add borders and rounded corners to the table.

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#First NameLast NameUsername
1MarkOtto@mdo
MarkOtto@TwBootstrap
2JacobThornton@fat
3Larry the Bird@twitter
-
+

.table-bordered

+

Add borders and rounded corners to the table.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#First NameLast NameUsername
1MarkOtto@mdo
MarkOtto@TwBootstrap
2JacobThornton@fat
3Larry the Bird@twitter
+
 <table class="table table-bordered">
   …
 </table>
 
-

.table-hover

-

Enable a hover state on table rows within a <tbody>.

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larry the Bird@twitter
-
+

.table-hover

+

Enable a hover state on table rows within a <tbody>.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larry the Bird@twitter
+
 <table class="table table-hover">
   …
 </table>
 
-

.table-condensed

-

Makes tables more compact by cutting cell padding in half.

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larry the Bird@twitter
-
+

.table-condensed

+

Makes tables more compact by cutting cell padding in half.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#First NameLast NameUsername
1MarkOtto@mdo
2JacobThornton@fat
3Larry the Bird@twitter
+
 <table class="table table-condensed">
   …
@@ -654,82 +645,82 @@ For example, <code>section</code> should be wrapped as inline.
 
-
+
-

Supported table markup

-

List of supported table HTML elements and how they should be used.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TagDescription
- <table> - - Wrapping element for displaying data in a tabular format -
- <thead> - - Container element for table header rows (<tr>) to label table columns -
- <tbody> - - Container element for table rows (<tr>) in the body of the table -
- <tr> - - Container element for a set of table cells (<td> or <th>) that appears on a single row -
- <td> - - Default table cell -
- <th> - - Special table cell for column (or row, depending on scope and placement) labels
- Must be used within a <thead> -
- <caption> - - Description or summary of what the table holds, especially useful for screen readers -
+

Supported table markup

+

List of supported table HTML elements and how they should be used.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TagDescription
+ <table> + + Wrapping element for displaying data in a tabular format +
+ <thead> + + Container element for table header rows (<tr>) to label table columns +
+ <tbody> + + Container element for table rows (<tr>) in the body of the table +
+ <tr> + + Container element for a set of table cells (<td> or <th>) that appears on a single row +
+ <td> + + Default table cell +
+ <th> + + Special table cell for column (or row, depending on scope and placement) labels
+ Must be used within a <thead> +
+ <caption> + + Description or summary of what the table holds, especially useful for screen readers +
 <table>
   <thead>
@@ -747,28 +738,29 @@ For example, <code>section</code> should be wrapped as inline.
 </table>
 
-
+
- -
- + +
+ -

Default styles

-

Individual form controls receive styling, but without any required base class on the <form> or large changes in markup. Results in stacked, left-aligned labels on top of form controls.

-
- - -

Example block-level help text here.

- - -
+

Default styles

+

Individual form controls receive styling, but without any required base class on the <form> or large changes in markup. Results in stacked, left-aligned labels on top of form controls.

+
+ Legend + + +

Example block-level help text here.

+ + +
 <form class="well">
   <label>Label name</label>
@@ -782,18 +774,18 @@ For example, <code>section</code> should be wrapped as inline.
 
-
+
-

Optional layouts

-

Included with Bootstrap are three optional form layouts for common use cases.

+

Optional layouts

+

Included with Bootstrap are three optional form layouts for common use cases.

-

Search form

-

Add .form-search to the form and .search-query to the <input> for an extra-rounded text input.

- +

Search form

+

Add .form-search to the form and .search-query to the <input> for an extra-rounded text input.

+
 <form class="form-search">
   <input type="text" class="input-medium search-query">
@@ -801,16 +793,16 @@ For example, <code>section</code> should be wrapped as inline.
 </form>
 
-

Inline form

-

Add .form-inline for left-aligned labels and inline-block controls for a compact layout.

-
- - - - -
+

Inline form

+

Add .form-inline for left-aligned labels and inline-block controls for a compact layout.

+
+ + + + +
 <form class="form-inline">
   <input type="text" class="input-small" placeholder="Email">
@@ -822,36 +814,37 @@ For example, <code>section</code> should be wrapped as inline.
 </form>
 
-

Horizontal form

-

Right align labels and float them to the left to make them appear on the same line as controls. Requires the most markup changes from a default form:

-
    -
  • Add .form-horizontal to the form
  • -
  • Wrap labels and controls in .control-group
  • -
  • Add .control-label to the label
  • -
  • Wrap any associated controls in .controls for proper alignment
  • -
-
-
- -
- -
-
-
- -
- -
-
-
-
- - -
-
-
+

Horizontal form

+

Right align labels and float them to the left to make them appear on the same line as controls. Requires the most markup changes from a default form:

+
    +
  • Add .form-horizontal to the form
  • +
  • Wrap labels and controls in .control-group
  • +
  • Add .control-label to the label
  • +
  • Wrap any associated controls in .controls for proper alignment
  • +
+
+ Legend +
+ +
+ +
+
+
+ +
+ +
+
+
+
+ + +
+
+
 <form class="form-horizontal">
   <div class="control-group">
@@ -878,49 +871,49 @@ For example, <code>section</code> should be wrapped as inline.
 
-
+
-

Supported form controls

-

Examples of standard form controls supported in an example form layout.

+

Supported form controls

+

Examples of standard form controls supported in an example form layout.

-

Inputs

-

Most common form control, text-based input fields. Includes support for all HTML5 types: text, password, datetime, datetime-local, date, month, time, week, number, email, url, search, tel, and color.

-

Requires the use of a specified type at all times.

-
- -
+

Inputs

+

Most common form control, text-based input fields. Includes support for all HTML5 types: text, password, datetime, datetime-local, date, month, time, week, number, email, url, search, tel, and color.

+

Requires the use of a specified type at all times.

+
+ +
 <input type="text" placeholder="Text input">
 
-

Textarea

-

Form control which supports multiple lines of text. Change row attribute as necessary.

-
- -
+

Textarea

+

Form control which supports multiple lines of text. Change row attribute as necessary.

+
+ +
 <textarea id="textarea" rows="3"></textarea>
 
-

Checkboxes and radios

-

Checkboxes are for selecting one or several options in a list while radios are for selecting one option from many.

-

Default (stacked)

-
- -
- - -
+

Checkboxes and radios

+

Checkboxes are for selecting one or several options in a list while radios are for selecting one option from many.

+

Default (stacked)

+
+ +
+ + +
 <label class="checkbox">
   <input type="checkbox" value="">
@@ -937,19 +930,19 @@ For example, <code>section</code> should be wrapped as inline.
 </label>
 
-

Inline checkboxes

-

Add the .inline class to a series of checkboxes or radios for controls appear on the same line.

-
- - - -
+

Inline checkboxes

+

Add the .inline class to a series of checkboxes or radios for controls appear on the same line.

+
+ + + +
 <label class="checkbox inline">
   <input type="checkbox" id="inlineCheckbox1" value="option1"> 1
@@ -962,25 +955,25 @@ For example, <code>section</code> should be wrapped as inline.
 </label>
 
-

Selects

-

Use the default option or specify a multiple="multiple" to show multiple options at once.

-
- -
- -
+

Selects

+

Use the default option or specify a multiple="multiple" to show multiple options at once.

+
+ +
+ +
 <select>
   <option>something</option>
@@ -1000,28 +993,28 @@ For example, <code>section</code> should be wrapped as inline.
 
-
+
-

Extending form controls

-

Adding on top of existing browser controls, Bootstrap includes other useful form components.

+

Extending form controls

+

Adding on top of existing browser controls, Bootstrap includes other useful form components.

-

Prepended and appended inputs

-

Add text or buttons before or after any text-based input. Do note that select elements are not supported here.

+

Prepended and appended inputs

+

Add text or buttons before or after any text-based input. Do note that select elements are not supported here.

-

Default options

-

Wrap a .add-on and an input with one of two classes to prepend or append text to an input.

-
-
- @ - -
-
-
- - .00 -
-
+

Default options

+

Wrap a .add-on and an input with one of two classes to prepend or append text to an input.

+
+
+ @ + +
+
+
+ + .00 +
+
 <div class="input-prepend">
   <span class="add-on">@</span><input class="span2" id="prependedInput" size="16" type="text" placeholder="Username">
@@ -1031,35 +1024,35 @@ For example, <code>section</code> should be wrapped as inline.
 </div>
 
-

Combined

-

Use both classes and two instances of .add-on to prepend and append an input.

-
-
- $ - - .00 -
-
+

Combined

+

Use both classes and two instances of .add-on to prepend and append an input.

+
+
+ $ + + .00 +
+
 <div class="input-prepend input-append">
   <span class="add-on">$</span><input class="span2" id="appendedPrependedInput" size="16" type="text"><span class="add-on">.00</span>
 </div>
 
-

Buttons instead of text

-

Instead of a <span> with text, use a .btn to attach a button (or two) to an input.

-
-
- - -
-
-
- - - -
-
+

Buttons instead of text

+

Instead of a <span> with text, use a .btn to attach a button (or two) to an input.

+
+
+ + +
+
+
+ + + +
+
 <div class="input-append">
   <input class="span2" id="appendedInputButton" size="16" type="text"><button class="btn" type="button">Go!</button>
@@ -1070,20 +1063,38 @@ For example, <code>section</code> should be wrapped as inline.
 </div>
 
-

Control sizing

-

Use relative sizing classes like .input-large or match your inputs to the grid column sizes using .span* classes.

+

Search form

+ +
+<form class="form-search">
+  <input type="text" class="span2 search-query">
+  <button type="submit" class="btn">Search</button>
+</form>
+
-

Relative sizing

-
-
- - - - - - -
-
+

Control sizing

+

Use relative sizing classes like .input-large or match your inputs to the grid column sizes using .span* classes.

+ +

Relative sizing

+
+
+ + + + + + +
+
 <input class="input-mini" type="text">
 <input class="input-small" type="text">
@@ -1092,60 +1103,92 @@ For example, <code>section</code> should be wrapped as inline.
 <input class="input-xlarge" type="text">
 <input class="input-xxlarge" type="text">
 
+

+ Heads up! In future versions, we'll be altering the use of these relative input classes to match our button sizes. For example, .input-large will increase the padding and font-size of an input. +

-

Grid sizing

-

Use .span1 to .span12 for inputs that match the same sizes of the grid columns.

-
-
- - - - - - -
-
+

Grid sizing

+

Use .span1 to .span12 for inputs that match the same sizes of the grid columns.

+
+
+ + + + + + +
+
 <input class="span1" type="text">
 <input class="span2" type="text">
 <input class="span3" type="text">
 
-

Uneditable inputs

-

Present data in a form that's not editable without using actual form markup.

-
- Some value here -
+

For multiple grid inputs per line, use the .controls-row modifier class for proper spacing. It floats the inputs to collapse white-space, sets the proper margins, and the clears the float.

+
+
+ +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+<div class="controls controls-row">
+  <input class="span4" type="text" placeholder=".span4">
+  <input class="span1" type="text" placeholder=".span1">
+</div>
+
+ +

Uneditable inputs

+

Present data in a form that's not editable without using actual form markup.

+
+ Some value here +
   <span class="input-xlarge uneditable-input">Some value here</span>
 
-

Form actions

-

End a form with a group of actions (buttons). When placed within a .form-horizontal, the buttons will automatically indent to line up with the form controls.

-
-
- - -
-
+

Form actions

+

End a form with a group of actions (buttons). When placed within a .form-horizontal, the buttons will automatically indent to line up with the form controls.

+
+
+ + +
+
 <div class="form-actions">
   <button type="submit" class="btn btn-primary">Save changes</button>
@@ -1153,76 +1196,76 @@ For example, <code>section</code> should be wrapped as inline.
 </div>
 
-

Help text

-

Inline and block level support for help text that appears around form controls.

-

Inline help

-
- Inline help text -
+

Help text

+

Inline and block level support for help text that appears around form controls.

+

Inline help

+
+ Inline help text +
 <span class="help-inline">Inline help text</span>
 
-

Block help

-
- - A longer block of help text that breaks onto a new line and may extend beyond one line. -
+

Block help

+
+ + A longer block of help text that breaks onto a new line and may extend beyond one line. +
 <span class="help-block">A longer block of help text that breaks onto a new line and may extend beyond one line.</span>
 
-
+
-

Form control states

-

Provide feedback to users or visitors with basic feedback states on form controls and labels.

+

Form control states

+

Provide feedback to users or visitors with basic feedback states on form controls and labels.

-

Input focus

-

We remove the default outline styles on some form controls and apply a box-shadow in its place for :focus.

-
- -
+

Input focus

+

We remove the default outline styles on some form controls and apply a box-shadow in its place for :focus.

+
+ +
 <input class="input-xlarge" id="focusedInput" type="text" value="This is focused...">
 
-

Disabled inputs

-

Add the disabled attribute on an input to prevent user input and trigger a slightly different look.

-
- -
+

Disabled inputs

+

Add the disabled attribute on an input to prevent user input and trigger a slightly different look.

+
+ +
 <input class="input-xlarge" id="disabledInput" type="text" placeholder="Disabled input here..." disabled>
 
-

Validation states

-

Bootstrap includes validation styles for error, warning, and success messages. To use, add the appropriate class to the surrounding .control-group.

+

Validation states

+

Bootstrap includes validation styles for error, warning, and success messages. To use, add the appropriate class to the surrounding .control-group.

-
-
- -
- - Something may have gone wrong -
-
-
- -
- - Please correct the error -
-
-
- -
- - Woohoo! -
-
-
+
+
+ +
+ + Something may have gone wrong +
+
+
+ +
+ + Please correct the error +
+
+
+ +
+ + Woohoo! +
+
+
 <div class="control-group warning">
   <label class="control-label" for="inputWarning">Input with warning</label>
@@ -1247,133 +1290,133 @@ For example, <code>section</code> should be wrapped as inline.
 </div>
 
-
+
- -
- + +
+ -

Default buttons

-

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 for the best rendering.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Buttonclass=""Description
btnStandard gray button with gradient
btn btn-primaryProvides extra visual weight and identifies the primary action in a set of buttons
btn btn-infoUsed as an alternative to the default styles
btn btn-successIndicates a successful or positive action
btn btn-warningIndicates caution should be taken with this action
btn btn-dangerIndicates a dangerous or potentially negative action
btn btn-inverseAlternate dark gray button, not tied to a semantic action or use
+

Default buttons

+

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 for the best rendering.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Buttonclass=""Description
btnStandard gray button with gradient
btn btn-primaryProvides extra visual weight and identifies the primary action in a set of buttons
btn btn-infoUsed as an alternative to the default styles
btn btn-successIndicates a successful or positive action
btn btn-warningIndicates caution should be taken with this action
btn btn-dangerIndicates a dangerous or potentially negative action
btn btn-inverseAlternate dark gray button, not tied to a semantic action or use
-

Cross browser compatibility

-

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.

+

Cross browser compatibility

+

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.

-
+
-

Button sizes

-

Fancy larger or smaller buttons? Add .btn-large, .btn-small, or .btn-mini for two additional sizes.

-

- - -

-

- - -

-

- - -

+

Button sizes

+

Fancy larger or smaller buttons? Add .btn-large, .btn-small, or .btn-mini for two additional sizes.

+

+ + +

+

+ + +

+

+ + +

-
+
-

Disabled state

-

Make buttons look unclickable by fading them back 50%.

+

Disabled state

+

Make buttons look unclickable by fading them back 50%.

-

Anchor element

-

Add the .disabled class to <a> buttons.

-

- Primary link - Link -

+

Anchor element

+

Add the .disabled class to <a> buttons.

+

+ Primary link + Link +

 <a href="#" class="btn btn-large btn-primary disabled">Primary link</a>
 <a href="#" class="btn btn-large disabled">Link</a>
 
-

- Heads up! - We use .disabled as a utility class here, similar to the common .active class, so no prefix is required. -

+

+ Heads up! + We use .disabled as a utility class here, similar to the common .active class, so no prefix is required. +

-

Button element

-

Add the disabled attribute to <button> buttons.

-

- - -

+

Button element

+

Add the disabled attribute to <button> buttons.

+

+ + +

 <button type="button" class="btn btn-large btn-primary disabled" disabled="disabled">Primary button</button>
 <button type="button" class="btn btn-large" disabled>Button</button>
 
-
+
-

One class, multiple tags

-

Use the .btn class on an <a>, <button>, or <input> element.

-
- Link - - - -
+

One class, multiple tags

+

Use the .btn class on an <a>, <button>, or <input> element.

+
+ Link + + + +
 <a class="btn" href="">Link</a>
 <button class="btn" type="submit">
@@ -1384,247 +1427,250 @@ For example, <code>section</code> should be wrapped as inline.
 <input class="btn" type="submit"
          value="Submit">
 
-

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.

+

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.

-
+
- -
- + +
+ -

Icon glyphs

-

140 icons in sprite form, available in dark gray (default) and white, provided by Glyphicons.

-
    -
  • icon-glass
  • -
  • icon-music
  • -
  • icon-search
  • -
  • icon-envelope
  • -
  • icon-heart
  • -
  • icon-star
  • -
  • icon-star-empty
  • -
  • icon-user
  • -
  • icon-film
  • -
  • icon-th-large
  • -
  • icon-th
  • -
  • icon-th-list
  • -
  • icon-ok
  • -
  • icon-remove
  • -
  • icon-zoom-in
  • -
  • icon-zoom-out
  • -
  • icon-off
  • -
  • icon-signal
  • -
  • icon-cog
  • -
  • icon-trash
  • -
  • icon-home
  • -
  • icon-file
  • -
  • icon-time
  • -
  • icon-road
  • -
  • icon-download-alt
  • -
  • icon-download
  • -
  • icon-upload
  • -
  • icon-inbox
  • +

    Icon glyphs

    +

    140 icons in sprite form, available in dark gray (default) and white, provided by Glyphicons.

    +
      +
    • icon-glass
    • +
    • icon-music
    • +
    • icon-search
    • +
    • icon-envelope
    • +
    • icon-heart
    • +
    • icon-star
    • +
    • icon-star-empty
    • +
    • icon-user
    • +
    • icon-film
    • +
    • icon-th-large
    • +
    • icon-th
    • +
    • icon-th-list
    • +
    • icon-ok
    • +
    • icon-remove
    • +
    • icon-zoom-in
    • +
    • icon-zoom-out
    • +
    • icon-off
    • +
    • icon-signal
    • +
    • icon-cog
    • +
    • icon-trash
    • +
    • icon-home
    • +
    • icon-file
    • +
    • icon-time
    • +
    • icon-road
    • +
    • icon-download-alt
    • +
    • icon-download
    • +
    • icon-upload
    • +
    • icon-inbox
    • -
    • icon-play-circle
    • -
    • icon-repeat
    • -
    • icon-refresh
    • -
    • icon-list-alt
    • -
    • icon-lock
    • -
    • icon-flag
    • -
    • icon-headphones
    • -
    • icon-volume-off
    • -
    • icon-volume-down
    • -
    • icon-volume-up
    • -
    • icon-qrcode
    • -
    • icon-barcode
    • -
    • icon-tag
    • -
    • icon-tags
    • -
    • icon-book
    • -
    • icon-bookmark
    • -
    • icon-print
    • -
    • icon-camera
    • -
    • icon-font
    • -
    • icon-bold
    • -
    • icon-italic
    • -
    • icon-text-height
    • -
    • icon-text-width
    • -
    • icon-align-left
    • -
    • icon-align-center
    • -
    • icon-align-right
    • -
    • icon-align-justify
    • -
    • icon-list
    • +
    • icon-play-circle
    • +
    • icon-repeat
    • +
    • icon-refresh
    • +
    • icon-list-alt
    • +
    • icon-lock
    • +
    • icon-flag
    • +
    • icon-headphones
    • +
    • icon-volume-off
    • +
    • icon-volume-down
    • +
    • icon-volume-up
    • +
    • icon-qrcode
    • +
    • icon-barcode
    • +
    • icon-tag
    • +
    • icon-tags
    • +
    • icon-book
    • +
    • icon-bookmark
    • +
    • icon-print
    • +
    • icon-camera
    • +
    • icon-font
    • +
    • icon-bold
    • +
    • icon-italic
    • +
    • icon-text-height
    • +
    • icon-text-width
    • +
    • icon-align-left
    • +
    • icon-align-center
    • +
    • icon-align-right
    • +
    • icon-align-justify
    • +
    • icon-list
    • -
    • icon-indent-left
    • -
    • icon-indent-right
    • -
    • icon-facetime-video
    • -
    • icon-picture
    • -
    • icon-pencil
    • -
    • icon-map-marker
    • -
    • icon-adjust
    • -
    • icon-tint
    • -
    • icon-edit
    • -
    • icon-share
    • -
    • icon-check
    • -
    • icon-move
    • -
    • icon-step-backward
    • -
    • icon-fast-backward
    • -
    • icon-backward
    • -
    • icon-play
    • -
    • icon-pause
    • -
    • icon-stop
    • -
    • icon-forward
    • -
    • icon-fast-forward
    • -
    • icon-step-forward
    • -
    • icon-eject
    • -
    • icon-chevron-left
    • -
    • icon-chevron-right
    • -
    • icon-plus-sign
    • -
    • icon-minus-sign
    • -
    • icon-remove-sign
    • -
    • icon-ok-sign
    • +
    • icon-indent-left
    • +
    • icon-indent-right
    • +
    • icon-facetime-video
    • +
    • icon-picture
    • +
    • icon-pencil
    • +
    • icon-map-marker
    • +
    • icon-adjust
    • +
    • icon-tint
    • +
    • icon-edit
    • +
    • icon-share
    • +
    • icon-check
    • +
    • icon-move
    • +
    • icon-step-backward
    • +
    • icon-fast-backward
    • +
    • icon-backward
    • +
    • icon-play
    • +
    • icon-pause
    • +
    • icon-stop
    • +
    • icon-forward
    • +
    • icon-fast-forward
    • +
    • icon-step-forward
    • +
    • icon-eject
    • +
    • icon-chevron-left
    • +
    • icon-chevron-right
    • +
    • icon-plus-sign
    • +
    • icon-minus-sign
    • +
    • icon-remove-sign
    • +
    • icon-ok-sign
    • -
    • icon-question-sign
    • -
    • icon-info-sign
    • -
    • icon-screenshot
    • -
    • icon-remove-circle
    • -
    • icon-ok-circle
    • -
    • icon-ban-circle
    • -
    • icon-arrow-left
    • -
    • icon-arrow-right
    • -
    • icon-arrow-up
    • -
    • icon-arrow-down
    • -
    • icon-share-alt
    • -
    • icon-resize-full
    • -
    • icon-resize-small
    • -
    • icon-plus
    • -
    • icon-minus
    • -
    • icon-asterisk
    • -
    • icon-exclamation-sign
    • -
    • icon-gift
    • -
    • icon-leaf
    • -
    • icon-fire
    • -
    • icon-eye-open
    • -
    • icon-eye-close
    • -
    • icon-warning-sign
    • -
    • icon-plane
    • -
    • icon-calendar
    • -
    • icon-random
    • -
    • icon-comment
    • -
    • icon-magnet
    • +
    • icon-question-sign
    • +
    • icon-info-sign
    • +
    • icon-screenshot
    • +
    • icon-remove-circle
    • +
    • icon-ok-circle
    • +
    • icon-ban-circle
    • +
    • icon-arrow-left
    • +
    • icon-arrow-right
    • +
    • icon-arrow-up
    • +
    • icon-arrow-down
    • +
    • icon-share-alt
    • +
    • icon-resize-full
    • +
    • icon-resize-small
    • +
    • icon-plus
    • +
    • icon-minus
    • +
    • icon-asterisk
    • +
    • icon-exclamation-sign
    • +
    • icon-gift
    • +
    • icon-leaf
    • +
    • icon-fire
    • +
    • icon-eye-open
    • +
    • icon-eye-close
    • +
    • icon-warning-sign
    • +
    • icon-plane
    • +
    • icon-calendar
    • +
    • icon-random
    • +
    • icon-comment
    • +
    • icon-magnet
    • -
    • icon-chevron-up
    • -
    • icon-chevron-down
    • -
    • icon-retweet
    • -
    • icon-shopping-cart
    • -
    • icon-folder-close
    • -
    • icon-folder-open
    • -
    • icon-resize-vertical
    • -
    • icon-resize-horizontal
    • -
    • icon-hdd
    • -
    • icon-bullhorn
    • -
    • icon-bell
    • -
    • icon-certificate
    • -
    • icon-thumbs-up
    • -
    • icon-thumbs-down
    • -
    • icon-hand-right
    • -
    • icon-hand-left
    • -
    • icon-hand-up
    • -
    • icon-hand-down
    • -
    • icon-circle-arrow-right
    • -
    • icon-circle-arrow-left
    • -
    • icon-circle-arrow-up
    • -
    • icon-circle-arrow-down
    • -
    • icon-globe
    • -
    • icon-wrench
    • -
    • icon-tasks
    • -
    • icon-filter
    • -
    • icon-briefcase
    • -
    • icon-fullscreen
    • -
    +
  • icon-chevron-up
  • +
  • icon-chevron-down
  • +
  • icon-retweet
  • +
  • icon-shopping-cart
  • +
  • icon-folder-close
  • +
  • icon-folder-open
  • +
  • icon-resize-vertical
  • +
  • icon-resize-horizontal
  • +
  • icon-hdd
  • +
  • icon-bullhorn
  • +
  • icon-bell
  • +
  • icon-certificate
  • +
  • icon-thumbs-up
  • +
  • icon-thumbs-down
  • +
  • icon-hand-right
  • +
  • icon-hand-left
  • +
  • icon-hand-up
  • +
  • icon-hand-down
  • +
  • icon-circle-arrow-right
  • +
  • icon-circle-arrow-left
  • +
  • icon-circle-arrow-up
  • +
  • icon-circle-arrow-down
  • +
  • icon-globe
  • +
  • icon-wrench
  • +
  • icon-tasks
  • +
  • icon-filter
  • +
  • icon-briefcase
  • +
  • icon-fullscreen
  • +
-

Glyphicons attribution

-

Glyphicons Halflings are normally not available for free, but an arrangement between Bootstrap and the Glyphicons creators have made this possible at not cost to you as developers. As a thank you, we ask you to include an optional link back to Glyphicons whenever practical.

+

Glyphicons attribution

+

Glyphicons Halflings are normally not available for free, but an arrangement between Bootstrap and the Glyphicons creators have made this possible at not cost to you as developers. As a thank you, we ask you to include an optional link back to Glyphicons whenever practical.

-
+
-

How to use

-

All icons require an <i> tag with a unique class, prefixed with icon-. To use, place the following code just about anywhere:

+

How to use

+

All icons require an <i> tag with a unique class, prefixed with icon-. To use, place the following code just about anywhere:

 <i class="icon-search"></i>
 
-

There are also styles available for inverted (white) icons, made ready with one extra class:

+

There are also styles available for inverted (white) icons, made ready with one extra class:

 <i class="icon-search icon-white"></i>
 
-

- Heads up! - When using beside strings of text, as in buttons or nav links, be sure to leave a space after the <i> tag for proper spacing. -

+

+ Heads up! + When using beside strings of text, as in buttons or nav links, be sure to leave a space after the <i> tag for proper spacing. +

-
+
-

Icon examples

-

Use them in buttons, button groups for a toolbar, navigation, or prepended form inputs.

+

Icon examples

+

Use them in buttons, button groups for a toolbar, navigation, or prepended form inputs.

-

Buttons

-
-
-
- - - - -
- -
-
- -

Navigation

- - -

Form fields

-
-
- -
-
- +

Buttons

+
+
+
+ + + + +
+
-
- -
+

Navigation

+ +

Form fields

+
+
+ +
+
+ +
+
+
+
+ +
+ + + +
- + diff --git a/docs/components.html b/docs/components.html index 719a8ad48b..fec662d47e 100644 --- a/docs/components.html +++ b/docs/components.html @@ -68,43 +68,17 @@
-

Components

Dozens of reusable components are built into Bootstrap to provide navigation, alerts, popovers, and much more.

-
+ + +
 <ul class="nav nav-tabs">
   <li class="dropdown">
@@ -772,23 +746,23 @@
 </ul>
 
-

Pills with dropdowns

- +
 <ul class="nav nav-pills">
   <li class="dropdown">
@@ -806,29 +780,29 @@
 
-
+
-

Nav lists

-

A simple and easy way to build groups of nav links with optional headers. They're best used in sidebars like the Finder in OS X.

+

Nav lists

+

A simple and easy way to build groups of nav links with optional headers. They're best used in sidebars like the Finder in OS X.

-

Example nav list

-

Take a list of links and add class="nav nav-list":

-
-
- -
-
+

Example nav list

+

Take a list of links and add class="nav nav-list":

+
+
+ +
+
 <ul class="nav nav-list">
   <li class="nav-header">List header</li>
@@ -837,50 +811,50 @@
   ...
 </ul>
 
-

- Note - For nesting within a nav list, include class="nav nav-list" on any nested <ul>. -

+

+ Note + For nesting within a nav list, include class="nav nav-list" on any nested <ul>. +

-

Horizontal dividers

-

Add a horizontal divider by creating an empty list item with the class .divider, like so:

+

Horizontal dividers

+

Add a horizontal divider by creating an empty list item with the class .divider, like so:

 <ul class="nav nav-list">
   ...
   <li class="divider"></li>
   ...
 </ul>
-
+ -
+
-

Tabbable nav

-

Bring your tabs to life with a simple plugin to toggle between content via tabs. Bootstrap integrates tabbable tabs in four styles: top (default), right, bottom, and left.

+

Tabbable nav

+

Bring your tabs to life with a simple plugin to toggle between content via tabs. Bootstrap integrates tabbable tabs in four styles: top (default), right, bottom, and left.

-

Tabbable example

-

To make tabs tabbable, create a .tab-pane with unique ID for every tab and wrap them in .tab-content.

-
-
- -
-
-

I'm in Section 1.

-
-
-

Howdy, I'm in Section 2.

-
-
-

What up girl, this is Section 3.

-
+

Tabbable example

+

To make tabs tabbable, create a .tab-pane with unique ID for every tab and wrap them in .tab-content.

+
+
+ +
+
+

I'm in Section 1.

+
+
+

Howdy, I'm in Section 2.

+
+
+

What up girl, this is Section 3.

+
+
+
-
-
 <div class="tabbable"> <!-- Only required for left/right tabs -->
   <ul class="nav nav-tabs">
@@ -898,36 +872,36 @@
 </div>
 
-

Fade in tabs

-

To make tabs fade in, add .fade to each .tab-pane.

+

Fade in tabs

+

To make tabs fade in, add .fade to each .tab-pane.

-

Requires jQuery plugin

-

All tabbable tabs are powered by our lightweight jQuery plugin. Read more about how to bring tabbable tabs to life on the javascript docs page.

+

Requires jQuery plugin

+

All tabbable tabs are powered by our lightweight jQuery plugin. Read more about how to bring tabbable tabs to life on the javascript docs page.

-

Tabbable in any direction

+

Tabbable in any direction

-

Tabs on the bottom

-

Flip the order of the HTML and add a class to put tabs on the bottom.

-
-
-
-
-

I'm in Section A.

-
-
-

Howdy, I'm in Section B.

-
-
-

What up girl, this is Section C.

-
+

Tabs on the bottom

+

Flip the order of the HTML and add a class to put tabs on the bottom.

+
+
+
+
+

I'm in Section A.

+
+
+

Howdy, I'm in Section B.

+
+
+

What up girl, this is Section C.

+
+
+ +
- -
-
 <div class="tabbable tabs-below">
   <div class="tab-content">
@@ -939,28 +913,28 @@
 </div>
 
-

Tabs on the left

-

Swap the class to put tabs on the left.

-
-
- -
-
-

I'm in Section A.

-
-
-

Howdy, I'm in Section B.

-
-
-

What up girl, this is Section C.

-
+

Tabs on the left

+

Swap the class to put tabs on the left.

+
+
+ +
+
+

I'm in Section A.

+
+
+

Howdy, I'm in Section B.

+
+
+

What up girl, this is Section C.

+
+
+
-
-
 <div class="tabbable tabs-left">
   <ul class="nav nav-tabs">
@@ -972,28 +946,28 @@
 </div>
 
-

Tabs on the right

-

Swap the class to put tabs on the right.

-
-
- -
-
-

I'm in Section A.

-
-
-

Howdy, I'm in Section B.

-
-
-

What up girl, this is Section C.

-
+

Tabs on the right

+

Swap the class to put tabs on the right.

+
+
+ +
+
+

I'm in Section A.

+
+
+

Howdy, I'm in Section B.

+
+
+

What up girl, this is Section C.

+
+
+
-
-
 <div class="tabbable tabs-right">
   <ul class="nav nav-tabs">
@@ -1005,32 +979,32 @@
 </div>
 
- + - -
+
+
+
+
- + - - - -
- + +
+ -

Standard pagination

-

Simple pagination inspired by Rdio, great for apps and search results. The large block is hard to miss, easily scalable, and provides large click areas.

-
- -
+

Standard pagination

+

Simple pagination inspired by Rdio, great for apps and search results. The large block is hard to miss, easily scalable, and provides large click areas.

+
+ +
 <div class="pagination">
   <ul>
@@ -1382,26 +1356,26 @@
 
-
+
-

Options

+

Options

-

Disabled and active states

-

Links are customizable for different circumstances. Use .disabled for unclickable links and .active to indicate the current page.

-
- -
+

Disabled and active states

+

Links are customizable for different circumstances. Use .disabled for unclickable links and .active to indicate the current page.

+
+ +
 <div class="pagination ">
   <ul>
@@ -1412,39 +1386,39 @@
 </div>
 
-

Alignment

-

Add one of two optional classes to change the alignment of pagination links: .pagination-centered and .pagination-right.

-
- -
+

Alignment

+

Add one of two optional classes to change the alignment of pagination links: .pagination-centered and .pagination-right.

+
+ +
 <div class="pagination pagination-centered">
   ...
 </div>
 
-
- -
+
+ +
 <div class="pagination pagination-right">
   ...
@@ -1452,20 +1426,20 @@
 
-
+
-

Pager

-

Quick previous and next links for simple pagination implementations with light markup and styles. It's great for simple sites like blogs or magazines.

+

Pager

+

Quick previous and next links for simple pagination implementations with light markup and styles. It's great for simple sites like blogs or magazines.

-

Default example

-

By default, the pager centers links.

-
- -
+

Default example

+

By default, the pager centers links.

+
+ +
 <ul class="pager">
   <li>
@@ -1477,14 +1451,14 @@
 </ul>
 
-

Aligned links

-

Alternatively, you can align each link to the sides:

-
- -
+

Aligned links

+

Alternatively, you can align each link to the sides:

+
+ +
 <ul class="pager">
   <li class="previous">
@@ -1496,14 +1470,14 @@
 </ul>
 
-

Optional disabled state

-

Pager links also use the general .disabled utility class from the pagination.

-
- -
+

Optional disabled state

+

Pager links also use the general .disabled utility class from the pagination.

+
+ +
 <ul class="pager">
   <li class="previous disabled">
@@ -1513,187 +1487,187 @@
 </ul>
 
-
+
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
LabelsMarkup
- Default - - <span class="label">Default</span> -
- Success - - <span class="label label-success">Success</span> -
- Warning - - <span class="label label-warning">Warning</span> -
- Important - - <span class="label label-important">Important</span> -
- Info - - <span class="label label-info">Info</span> -
- Inverse - - <span class="label label-inverse">Inverse</span> -
-
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelsMarkup
+ Default + + <span class="label">Default</span> +
+ Success + + <span class="label label-success">Success</span> +
+ Warning + + <span class="label label-warning">Warning</span> +
+ Important + + <span class="label label-important">Important</span> +
+ Info + + <span class="label label-info">Info</span> +
+ Inverse + + <span class="label label-inverse">Inverse</span> +
+
- -
- + +
+ -

About

-

Badges are small, simple components for displaying an indicator or count of some sort. They're commonly found in email clients like Mail.app or on mobile apps for push notifications.

+

About

+

Badges are small, simple components for displaying an indicator or count of some sort. They're commonly found in email clients like Mail.app or on mobile apps for push notifications.

-

Available classes

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameExampleMarkup
- Default - - 1 - - <span class="badge">1</span> -
- Success - - 2 - - <span class="badge badge-success">2</span> -
- Warning - - 4 - - <span class="badge badge-warning">4</span> -
- Important - - 6 - - <span class="badge badge-important">6</span> -
- Info - - 8 - - <span class="badge badge-info">8</span> -
- Inverse - - 10 - - <span class="badge badge-inverse">10</span> -
+

Available classes

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameExampleMarkup
+ Default + + 1 + + <span class="badge">1</span> +
+ Success + + 2 + + <span class="badge badge-success">2</span> +
+ Warning + + 4 + + <span class="badge badge-warning">4</span> +
+ Important + + 6 + + <span class="badge badge-important">6</span> +
+ Info + + 8 + + <span class="badge badge-info">8</span> +
+ Inverse + + 10 + + <span class="badge badge-inverse">10</span> +
-
+
- -
- + +
+ -

Hero unit

-

A lightweight, flexible component called a hero unit to showcase content on your site. It works well on marketing and content-heavy sites.

-
-
-

Hello, world!

-

This is a simple hero unit, a simple jumbotron-style component for calling extra attention to featured content or information.

-

Learn more

-
-
+

Hero unit

+

A lightweight, flexible component called a hero unit to showcase content on your site. It works well on marketing and content-heavy sites.

+
+
+

Hello, world!

+

This is a simple hero unit, a simple jumbotron-style component for calling extra attention to featured content or information.

+

Learn more

+
+
 <div class="hero-unit">
   <h1>Heading</h1>
@@ -1706,105 +1680,105 @@
 </div>
 
-

Page header

-

A simple shell for an h1 to appropriately 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).

-
- -
+

Page header

+

A simple shell for an h1 to appropriately 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-header">
   <h1>Example page header</h1>
 </div>
 
-
+
- -
- + +
+ -

Default thumbnails

-

By default, Bootstrap's thumbnails are designed to showcase linked images with minimal required markup.

-
- -
+

Default thumbnails

+

By default, Bootstrap's thumbnails are designed to showcase linked images with minimal required markup.

+
+ +
-

Highly customizable

-

With a bit of extra markup, it's possible to add any kind of HTML content like headings, paragraphs, or buttons into thumbnails.

-
-
    -
  • -
    - -
    -

    Thumbnail label

    -

    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.

    -

    Action Action

    -
    -
    -
  • -
  • -
    - -
    -

    Thumbnail label

    -

    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.

    -

    Action Action

    -
    -
    -
  • -
  • -
    - -
    -

    Thumbnail label

    -

    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.

    -

    Action Action

    -
    -
    -
  • -
-
+

Highly customizable

+

With a bit of extra markup, it's possible to add any kind of HTML content like headings, paragraphs, or buttons into thumbnails.

+
+
    +
  • +
    + +
    +

    Thumbnail label

    +

    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.

    +

    Action Action

    +
    +
    +
  • +
  • +
    + +
    +

    Thumbnail label

    +

    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.

    +

    Action Action

    +
    +
    +
  • +
  • +
    + +
    +

    Thumbnail label

    +

    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.

    +

    Action Action

    +
    +
    +
  • +
+
-

Why use thumbnails

-

Thumbnails (previously .media-grid up until v1.4) are great for grids of photos or videos, image search results, retail products, portfolios, and much more. They can be links or static content.

+

Why use thumbnails

+

Thumbnails (previously .media-grid up until v1.4) are great for grids of photos or videos, image search results, retail products, portfolios, and much more. They can be links or static content.

-

Simple, flexible markup

-

Thumbnail markup is simple—a ul with any number of li elements is all that is required. It's also super flexible, allowing for any type of content with just a bit more markup to wrap your contents.

+

Simple, flexible markup

+

Thumbnail markup is simple—a ul with any number of li elements is all that is required. It's also super flexible, allowing for any type of content with just a bit more markup to wrap your contents.

-

Uses grid column sizes

-

Lastly, the thumbnails component uses existing grid system classes—like .span2 or .span3—for control of thumbnail dimensions.

+

Uses grid column sizes

+

Lastly, the thumbnails component uses existing grid system classes—like .span2 or .span3—for control of thumbnail dimensions.

-

The markup

-

As mentioned previously, the required markup for thumbnails is light and straightforward. Here's a look at the default setup for linked images:

+

The markup

+

As mentioned previously, the required markup for thumbnails is light and straightforward. Here's a look at the default setup for linked images:

 <ul class="thumbnails">
   <li class="span4">
@@ -1815,7 +1789,7 @@
   ...
 </ul>
 
-

For custom HTML content in thumbnails, the markup changes slightly. To allow block level content anywhere, we swap the <a> for a <div> like so:

+

For custom HTML content in thumbnails, the markup changes slightly. To allow block level content anywhere, we swap the <a> for a <div> like so:

 <ul class="thumbnails">
   <li class="span4">
@@ -1829,65 +1803,65 @@
 </ul>
 
-

More examples

-

Explore all your options with the various grid classes available to you. You can also mix and match different sizes.

- +

More examples

+

Explore all your options with the various grid classes available to you. You can also mix and match different sizes.

+ -
+
- -
- + +
+ -

Default alert

-

Wrap any text and an optional dismiss button in .alert for a basic warning alert message.

-
-
- - Warning! Best check yo self, you're not looking too good. -
-
+

Default alert

+

Wrap any text and an optional dismiss button in .alert for a basic warning alert message.

+
+
+ + Warning! Best check yo self, you're not looking too good. +
+
 <div class="alert">
   <button type="button" class="close" data-dismiss="alert">×</button>
@@ -1895,32 +1869,32 @@
 </div>
 
-

Dismiss buttons

-

Mobile Safari and Mobile Opera browsers, in addition to the data-dismiss="alert" attribute, require an href="#" for the dismissal of alerts when using an <a> tag.

+

Dismiss buttons

+

Mobile Safari and Mobile Opera browsers, in addition to the data-dismiss="alert" attribute, require an href="#" for the dismissal of alerts when using an <a> tag.

 <a href="#" class="close" data-dismiss="alert">×</button>
 
-

Alternatively, you may use a <button> element with the data attribute, which we have opted to do for our docs. When using <button>, you must include type="button" or your forms may not submit.

+

Alternatively, you may use a <button> element with the data attribute, which we have opted to do for our docs. When using <button>, you must include type="button" or your forms may not submit.

 <button type="button" class="close" data-dismiss="alert">×</button>
 
-

Dismiss alerts via javascript

-

Use the alerts jQuery plugin for quick and easy dismissal of alerts.

+

Dismiss alerts via javascript

+

Use the alerts jQuery plugin for quick and easy dismissal of alerts.

-
+
-

Options

-

For longer messages, increase the padding on the top and bottom of the alert wrapper by adding .alert-block.

-
-
- -

Warning!

-

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.

-
-
+

Options

+

For longer messages, increase the padding on the top and bottom of the alert wrapper by adding .alert-block.

+
+
+ +

Warning!

+

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" data-dismiss="alert" href="#">&times;</a>
@@ -1930,97 +1904,97 @@
 
-
+
-

Contextual alternatives

-

Add optional classes to change an alert's connotation.

+

Contextual alternatives

+

Add optional classes to change an alert's connotation.

-

Error or danger

-
-
- - Oh snap! Change a few things up and try submitting again. -
-
+

Error or danger

+
+
+ + Oh snap! Change a few things up and try submitting again. +
+
 <div class="alert alert-error">
   ...
 </div>
 
-

Success

-
-
- - Well done! You successfully read this important alert message. -
-
+

Success

+
+
+ + Well done! You successfully read this important alert message. +
+
 <div class="alert alert-success">
   ...
 </div>
 
-

Information

-
-
- - Heads up! This alert needs your attention, but it's not super important. -
-
+

Information

+
+
+ + Heads up! This alert needs your attention, but it's not super important. +
+
 <div class="alert alert-info">
   ...
 </div>
 
-
+
- -
- + +
+ -

Examples and markup

+

Examples and markup

-

Basic

-

Default progress bar with a vertical gradient.

-
-
-
-
-
+

Basic

+

Default progress bar with a vertical gradient.

+
+
+
+
+
 <div class="progress">
   <div class="bar" style="width: 60%;"></div>
 </div>
 
-

Striped

-

Uses a gradient to create a striped effect. Not available in IE7-8.

-
-
-
-
-
+

Striped

+

Uses a gradient to create a striped effect. Not available in IE7-8.

+
+
+
+
+
 <div class="progress progress-striped">
   <div class="bar" style="width: 20%;"></div>
 </div>
 
-

Animated

-

Add .active to .progress-striped to animate the stripes right to left. Not available in all versions of IE.

-
-
-
-
-
+

Animated

+

Add .active to .progress-striped to animate the stripes right to left. Not available in all versions of IE.

+
+
+
+
+
 <div class="progress progress-striped active">
   <div class="bar" style="width: 40%;"></div>
@@ -2028,27 +2002,27 @@
 
-
+
-

Options

+

Options

-

Additional colors

-

Progress bars use some of the same button and alert classes for consistent styles.

-
-
-
-
-
-
-
-
-
-
-
-
-
-
+

Additional colors

+

Progress bars use some of the same button and alert classes for consistent styles.

+
+
+
+
+
+
+
+
+
+
+
+
+
+
 <div class="progress progress-info">
   <div class="bar" style="width: 20%"></div>
@@ -2064,22 +2038,22 @@
 </div>
 
-

Striped bars

-

Similar to the solid colors, we have varied striped progress bars.

-
-
-
-
-
-
-
-
-
-
-
-
-
-
+

Striped bars

+

Similar to the solid colors, we have varied striped progress bars.

+
+
+
+
+
+
+
+
+
+
+
+
+
+
 <div class="progress progress-info progress-striped">
   <div class="bar" style="width: 20%"></div>
@@ -2096,74 +2070,74 @@
 
-
+
-

Browser support

-

Progress bars use CSS3 gradients, transitions, and animations to achieve all their effects. These features are not supported in IE7-9 or older versions of Firefox.

-

Opera and IE do not support animations at this time.

+

Browser support

+

Progress bars use CSS3 gradients, transitions, and animations to achieve all their effects. These features are not supported in IE7-9 or older versions of Firefox.

+

Opera and IE do not support animations at this time.

-
+
- -
- + +
+ -

Wells

-

Use the well as a simple effect on an element to give it an inset effect.

-
-
- Look, I'm in a well! -
-
+

Wells

+

Use the well as a simple effect on an element to give it an inset effect.

+
+
+ Look, I'm in a well! +
+
 <div class="well">
   ...
 </div>
 
-

Optional classes

-

Control padding and rounded corners with two optional modifier classes.

-
-
- Look, I'm in a well! -
-
+

Optional classes

+

Control padding and rounded corners with two optional modifier classes.

+
+
+ Look, I'm in a well! +
+
 <div class="well well-large">
   ...
 </div>
 
-
-
- Look, I'm in a well! -
-
+
+
+ Look, I'm in a well! +
+
 <div class="well well-small">
   ...
 </div>
 
-

Close icon

-

Use the generic close icon for dismissing content like modals and alerts.

-
-

-
+

Close icon

+

Use the generic close icon for dismissing content like modals and alerts.

+
+

+
<button class="close">&times;</button>

iOS devices require an href="#" for click events if you rather use an anchor.

<a class="close" href="#">&times;</a>
-

Helper classes

-

Simple, focused classes for small display or behavior tweaks.

+

Helper classes

+

Simple, focused classes for small display or behavior tweaks.

-

.pull-left

-

Float an element left

+

.pull-left

+

Float an element left

 class="pull-left"
 
@@ -2173,8 +2147,8 @@ class="pull-left" } -

.pull-right

-

Float an element right

+

.pull-right

+

Float an element right

 class="pull-right"
 
@@ -2184,8 +2158,8 @@ class="pull-right" } -

.muted

-

Change an element's color to #999

+

.muted

+

Change an element's color to #999

 class="muted"
 
@@ -2195,8 +2169,8 @@ class="muted" } -

.clearfix

-

Clear the float on any element

+

.clearfix

+

Clear the float on any element

 class="clearfix"
 
@@ -2214,7 +2188,9 @@ class="clearfix" } -
+
+ + diff --git a/docs/extend.html b/docs/extend.html index ccd5122602..967c377430 100644 --- a/docs/extend.html +++ b/docs/extend.html @@ -68,96 +68,109 @@
-

Extending Bootstrap

-

Extend Bootstrap with LESS, a CSS preprocessor, to take advantage of the variables, mixins, and more used to build Bootstrap's CSS.

- +

Extend Bootstrap to take advantage of included styles and components, as well as LESS variables and mixins.

- -
-
+
- -
- -
- Note: If you're submitting a pull request to GitHub with modified CSS, you must recompile the CSS via any of these methods. -
+ +
+ -

Tools for compiling

+

Why LESS?

+

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.

-

Node with makefile

-

Install the LESS command line compiler, JSHint, Recess, and uglify-js globally with npm by running the following command:

-
$ npm install -g less jshint recess uglify-js
-

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).

+

What's included?

+

As an extension of CSS, LESS includes variables, mixins for reusable snippets of code, operations for simple math, nesting, and even color functions.

-

Command line

-

Install the LESS command line tool via Node and run the following command:

-
$ lessc ./less/bootstrap.less > bootstrap.css
-

Be sure to include --compress in that command if you're trying to save some bytes!

+

Learn more

+ LESS CSS +

Visit the official website at http://lesscss.org to learn more.

+
-

Javascript

-

Download the latest Less.js and include the path to it (and Bootstrap) in the <head>.

+ + + +
+ +
+ Note: If you're submitting a pull request to GitHub with modified CSS, you must recompile the CSS via any of these methods. +
+ +

Tools for compiling

+ +

Node with makefile

+

Install the LESS command line compiler, JSHint, Recess, and uglify-js globally with npm by running the following command:

+
$ npm install -g less jshint recess uglify-js
+

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).

+ +

Command line

+

Install the LESS command line tool via Node and run the following command:

+
$ lessc ./less/bootstrap.less > bootstrap.css
+

Be sure to include --compress in that command if you're trying to save some bytes!

+ +

Javascript

+

Download the latest Less.js and include the path to it (and Bootstrap) in the <head>.

 <link rel="stylesheet/less" href="/path/to/bootstrap.less">
 <script src="/path/to/less.js"></script>
 
-

To recompile the .less files, just save them and reload your page. Less.js compiles them and stores them in local storage.

+

To recompile the .less files, just save them and reload your page. Less.js compiles them and stores them in local storage.

-

Unofficial Mac app

-

The unofficial Mac app watches directories of .less files and compiles the code to local files after every save of a watched .less file.

-

If you like, you can toggle preferences in the app for automatic minifying and which directory the compiled files end up in.

+

Unofficial Mac app

+

The unofficial Mac app watches directories of .less files and compiles the code to local files after every save of a watched .less file.

+

If you like, you can toggle preferences in the app for automatic minifying and which directory the compiled files end up in.

-

More Mac apps

-

Crunch

-

Crunch is a great looking LESS editor and compiler built on Adobe Air.

-

CodeKit

-

Created by the same guy as the unofficial Mac app, CodeKit is a Mac app that compiles LESS, SASS, Stylus, and CoffeeScript.

-

Simpless

-

Mac, Linux, and PC app for drag and drop compiling of LESS files. Plus, the source code is on GitHub.

+

More Mac apps

+

Crunch

+

Crunch is a great looking LESS editor and compiler built on Adobe Air.

+

CodeKit

+

Created by the same guy as the unofficial Mac app, CodeKit is a Mac app that compiles LESS, SASS, Stylus, and CoffeeScript.

+

Simpless

+

Mac, Linux, and PC app for drag and drop compiling of LESS files. Plus, the source code is on GitHub.

-
+
+ + + + +
+ +

...

+
+ + + +
+

Javascript for Bootstrap

Bring Bootstrap's components to life—now with 12 custom jQuery plugins. -

+ +
-
-

@fat

-

Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.

-

@mdo

-

Veniam marfa mustache skateboard, adipisicing fugiat velit pitchfork beard. Freegan beard aliqua cupidatat mcsweeney's vero. Cupidatat four loko nisi, ea helvetica nulla carles. Tattooed cosby sweater food truck, mcsweeney's quis non freegan vinyl. Lo-fi wes anderson +1 sartorial. Carles non aesthetic exercitation quis gentrify. Brooklyn adipisicing craft beer vice keytar deserunt.

-

one

-

Occaecat commodo aliqua delectus. Fap craft beer deserunt skateboard ea. Lomo bicycle rights adipisicing banh mi, velit ea sunt next level locavore single-origin coffee in magna veniam. High life id vinyl, echo park consequat quis aliquip banh mi pitchfork. Vero VHS est adipisicing. Consectetur nisi DIY minim messenger bag. Cred ex in, sustainable delectus consectetur fanny pack iphone.

-

two

-

In incididunt echo park, officia deserunt mcsweeney's proident master cleanse thundercats sapiente veniam. Excepteur VHS elit, proident shoreditch +1 biodiesel laborum craft beer. Single-origin coffee wayfarers irure four loko, cupidatat terry richardson master cleanse. Assumenda you probably haven't heard of them art party fanny pack, tattooed nulla cardigan tempor ad. Proident wolf nesciunt sartorial keffiyeh eu banh mi sustainable. Elit wolf voluptate, lo-fi ea portland before they sold out four loko. Locavore enim nostrud mlkshk brooklyn nesciunt.

-

three

-

Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.

-

Keytar twee blog, culpa messenger bag marfa whatever delectus food truck. Sapiente synth id assumenda. Locavore sed helvetica cliche irony, thundercats you probably haven't heard of them consequat hoodie gluten-free lo-fi fap aliquip. Labore elit placeat before they sold out, terry richardson proident brunch nesciunt quis cosby sweater pariatur keffiyeh ut helvetica artisan. Cardigan craft beer seitan readymade velit. VHS chambray laboris tempor veniam. Anim mollit minim commodo ullamco thundercats. -

-
-
-
+
-

Usage

+

Usage

-

Via data attributes

-

To easily add scrollspy behavior to your topbar navigation, just add data-spy="scroll" to the element you want to spy on (most typically this would be the body) and data-target=".navbar" to select which nav to use.

-
<body data-spy="scroll" data-target=".navbar">...</body>
+

Via data attributes

+

To easily add scrollspy behavior to your topbar navigation, just add data-spy="scroll" to the element you want to spy on (most typically this would be the body) and data-target=".navbar" to select which nav to use.

+
<body data-spy="scroll" data-target=".navbar">...</body>
-

Via javascript

-

Call the scrollspy via javascript:

-
$('#navbar').scrollspy()
+

Via javascript

+

Call the scrollspy via javascript:

+
$('#navbar').scrollspy()
-
- Heads up! - Navbar links must have resolvable id targets. For example, a <a href="#home">home</a> must correspond to something in the dom like <div id="home"></div>. -
+
+ Heads up! + Navbar links must have resolvable id targets. For example, a <a href="#home">home</a> must correspond to something in the dom like <div id="home"></div>. +
-

Methods

-

.scrollspy('refresh')

-

When using scrollspy in conjunction with adding or removing of elements from the DOM, you'll need to call the refresh method like so:

+

Methods

+

.scrollspy('refresh')

+

When using scrollspy in conjunction with adding or removing of elements from the DOM, you'll need to call the refresh method like so:

 $('[data-spy="scroll"]').each(function () {
   var $spy = $(this).scrollspy('refresh')
 });
 
-

Options

-

Options can be passed via data attributes or javascript. For data attributes, append the option name to data-, as in data-offset="".

- - - - - - - - - - - - - - - - - -
Nametypedefaultdescription
offsetnumber10Pixels to offset from top when calculating position of scroll.
+

Options

+

Options can be passed via data attributes or javascript. For data attributes, append the option name to data-, as in data-offset="".

+ + + + + + + + + + + + + + + + + +
Nametypedefaultdescription
offsetnumber10Pixels to offset from top when calculating position of scroll.
-

Events

- - - - - - - - - - - - - -
EventDescription
activateThis event fires whenever a new item becomes activated by the scrollspy.
- +

Events

+ + + + + + + + + + + + + +
EventDescription
activateThis event fires whenever a new item becomes activated by the scrollspy.
+ - -
- + +
+ -

Example tabs

-

Add quick, dynamic tab functionality to transiton through panes of local content, even via dropdown menus.

-
-
-
+
-

Usage

-

Enable tabbable tabs via javascript (each tab needs to be activated individually):

+

Usage

+

Enable tabbable tabs via javascript (each tab needs to be activated individually):

 $('#myTab a').click(function (e) {
   e.preventDefault();
@@ -678,8 +661,8 @@ $('#myTab a:last').tab('show'); // Select last tab
 $('#myTab li:eq(2) a').tab('show'); // Select third tab (0-indexed)
 
-

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. Adding the nav and nav-tabs classes to the tab ul will apply the bootstrap tab styling.

+

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. Adding the nav and nav-tabs classes to the tab ul will apply the bootstrap tab styling.

 <ul class="nav nav-tabs">
   <li><a href="#home" data-toggle="tab">Home</a></li>
@@ -688,11 +671,11 @@ $('#myTab li:eq(2) a').tab('show'); // Select third tab (0-indexed)
   <li><a href="#settings" data-toggle="tab">Settings</a></li>
 </ul>
-

Methods

-

$().tab

-

- Activates a tab element and content container. Tab should have either a data-target or an href targeting a container node in the DOM. -

+

Methods

+

$().tab

+

+ 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="nav nav-tabs" id="myTab">
   <li class="active"><a href="#home">Home</a></li>
@@ -714,418 +697,427 @@ $('#myTab li:eq(2) a').tab('show'); // Select third tab (0-indexed)
   })
 </script>
-

Events

- - - - - - - - - - - - - - - - - -
EventDescription
showThis event fires on tab show, but before the new tab has been shown. Use event.target and event.relatedTarget to target the active tab and the previous active tab (if available) respectively.
shownThis event fires on tab show after a tab has been shown. Use event.target and event.relatedTarget to target the active tab and the previous active tab (if available) respectively.
+

Events

+ + + + + + + + + + + + + + + + + +
EventDescription
showThis event fires on tab show, but before the new tab has been shown. Use event.target and event.relatedTarget to target the active tab and the previous active tab (if available) respectively.
shownThis event fires on tab show after a tab has been shown. Use event.target and event.relatedTarget to target the active tab and the previous active tab (if available) respectively.
 $('a[data-toggle="tab"]').on('shown', function (e) {
   e.target // activated tab
   e.relatedTarget // previous tab
 })
-
+
- -
- - - -

Examples

-

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.

-

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. -

-
- - -
- - -

Usage

-

Trigger the tooltip via javascript:

-
$('#example').tooltip(options)
- -

Options

-

Options can be passed via data attributes or javascript. For data attributes, append the option name to data-, as in data-animation="".

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Nametypedefaultdescription
animationbooleantrueapply a css fade transition to the tooltip
htmlbooleantrueInsert html into the tooltip. If false, jquery's text method will be used to insert content into the dom. Use text if you're worried about XSS attacks.
placementstring|function'top'how to position the tooltip - top | bottom | left | right
selectorstringfalseIf a selector is provided, tooltip objects will be delegated to the specified targets.
titlestring | function''default title value if `title` tag isn't present
triggerstring'hover'how tooltip is triggered - hover | focus | manual
delaynumber | object0 -

delay showing and hiding the tooltip (ms) - does not apply to manual trigger type

-

If a number is supplied, delay is applied to both hide/show

-

Object structure is: delay: { show: 500, hide: 100 }

-
-
- Heads up! - Options for individual tooltips can alternatively be specified through the use of data attributes. -
- -

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.

-

.tooltip('show')

-

Reveals an element's tooltip.

-
$('#element').tooltip('show')
-

.tooltip('hide')

-

Hides an element's tooltip.

-
$('#element').tooltip('hide')
-

.tooltip('toggle')

-

Toggles an element's tooltip.

-
$('#element').tooltip('toggle')
-

.tooltip('destroy')

-

Destroys an element's tooltip.

-
$('#element').tooltip('destroy')
-
- - - - -
- - -

Examples

-

Add small overlays of content, like those on the iPad, to any element for housing secondary information. Hover over the button to trigger the popover.

-

* Requires Tooltip to be included

- -

Static popover

-

Four options are available: top, right, bottom, and left aligned.

-
-
-
-

Popover top

-
-

Sed posuere consectetur est at lobortis. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum.

+ +
+ -
-
-
-

Popover right

-
-

Sed posuere consectetur est at lobortis. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum.

+ +

Examples

+

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.

+

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. +

-
-
-
-

Popover bottom

-
-

Sed posuere consectetur est at lobortis. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum.

+

Four directions

+ -
-
-
-

Popover left

-
-

Sed posuere consectetur est at lobortis. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum.

+ +
+ + +

Usage

+

Trigger the tooltip via javascript:

+
$('#example').tooltip(options)
+ +

Options

+

Options can be passed via data attributes or javascript. For data attributes, append the option name to data-, as in data-animation="".

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Nametypedefaultdescription
animationbooleantrueapply a css fade transition to the tooltip
htmlbooleantrueInsert html into the tooltip. If false, jquery's text method will be used to insert content into the dom. Use text if you're worried about XSS attacks.
placementstring|function'top'how to position the tooltip - top | bottom | left | right
selectorstringfalseIf a selector is provided, tooltip objects will be delegated to the specified targets.
titlestring | function''default title value if `title` tag isn't present
triggerstring'hover'how tooltip is triggered - hover | focus | manual
delaynumber | object0 +

delay showing and hiding the tooltip (ms) - does not apply to manual trigger type

+

If a number is supplied, delay is applied to both hide/show

+

Object structure is: delay: { show: 500, hide: 100 }

+
+
+ Heads up! + Options for individual tooltips can alternatively be specified through the use of data attributes.
-
-
-
-

No markup shown as popovers are generated from javascript and content within a data attribute.

+

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>
+    
-

Live demo

- - - -
- - -

Usage

-

Enable popovers via javascript:

-
$('#example').popover(options)
- -

Options

-

Options can be passed via data attributes or javascript. For data attributes, append the option name to data-, as in data-animation="".

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Nametypedefaultdescription
animationbooleantrueapply a css fade transition to the tooltip
htmlbooleantrueInsert html into the popover. If false, jquery's text method will be used to insert content into the dom. Use text if you're worried about XSS attacks.
placementstring|function'right'how to position the popover - top | bottom | left | right
selectorstringfalseif a selector is provided, tooltip objects will be delegated to the specified targets
triggerstring'hover'how popover is triggered - hover | focus | manual
titlestring | function''default title value if `title` attribute isn't present
contentstring | function''default content value if `data-content` attribute isn't present
delaynumber | object0 -

delay showing and hiding the popover (ms) - does not apply to manual trigger type

-

If a number is supplied, delay is applied to both hide/show

-

Object structure is: delay: { show: 500, hide: 100 }

-
-
- Heads up! - Options for individual popovers can alternatively be specified through the use of data attributes. -
- -

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.

- -

Methods

-

$().popover(options)

-

Initializes popovers for an element collection.

-

.popover('show')

-

Reveals an elements popover.

-
$('#element').popover('show')
-

.popover('hide')

-

Hides an elements popover.

-
$('#element').popover('hide')
-

.popover('toggle')

-

Toggles an elements popover.

-
$('#element').popover('toggle')
-

.popover('destroy')

-

Destroys an element's popover.

-
$('#element').popover('destroy')
-
+

Methods

+

$().tooltip(options)

+

Attaches a tooltip handler to an element collection.

+

.tooltip('show')

+

Reveals an element's tooltip.

+
$('#element').tooltip('show')
+

.tooltip('hide')

+

Hides an element's tooltip.

+
$('#element').tooltip('hide')
+

.tooltip('toggle')

+

Toggles an element's tooltip.

+
$('#element').tooltip('toggle')
+

.tooltip('destroy')

+

Destroys an element's tooltip.

+
$('#element').tooltip('destroy')
+ - -
- + +
+ + +

Examples

+

Add small overlays of content, like those on the iPad, to any element for housing secondary information. Hover over the button to trigger the popover. Requires Tooltip to be included.

+ +

Static popover

+

Four options are available: top, right, bottom, and left aligned.

+
+
+
+

Popover top

+
+

Sed posuere consectetur est at lobortis. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum.

+
+
+ +
+
+

Popover right

+
+

Sed posuere consectetur est at lobortis. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum.

+
+
+ +
+
+

Popover bottom

+
+

Sed posuere consectetur est at lobortis. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum.

+
+
+ +
+
+

Popover left

+
+

Sed posuere consectetur est at lobortis. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum.

+
+
+ +
+
+

No markup shown as popovers are generated from javascript and content within a data attribute.

+ +

Live demo

+ -

Example alerts

-

Add dismiss functionality to all alerge messages with this plugin.

-
-
- - Holy guacamole! Best check yo self, you're not looking too good. -
-
- -
-
- -

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.

-

- Take this action Or do this -

-
-
+
-
+

Usage

+

Enable popovers via javascript:

+
$('#example').popover(options)
+ +

Options

+

Options can be passed via data attributes or javascript. For data attributes, append the option name to data-, as in data-animation="".

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Nametypedefaultdescription
animationbooleantrueapply a css fade transition to the tooltip
htmlbooleantrueInsert html into the popover. If false, jquery's text method will be used to insert content into the dom. Use text if you're worried about XSS attacks.
placementstring|function'right'how to position the popover - top | bottom | left | right
selectorstringfalseif a selector is provided, tooltip objects will be delegated to the specified targets
triggerstring'hover'how popover is triggered - hover | focus | manual
titlestring | function''default title value if `title` attribute isn't present
contentstring | function''default content value if `data-content` attribute isn't present
delaynumber | object0 +

delay showing and hiding the popover (ms) - does not apply to manual trigger type

+

If a number is supplied, delay is applied to both hide/show

+

Object structure is: delay: { show: 500, hide: 100 }

+
+
+ Heads up! + Options for individual popovers can alternatively be specified through the use of data attributes. +
+ +

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.

+ +

Methods

+

$().popover(options)

+

Initializes popovers for an element collection.

+

.popover('show')

+

Reveals an elements popover.

+
$('#element').popover('show')
+

.popover('hide')

+

Hides an elements popover.

+
$('#element').popover('hide')
+

.popover('toggle')

+

Toggles an elements popover.

+
$('#element').popover('toggle')
+

.popover('destroy')

+

Destroys an element's popover.

+
$('#element').popover('destroy')
+
-

Usage

-

Enable dismissal of an alert via javascript:

-
$(".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="#">&times;</a>
- -

Methods

-

$().alert()

-

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").alert('close')
+ +
+ -

Events

-

Bootstrap's alert class exposes a few events for hooking into alert functionality.

- - - - - - - - - - - - - - - - - -
EventDescription
closeThis event fires immediately when the close instance method is called.
closedThis event is fired when the alert has been closed (will wait for css transitions to complete).
+

Example alerts

+

Add dismiss functionality to all alerge messages with this plugin.

+
+
+ + Holy guacamole! Best check yo self, you're not looking too good. +
+
+ +
+
+ +

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.

+

+ Take this action Or do this +

+
+
+ + +
+ + +

Usage

+

Enable dismissal of an alert via javascript:

+
$(".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="#">&times;</a>
+ +

Methods

+

$().alert()

+

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").alert('close')
+ + +

Events

+

Bootstrap's alert class exposes a few events for hooking into alert functionality.

+ + + + + + + + + + + + + + + + + +
EventDescription
closeThis event fires immediately when the close instance method is called.
closedThis event is fired when the alert has been closed (will wait for css transitions to complete).
 $('#my-alert').bind('closed', function () {
   // do something…
 })
-
+
- -
- + +
+ -

Example uses

-

Do more with buttons. Control button states or create groups of buttons for more components like toolbars.

+

Example uses

+

Do more with buttons. Control button states or create groups of buttons for more components like toolbars.

-

Stateful

-

Add data-loading-text="Loading..." to use a loading state on a button.

-
- -
+

Stateful

+

Add data-loading-text="Loading..." to use a loading state on a button.

+
+ +
 <button type="button" class="btn btn-primary" data-loading-text="Loading...">Loading state</button>
 
-

Single toggle

-

Add data-toggle="button" to activate toggling on a single button.

-
- -
+

Single toggle

+

Add data-toggle="button" to activate toggling on a single button.

+
+ +
 <button type="button" class="btn" data-toggle="button">Single Toggle</button>
 
-

Checkbox

-

Add data-toggle="buttons-checkbox" for checkbox style toggling on btn-group.

-
-
- - - -
-
+

Checkbox

+

Add data-toggle="buttons-checkbox" for checkbox style toggling on btn-group.

+
+
+ + + +
+
 <div class="btn-group" data-toggle="buttons-checkbox">
   <button type="button" class="btn">Left</button>
@@ -1134,15 +1126,15 @@ $('#my-alert').bind('closed', function () {
 </div>
 
-

Radio

-

Add data-toggle="buttons-radio" for radio style toggling on btn-group.

-
-
- - - -
-
+

Radio

+

Add data-toggle="buttons-radio" for radio style toggling on btn-group.

+
+
+ + + +
+
 <div class="btn-group" data-toggle="buttons-radio">
   <button type="button" class="btn">Left</button>
@@ -1152,101 +1144,101 @@ $('#my-alert').bind('closed', function () {
 
-
+
-

Usage

-

Enable buttons via javascript:

-
$('.nav-tabs').button()
+

Usage

+

Enable buttons via javascript:

+
$('.nav-tabs').button()
-

Markup

-

Data attributes are integral to the button plugin. Check out the example code below for the various markup types.

+

Markup

+

Data attributes are integral to the button plugin. Check out the example code below for the various markup types.

-

Options

-

None

+

Options

+

None

-

Methods

-

$().button('toggle')

-

Toggles push state. Gives the button the appearance that it has been activated.

-
- Heads up! - You can enable auto toggling of a button by using the data-toggle attribute. -
-
<button type="button" class="btn" data-toggle="button" >…</button>
-

$().button('loading')

-

Sets button state to loading - disables button and swaps text to loading text. Loading text should be defined on the button element using the data attribute data-loading-text. -

-
<button type="button" class="btn" data-loading-text="loading stuff..." >...</button>
-
- Heads up! - Firefox persists the disabled state across page loads. A workaround for this is to use autocomplete="off". -
-

$().button('reset')

-

Resets button state - swaps text to original text.

-

$().button(string)

-

Resets button state - swaps text to any data defined text state.

+

Methods

+

$().button('toggle')

+

Toggles push state. Gives the button the appearance that it has been activated.

+
+ Heads up! + You can enable auto toggling of a button by using the data-toggle attribute. +
+
<button type="button" class="btn" data-toggle="button" >…</button>
+

$().button('loading')

+

Sets button state to loading - disables button and swaps text to loading text. Loading text should be defined on the button element using the data attribute data-loading-text. +

+
<button type="button" class="btn" data-loading-text="loading stuff..." >...</button>
+
+ Heads up! + Firefox persists the disabled state across page loads. A workaround for this is to use autocomplete="off". +
+

$().button('reset')

+

Resets button state - swaps text to original text.

+

$().button(string)

+

Resets button state - swaps text to any data defined text state.

<button type="button" class="btn" data-complete-text="finished!" >...</button>
 <script>
   $('.btn').button('complete')
 </script>
-
+
- -
- + +
+ -

About

-

Get base styles and flexible support for collapsible components like accordions and navigation.

-

* Requires the Transitions plugin to be included.

+

About

+

Get base styles and flexible support for collapsible components like accordions and navigation.

+

* Requires the Transitions plugin to be included.

-

Example accordion

-

Using the collapse plugin, we built a simple accordion style widget:

+

Example accordion

+

Using the collapse plugin, we built a simple accordion style widget:

-
-
-
- -
-
- Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS. +
+
+
+ +
+
+ Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS. +
+
+
+
+ +
+
+ Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS. +
+
+
+
+ +
+
+ Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS. +
+
-
- -
-
- Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS. -
-
-
-
- -
-
- Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS. -
-
-
-
-
 <button type="button" class="btn btn-danger" data-toggle="collapse" data-target="#demo">
   simple collapsible
@@ -1256,137 +1248,137 @@ $('#my-alert').bind('closed', function () {
 
-
+
-

Usage

+

Usage

-

Via data attributes

-

Just add data-toggle="collapse" and a data-target to element to automatically assign control of a collapsible element. The data-target attribute accepts a css selector to apply the collapse to. Be sure to add the class collapse to the collapsible element. If you'd like it to default open, add the additional class in.

-

To add accordion-like group management to a collapsible control, add the data attribute data-parent="#selector". Refer to the demo to see this in action.

+

Via data attributes

+

Just add data-toggle="collapse" and a data-target to element to automatically assign control of a collapsible element. The data-target attribute accepts a css selector to apply the collapse to. Be sure to add the class collapse to the collapsible element. If you'd like it to default open, add the additional class in.

+

To add accordion-like group management to a collapsible control, add the data attribute data-parent="#selector". Refer to the demo to see this in action.

-

Via javascript

-

Enable manually with:

-
$(".collapse").collapse()
+

Via javascript

+

Enable manually with:

+
$(".collapse").collapse()
-

Options

-

Options can be passed via data attributes or javascript. For data attributes, append the option name to data-, as in data-parent="".

- - - - - - - - - - - - - - - - - - - - - - - -
Nametypedefaultdescription
parentselectorfalseIf selector then all collapsible elements under the specified parent will be closed when this collapsible item is shown. (similar to traditional accordion behavior)
togglebooleantrueToggles the collapsible element on invocation
+

Options

+

Options can be passed via data attributes or javascript. For data attributes, append the option name to data-, as in data-parent="".

+ + + + + + + + + + + + + + + + + + + + + + + +
Nametypedefaultdescription
parentselectorfalseIf selector then all collapsible elements under the specified parent will be closed when this collapsible item is shown. (similar to traditional accordion behavior)
togglebooleantrueToggles the collapsible element on invocation
-

Methods

-

.collapse(options)

-

Activates your content as a collapsible element. Accepts an optional options object. +

Methods

+

.collapse(options)

+

Activates your content as a collapsible element. Accepts an optional options object.

 $('#myCollapsible').collapse({
   toggle: false
 })
-

.collapse('toggle')

-

Toggles a collapsible element to shown or hidden.

-

.collapse('show')

-

Shows a collapsible element.

-

.collapse('hide')

-

Hides a collapsible element.

+

.collapse('toggle')

+

Toggles a collapsible element to shown or hidden.

+

.collapse('show')

+

Shows a collapsible element.

+

.collapse('hide')

+

Hides a collapsible element.

-

Events

-

Bootstrap's collapse class exposes a few events for hooking into collapse functionality.

- - - - - - - - - - - - - - - - - - - - - - - - - -
EventDescription
showThis event fires immediately when the show instance method is called.
shownThis event is fired when a collapse element has been made visible to the user (will wait for css transitions to complete).
hide - This event is fired immediately when the hide method has been called. -
hiddenThis event is fired when a collapse element has been hidden from the user (will wait for css transitions to complete).
+

Events

+

Bootstrap's collapse class exposes a few events for hooking into collapse functionality.

+ + + + + + + + + + + + + + + + + + + + + + + + + +
EventDescription
showThis event fires immediately when the show instance method is called.
shownThis event is fired when a collapse element has been made visible to the user (will wait for css transitions to complete).
hide + This event is fired immediately when the hide method has been called. +
hiddenThis event is fired when a collapse element has been hidden from the user (will wait for css transitions to complete).
 $('#myCollapsible').on('hidden', function () {
   // do something…
 })
-
+
- - - -
- + +
+ -

Example

-

A basic, easily extended plugin for quickly creating elegant typeaheads with any form text input.

-
- -
+

Example

+

A basic, easily extended plugin for quickly creating elegant typeaheads with any form text input.

+
+ +
 <input type="text" data-provide="typeahead">
 
-
+
-

Usage

+

Usage

-

Via data attributes

-

Add data attributes to register an element with typeahead functionality as shown in the example above.

+

Via data attributes

+

Add data attributes to register an element with typeahead functionality as shown in the example above.

-

Via javascript

-

Call the typeahead manually with:

-
$('.typeahead').typeahead()
+

Via javascript

+

Call the typeahead manually with:

+
$('.typeahead').typeahead()
-

Options

-

Options can be passed via data attributes or javascript. For data attributes, append the option name to data-, as in data-source="".

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Nametypedefaultdescription
sourcearray, function[ ]The data source to query against. May be an array of strings or a function. The function is passed two arguments, the query value in the input field and the process callback. The function may be used synchronously by returning the data source directly or asynchronously via the process callback's single argument.
itemsnumber8The max number of items to display in the dropdown.
matcherfunctioncase insensitiveThe method used to determine if a query matches an item. Accepts a single argument, the item against which to test the query. Access the current query with this.query. Return a boolean true if query is a match.
sorterfunctionexact match,
case sensitive,
case insensitive
Method used to sort autocomplete results. Accepts a single argument items and has the scope of the typeahead instance. Reference the current query with this.query.
highlighterfunctionhighlights all default matchesMethod used to highlight autocomplete results. Accepts a single argument item and has the scope of the typeahead instance. Should return html.
+

Options

+

Options can be passed via data attributes or javascript. For data attributes, append the option name to data-, as in data-source="".

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Nametypedefaultdescription
sourcearray, function[ ]The data source to query against. May be an array of strings or a function. The function is passed two arguments, the query value in the input field and the process callback. The function may be used synchronously by returning the data source directly or asynchronously via the process callback's single argument.
itemsnumber8The max number of items to display in the dropdown.
matcherfunctioncase insensitiveThe method used to determine if a query matches an item. Accepts a single argument, the item against which to test the query. Access the current query with this.query. Return a boolean true if query is a match.
sorterfunctionexact match,
case sensitive,
case insensitive
Method used to sort autocomplete results. Accepts a single argument items and has the scope of the typeahead instance. Reference the current query with this.query.
highlighterfunctionhighlights all default matchesMethod used to highlight autocomplete results. Accepts a single argument item and has the scope of the typeahead instance. Should return html.
-

Methods

-

.typeahead(options)

-

Initializes an input with a typeahead.

-
+

Methods

+

.typeahead(options)

+

Initializes an input with a typeahead.

+
- -
- + +
+ -

...

-

...

-
+

...

+

...

+
-
+
 ...
 
-
+
+ + + - + diff --git a/docs/scaffolding.html b/docs/scaffolding.html index 09ea5664b2..edb7274a8f 100644 --- a/docs/scaffolding.html +++ b/docs/scaffolding.html @@ -68,26 +68,17 @@
-

Scaffolding

Bootstrap is built on a responsive 12-column grid. We've also included fixed- and fluid-width layouts based on that system.

-
+ +
-
+ diff --git a/docs/templates/pages/base-css.mustache b/docs/templates/pages/base-css.mustache index ef68b1f594..21c24657a2 100644 --- a/docs/templates/pages/base-css.mustache +++ b/docs/templates/pages/base-css.mustache @@ -1,23 +1,14 @@ -

{{_i}}Base CSS{{/i}}

{{_i}}On top of the scaffolding, basic HTML elements are styled and enhanced with extensible classes to provide a fresh, consistent look and feel.{{/i}}

-
+ +
 <ul>
   <li>...</li>
 </ul>
 
-

{{_i}}Ordered{{/i}}

-

{{_i}}A list of items in which the order does explicitly matter.{{/i}}

-
-
    -
  1. Lorem ipsum dolor sit amet
  2. -
  3. Consectetur adipiscing elit
  4. -
  5. Integer molestie lorem at massa
  6. -
  7. Facilisis in pretium nisl aliquet
  8. -
  9. Nulla volutpat aliquam velit
  10. -
  11. Faucibus porta lacus fringilla vel
  12. -
  13. Aenean sit amet erat nunc
  14. -
  15. Eget porttitor lorem
  16. -
-
+

{{_i}}Ordered{{/i}}

+

{{_i}}A list of items in which the order does explicitly matter.{{/i}}

+
+
    +
  1. Lorem ipsum dolor sit amet
  2. +
  3. Consectetur adipiscing elit
  4. +
  5. Integer molestie lorem at massa
  6. +
  7. Facilisis in pretium nisl aliquet
  8. +
  9. Nulla volutpat aliquam velit
  10. +
  11. Faucibus porta lacus fringilla vel
  12. +
  13. Aenean sit amet erat nunc
  14. +
  15. Eget porttitor lorem
  16. +
+
 <ol>
   <li>...</li>
 </ol>
 
-

{{_i}}Unstyled{{/i}}

-

{{_i}}A list of items with no list-style or additional left padding.{{/i}}

-
- -
+

{{_i}}Unstyled{{/i}}

+

{{_i}}A list of items with no list-style or additional left padding.{{/i}}

+
+ +
 <ul class="unstyled">
   <li>...</li>
 </ul>
 
-

{{_i}}Description{{/i}}

-

{{_i}}A list of terms with their associated descriptions.{{/i}}

-
-
-
{{_i}}Description lists{{/i}}
-
{{_i}}A description list is perfect for defining terms.{{/i}}
-
Euismod
-
Vestibulum id ligula porta felis euismod semper eget lacinia odio sem nec elit.
-
Donec id elit non mi porta gravida at eget metus.
-
Malesuada porta
-
Etiam porta sem malesuada magna mollis euismod.
-
-
+

{{_i}}Description{{/i}}

+

{{_i}}A list of terms with their associated descriptions.{{/i}}

+
+
+
{{_i}}Description lists{{/i}}
+
{{_i}}A description list is perfect for defining terms.{{/i}}
+
Euismod
+
Vestibulum id ligula porta felis euismod semper eget lacinia odio sem nec elit.
+
Donec id elit non mi porta gravida at eget metus.
+
Malesuada porta
+
Etiam porta sem malesuada magna mollis euismod.
+
+
 <dl>
   <dt>...</dt>
@@ -317,21 +308,21 @@
 </dl>
 
-

{{_i}}Horizontal description{{/i}}

-

{{_i}}Make terms and descriptions in <dl> line up side-by-side.{{/i}}

-
-
-
{{_i}}Description lists{{/i}}
-
{{_i}}A description list is perfect for defining terms.{{/i}}
-
Euismod
-
Vestibulum id ligula porta felis euismod semper eget lacinia odio sem nec elit.
-
Donec id elit non mi porta gravida at eget metus.
-
Malesuada porta
-
Etiam porta sem malesuada magna mollis euismod.
-
Felis euismod semper eget lacinia
-
Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.
-
-
+

{{_i}}Horizontal description{{/i}}

+

{{_i}}Make terms and descriptions in <dl> line up side-by-side.{{/i}}

+
+
+
{{_i}}Description lists{{/i}}
+
{{_i}}A description list is perfect for defining terms.{{/i}}
+
Euismod
+
Vestibulum id ligula porta felis euismod semper eget lacinia odio sem nec elit.
+
Donec id elit non mi porta gravida at eget metus.
+
Malesuada porta
+
Etiam porta sem malesuada magna mollis euismod.
+
Felis euismod semper eget lacinia
+
Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.
+
+
 <dl class="dl-horizontal">
   <dt>...</dt>
@@ -339,28 +330,28 @@
 </dl>
 

- {{_i}}Heads up!{{/i}} - {{_i}}Horizontal description lists will truncate terms that are too long to fit in the left column fix text-overflow. In narrower viewports, they will change to the default stacked layout.{{/i}} -

- + {{_i}}Heads up!{{/i}} + {{_i}}Horizontal description lists will truncate terms that are too long to fit in the left column fix text-overflow. In narrower viewports, they will change to the default stacked layout.{{/i}} +

+ - -
- + +
+ -

Inline

-

Wrap inline snippets of code with <code>.

+

Inline

+

Wrap inline snippets of code with <code>.

 {{_i}}For example, <code>section</code> should be wrapped as inline.{{/i}}
 
-

Basic block

-

{{_i}}Use <pre> for multiple lines of code. Be sure to escape any angle brackets in the code for proper rendering.{{/i}}

+

Basic block

+

{{_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>
 
@@ -369,53 +360,53 @@ &lt;p&gt;{{_i}}Sample text here...{{/i}}&lt;/p&gt; </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}}

-
+

{{_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}}

+
- -
- + +
+ -

{{_i}}Default styles{{/i}}

-

{{_i}}For basic styling—light padding and only horizontal dividers—add the base class .table to any <table>.{{/i}}

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#{{_i}}First Name{{/i}}{{_i}}Last Name{{/i}}{{_i}}Username{{/i}}
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
-
{{! /example }} +

{{_i}}Default styles{{/i}}

+

{{_i}}For basic styling—light padding and only horizontal dividers—add the base class .table to any <table>.{{/i}}

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#{{_i}}First Name{{/i}}{{_i}}Last Name{{/i}}{{_i}}Username{{/i}}
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
+
{{! /example }}
 <table class="table">
   …
@@ -423,168 +414,168 @@
 
-
+
-

{{_i}}Optional classes{{/i}}

-

{{_i}}Add any of the follow classes to the .table base class.{{/i}}

+

{{_i}}Optional classes{{/i}}

+

{{_i}}Add any of the follow classes to the .table base class.{{/i}}

-

{{_i}}.table-striped{{/i}}

-

{{_i}}Adds zebra-striping to any table row within the <tbody> via the :nth-child CSS selector (not available in IE7-IE8).{{/i}}

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#{{_i}}First Name{{/i}}{{_i}}Last Name{{/i}}{{_i}}Username{{/i}}
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
-
{{! /example }} +

{{_i}}.table-striped{{/i}}

+

{{_i}}Adds zebra-striping to any table row within the <tbody> via the :nth-child CSS selector (not available in IE7-IE8).{{/i}}

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#{{_i}}First Name{{/i}}{{_i}}Last Name{{/i}}{{_i}}Username{{/i}}
1MarkOtto@mdo
2JacobThornton@fat
3Larrythe Bird@twitter
+
{{! /example }}
 <table class="table table-striped">
   …
 </table>
 
-

{{_i}}.table-bordered{{/i}}

-

{{_i}}Add borders and rounded corners to the table.{{/i}}

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#{{_i}}First Name{{/i}}{{_i}}Last Name{{/i}}{{_i}}Username{{/i}}
1MarkOtto@mdo
MarkOtto@TwBootstrap
2JacobThornton@fat
3Larry the Bird@twitter
-
{{! /example }} +

{{_i}}.table-bordered{{/i}}

+

{{_i}}Add borders and rounded corners to the table.{{/i}}

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#{{_i}}First Name{{/i}}{{_i}}Last Name{{/i}}{{_i}}Username{{/i}}
1MarkOtto@mdo
MarkOtto@TwBootstrap
2JacobThornton@fat
3Larry the Bird@twitter
+
{{! /example }}
 <table class="table table-bordered">
   …
 </table>
 
-

{{_i}}.table-hover{{/i}}

-

{{_i}}Enable a hover state on table rows within a <tbody>.{{/i}}

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#{{_i}}First Name{{/i}}{{_i}}Last Name{{/i}}{{_i}}Username{{/i}}
1MarkOtto@mdo
2JacobThornton@fat
3Larry the Bird@twitter
-
{{! /example }} +

{{_i}}.table-hover{{/i}}

+

{{_i}}Enable a hover state on table rows within a <tbody>.{{/i}}

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#{{_i}}First Name{{/i}}{{_i}}Last Name{{/i}}{{_i}}Username{{/i}}
1MarkOtto@mdo
2JacobThornton@fat
3Larry the Bird@twitter
+
{{! /example }}
 <table class="table table-hover">
   …
 </table>
 
-

{{_i}}.table-condensed{{/i}}

-

{{_i}}Makes tables more compact by cutting cell padding in half.{{/i}}

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#{{_i}}First Name{{/i}}{{_i}}Last Name{{/i}}{{_i}}Username{{/i}}
1MarkOtto@mdo
2JacobThornton@fat
3Larry the Bird@twitter
-
{{! /example }} +

{{_i}}.table-condensed{{/i}}

+

{{_i}}Makes tables more compact by cutting cell padding in half.{{/i}}

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#{{_i}}First Name{{/i}}{{_i}}Last Name{{/i}}{{_i}}Username{{/i}}
1MarkOtto@mdo
2JacobThornton@fat
3Larry the Bird@twitter
+
{{! /example }}
 <table class="table table-condensed">
   …
@@ -592,82 +583,82 @@
 
-
+
-

{{_i}}Supported table markup{{/i}}

-

{{_i}}List of supported table HTML elements and how they should be used.{{/i}}

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{{_i}}Tag{{/i}}{{_i}}Description{{/i}}
- <table> - - {{_i}}Wrapping element for displaying data in a tabular format{{/i}} -
- <thead> - - {{_i}}Container element for table header rows (<tr>) to label table columns{{/i}} -
- <tbody> - - {{_i}}Container element for table rows (<tr>) in the body of the table{{/i}} -
- <tr> - - {{_i}}Container element for a set of table cells (<td> or <th>) that appears on a single row{{/i}} -
- <td> - - {{_i}}Default table cell{{/i}} -
- <th> - - {{_i}}Special table cell for column (or row, depending on scope and placement) labels{{/i}}
- {{_i}}Must be used within a <thead>{{/i}} -
- <caption> - - {{_i}}Description or summary of what the table holds, especially useful for screen readers{{/i}} -
+

{{_i}}Supported table markup{{/i}}

+

{{_i}}List of supported table HTML elements and how they should be used.{{/i}}

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{{_i}}Tag{{/i}}{{_i}}Description{{/i}}
+ <table> + + {{_i}}Wrapping element for displaying data in a tabular format{{/i}} +
+ <thead> + + {{_i}}Container element for table header rows (<tr>) to label table columns{{/i}} +
+ <tbody> + + {{_i}}Container element for table rows (<tr>) in the body of the table{{/i}} +
+ <tr> + + {{_i}}Container element for a set of table cells (<td> or <th>) that appears on a single row{{/i}} +
+ <td> + + {{_i}}Default table cell{{/i}} +
+ <th> + + {{_i}}Special table cell for column (or row, depending on scope and placement) labels{{/i}}
+ {{_i}}Must be used within a <thead>{{/i}} +
+ <caption> + + {{_i}}Description or summary of what the table holds, especially useful for screen readers{{/i}} +
 <table>
   <thead>
@@ -685,28 +676,29 @@
 </table>
 
-
+
- -
- + +
+ -

{{_i}}Default styles{{/i}}

-

{{_i}}Individual form controls receive styling, but without any required base class on the <form> or large changes in markup. Results in stacked, left-aligned labels on top of form controls.{{/i}}

-
- - -

{{_i}}Example block-level help text here.{{/i}}

- - -
{{! /example }} +

{{_i}}Default styles{{/i}}

+

{{_i}}Individual form controls receive styling, but without any required base class on the <form> or large changes in markup. Results in stacked, left-aligned labels on top of form controls.{{/i}}

+
+ Legend + + +

{{_i}}Example block-level help text here.{{/i}}

+ + +
{{! /example }}
 <form class="well">
   <label>{{_i}}Label name{{/i}}</label>
@@ -720,18 +712,18 @@
 
-
+
-

{{_i}}Optional layouts{{/i}}

-

{{_i}}Included with Bootstrap are three optional form layouts for common use cases.{{/i}}

+

{{_i}}Optional layouts{{/i}}

+

{{_i}}Included with Bootstrap are three optional form layouts for common use cases.{{/i}}

-

{{_i}}Search form{{/i}}

-

{{_i}}Add .form-search to the form and .search-query to the <input> for an extra-rounded text input.{{/i}}

- {{! /example }} +

{{_i}}Search form{{/i}}

+

{{_i}}Add .form-search to the form and .search-query to the <input> for an extra-rounded text input.{{/i}}

+ {{! /example }}
 <form class="form-search">
   <input type="text" class="input-medium search-query">
@@ -739,16 +731,16 @@
 </form>
 
-

{{_i}}Inline form{{/i}}

-

{{_i}}Add .form-inline for left-aligned labels and inline-block controls for a compact layout.{{/i}}

-
- - - - -
{{! /example }} +

{{_i}}Inline form{{/i}}

+

{{_i}}Add .form-inline for left-aligned labels and inline-block controls for a compact layout.{{/i}}

+
+ + + + +
{{! /example }}
 <form class="form-inline">
   <input type="text" class="input-small" placeholder="{{_i}}Email{{/i}}">
@@ -760,36 +752,37 @@
 </form>
 
-

{{_i}}Horizontal form{{/i}}

-

{{_i}}Right align labels and float them to the left to make them appear on the same line as controls. Requires the most markup changes from a default form:{{/i}}

-
    -
  • {{_i}}Add .form-horizontal to the form{{/i}}
  • -
  • {{_i}}Wrap labels and controls in .control-group{{/i}}
  • -
  • {{_i}}Add .control-label to the label{{/i}}
  • -
  • {{_i}}Wrap any associated controls in .controls for proper alignment{{/i}}
  • -
-
-
- -
- -
-
-
- -
- -
-
-
-
- - -
-
-
+

{{_i}}Horizontal form{{/i}}

+

{{_i}}Right align labels and float them to the left to make them appear on the same line as controls. Requires the most markup changes from a default form:{{/i}}

+
    +
  • {{_i}}Add .form-horizontal to the form{{/i}}
  • +
  • {{_i}}Wrap labels and controls in .control-group{{/i}}
  • +
  • {{_i}}Add .control-label to the label{{/i}}
  • +
  • {{_i}}Wrap any associated controls in .controls for proper alignment{{/i}}
  • +
+
+ Legend +
+ +
+ +
+
+
+ +
+ +
+
+
+
+ + +
+
+
 <form class="form-horizontal">
   <div class="control-group">
@@ -816,49 +809,49 @@
 
-
+
-

{{_i}}Supported form controls{{/i}}

-

{{_i}}Examples of standard form controls supported in an example form layout.{{/i}}

+

{{_i}}Supported form controls{{/i}}

+

{{_i}}Examples of standard form controls supported in an example form layout.{{/i}}

-

{{_i}}Inputs{{/i}}

-

{{_i}}Most common form control, text-based input fields. Includes support for all HTML5 types: text, password, datetime, datetime-local, date, month, time, week, number, email, url, search, tel, and color.{{/i}}

-

{{_i}}Requires the use of a specified type at all times.{{/i}}

-
- -
+

{{_i}}Inputs{{/i}}

+

{{_i}}Most common form control, text-based input fields. Includes support for all HTML5 types: text, password, datetime, datetime-local, date, month, time, week, number, email, url, search, tel, and color.{{/i}}

+

{{_i}}Requires the use of a specified type at all times.{{/i}}

+
+ +
 <input type="text" placeholder="Text input">
 
-

{{_i}}Textarea{{/i}}

-

{{_i}}Form control which supports multiple lines of text. Change row attribute as necessary.{{/i}}

-
- -
+

{{_i}}Textarea{{/i}}

+

{{_i}}Form control which supports multiple lines of text. Change row attribute as necessary.{{/i}}

+
+ +
 <textarea id="textarea" rows="3"></textarea>
 
-

{{_i}}Checkboxes and radios{{/i}}

-

{{_i}}Checkboxes are for selecting one or several options in a list while radios are for selecting one option from many.{{/i}}

-

{{_i}}Default (stacked){{/i}}

-
- -
- - -
+

{{_i}}Checkboxes and radios{{/i}}

+

{{_i}}Checkboxes are for selecting one or several options in a list while radios are for selecting one option from many.{{/i}}

+

{{_i}}Default (stacked){{/i}}

+
+ +
+ + +
 <label class="checkbox">
   <input type="checkbox" value="">
@@ -875,19 +868,19 @@
 </label>
 
-

{{_i}}Inline checkboxes{{/i}}

-

{{_i}}Add the .inline class to a series of checkboxes or radios for controls appear on the same line.{{/i}}

-
- - - -
+

{{_i}}Inline checkboxes{{/i}}

+

{{_i}}Add the .inline class to a series of checkboxes or radios for controls appear on the same line.{{/i}}

+
+ + + +
 <label class="checkbox inline">
   <input type="checkbox" id="inlineCheckbox1" value="option1"> 1
@@ -900,25 +893,25 @@
 </label>
 
-

{{_i}}Selects{{/i}}

-

{{_i}}Use the default option or specify a multiple="multiple" to show multiple options at once.{{/i}}

-
- -
- -
+

{{_i}}Selects{{/i}}

+

{{_i}}Use the default option or specify a multiple="multiple" to show multiple options at once.{{/i}}

+
+ +
+ +
 <select>
   <option>something</option>
@@ -938,28 +931,28 @@
 
-
+
-

{{_i}}Extending form controls{{/i}}

-

{{_i}}Adding on top of existing browser controls, Bootstrap includes other useful form components.{{/i}}

+

{{_i}}Extending form controls{{/i}}

+

{{_i}}Adding on top of existing browser controls, Bootstrap includes other useful form components.{{/i}}

-

{{_i}}Prepended and appended inputs{{/i}}

-

{{_i}}Add text or buttons before or after any text-based input. Do note that select elements are not supported here.{{/i}}

+

{{_i}}Prepended and appended inputs{{/i}}

+

{{_i}}Add text or buttons before or after any text-based input. Do note that select elements are not supported here.{{/i}}

-

{{_i}}Default options{{/i}}

-

{{_i}}Wrap a .add-on and an input with one of two classes to prepend or append text to an input.{{/i}}

-
-
- @ - -
-
-
- - .00 -
-
+

{{_i}}Default options{{/i}}

+

{{_i}}Wrap a .add-on and an input with one of two classes to prepend or append text to an input.{{/i}}

+
+
+ @ + +
+
+
+ + .00 +
+
 <div class="input-prepend">
   <span class="add-on">@</span><input class="span2" id="prependedInput" size="16" type="text" placeholder="{{_i}}Username{{/i}}">
@@ -969,35 +962,35 @@
 </div>
 
-

{{_i}}Combined{{/i}}

-

{{_i}}Use both classes and two instances of .add-on to prepend and append an input.{{/i}}

-
-
- $ - - .00 -
-
+

{{_i}}Combined{{/i}}

+

{{_i}}Use both classes and two instances of .add-on to prepend and append an input.{{/i}}

+
+
+ $ + + .00 +
+
 <div class="input-prepend input-append">
   <span class="add-on">$</span><input class="span2" id="appendedPrependedInput" size="16" type="text"><span class="add-on">.00</span>
 </div>
 
-

{{_i}}Buttons instead of text{{/i}}

-

{{_i}}Instead of a <span> with text, use a .btn to attach a button (or two) to an input.{{/i}}

-
-
- - -
-
-
- - - -
-
+

{{_i}}Buttons instead of text{{/i}}

+

{{_i}}Instead of a <span> with text, use a .btn to attach a button (or two) to an input.{{/i}}

+
+
+ + +
+
+
+ + + +
+
 <div class="input-append">
   <input class="span2" id="appendedInputButton" size="16" type="text"><button class="btn" type="button">Go!</button>
@@ -1008,20 +1001,38 @@
 </div>
 
-

{{_i}}Control sizing{{/i}}

-

{{_i}}Use relative sizing classes like .input-large or match your inputs to the grid column sizes using .span* classes.{{/i}}

+

{{_i}}Search form{{/i}}

+ {{! /example }} +
+<form class="form-search">
+  <input type="text" class="span2 search-query">
+  <button type="submit" class="btn">{{_i}}Search{{/i}}</button>
+</form>
+
-

{{_i}}Relative sizing{{/i}}

-
-
- - - - - - -
-
+

{{_i}}Control sizing{{/i}}

+

{{_i}}Use relative sizing classes like .input-large or match your inputs to the grid column sizes using .span* classes.{{/i}}

+ +

{{_i}}Relative sizing{{/i}}

+
+
+ + + + + + +
+
 <input class="input-mini" type="text">
 <input class="input-small" type="text">
@@ -1030,60 +1041,92 @@
 <input class="input-xlarge" type="text">
 <input class="input-xxlarge" type="text">
 
+

+ {{_i}}Heads up!{{/i}} In future versions, we'll be altering the use of these relative input classes to match our button sizes. For example, .input-large will increase the padding and font-size of an input. +

-

{{_i}}Grid sizing{{/i}}

-

{{_i}}Use .span1 to .span12 for inputs that match the same sizes of the grid columns.{{/i}}

-
-
- - - - - - -
-
+

{{_i}}Grid sizing{{/i}}

+

{{_i}}Use .span1 to .span12 for inputs that match the same sizes of the grid columns.{{/i}}

+
+
+ + + + + + +
+
 <input class="span1" type="text">
 <input class="span2" type="text">
 <input class="span3" type="text">
 
-

{{_i}}Uneditable inputs{{/i}}

-

{{_i}}Present data in a form that's not editable without using actual form markup.{{/i}}

-
- Some value here -
+

{{_i}}For multiple grid inputs per line, use the .controls-row modifier class for proper spacing. It floats the inputs to collapse white-space, sets the proper margins, and the clears the float.{{/i}}

+
+
+ +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+<div class="controls controls-row">
+  <input class="span4" type="text" placeholder=".span4">
+  <input class="span1" type="text" placeholder=".span1">
+</div>
+
+ +

{{_i}}Uneditable inputs{{/i}}

+

{{_i}}Present data in a form that's not editable without using actual form markup.{{/i}}

+
+ Some value here +
   <span class="input-xlarge uneditable-input">Some value here</span>
 
-

{{_i}}Form actions{{/i}}

-

{{_i}}End a form with a group of actions (buttons). When placed within a .form-horizontal, the buttons will automatically indent to line up with the form controls.{{/i}}

-
-
- - -
-
+

{{_i}}Form actions{{/i}}

+

{{_i}}End a form with a group of actions (buttons). When placed within a .form-horizontal, the buttons will automatically indent to line up with the form controls.{{/i}}

+
+
+ + +
+
 <div class="form-actions">
   <button type="submit" class="btn btn-primary">{{_i}}Save changes{{/i}}</button>
@@ -1091,76 +1134,76 @@
 </div>
 
-

{{_i}}Help text{{/i}}

-

{{_i}}Inline and block level support for help text that appears around form controls.{{/i}}

-

{{_i}}Inline help{{/i}}

-
- Inline help text -
+

{{_i}}Help text{{/i}}

+

{{_i}}Inline and block level support for help text that appears around form controls.{{/i}}

+

{{_i}}Inline help{{/i}}

+
+ Inline help text +
 <span class="help-inline">Inline help text</span>
 
-

{{_i}}Block help{{/i}}

-
- - A longer block of help text that breaks onto a new line and may extend beyond one line. -
+

{{_i}}Block help{{/i}}

+
+ + A longer block of help text that breaks onto a new line and may extend beyond one line. +
 <span class="help-block">A longer block of help text that breaks onto a new line and may extend beyond one line.</span>
 
-
+
-

{{_i}}Form control states{{/i}}

-

{{_i}}Provide feedback to users or visitors with basic feedback states on form controls and labels.{{/i}}

+

{{_i}}Form control states{{/i}}

+

{{_i}}Provide feedback to users or visitors with basic feedback states on form controls and labels.{{/i}}

-

{{_i}}Input focus{{/i}}

-

{{_i}}We remove the default outline styles on some form controls and apply a box-shadow in its place for :focus.{{/i}}

-
- -
+

{{_i}}Input focus{{/i}}

+

{{_i}}We remove the default outline styles on some form controls and apply a box-shadow in its place for :focus.{{/i}}

+
+ +
 <input class="input-xlarge" id="focusedInput" type="text" value="{{_i}}This is focused...{{/i}}">
 
-

{{_i}}Disabled inputs{{/i}}

-

{{_i}}Add the disabled attribute on an input to prevent user input and trigger a slightly different look.{{/i}}

-
- -
+

{{_i}}Disabled inputs{{/i}}

+

{{_i}}Add the disabled attribute on an input to prevent user input and trigger a slightly different look.{{/i}}

+
+ +
 <input class="input-xlarge" id="disabledInput" type="text" placeholder="{{_i}}Disabled input here...{{/i}}" disabled>
 
-

{{_i}}Validation states{{/i}}

-

{{_i}}Bootstrap includes validation styles for error, warning, and success messages. To use, add the appropriate class to the surrounding .control-group.{{/i}}

+

{{_i}}Validation states{{/i}}

+

{{_i}}Bootstrap includes validation styles for error, warning, and success messages. To use, add the appropriate class to the surrounding .control-group.{{/i}}

-
-
- -
- - {{_i}}Something may have gone wrong{{/i}} -
-
-
- -
- - {{_i}}Please correct the error{{/i}} -
-
-
- -
- - {{_i}}Woohoo!{{/i}} -
-
-
+
+
+ +
+ + {{_i}}Something may have gone wrong{{/i}} +
+
+
+ +
+ + {{_i}}Please correct the error{{/i}} +
+
+
+ +
+ + {{_i}}Woohoo!{{/i}} +
+
+
 <div class="control-group warning">
   <label class="control-label" for="inputWarning">{{_i}}Input with warning{{/i}}</label>
@@ -1185,133 +1228,133 @@
 </div>
 
-
+
- -
- + +
+ -

Default buttons

-

{{_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 for the best rendering.{{/i}}

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{{_i}}Button{{/i}}{{_i}}class=""{{/i}}{{_i}}Description{{/i}}
btn{{_i}}Standard gray button with gradient{{/i}}
btn btn-primary{{_i}}Provides extra visual weight and identifies the primary action in a set of buttons{{/i}}
btn btn-info{{_i}}Used as an alternative to the default styles{{/i}}
btn btn-success{{_i}}Indicates a successful or positive action{{/i}}
btn btn-warning{{_i}}Indicates caution should be taken with this action{{/i}}
btn btn-danger{{_i}}Indicates a dangerous or potentially negative action{{/i}}
btn btn-inverse{{_i}}Alternate dark gray button, not tied to a semantic action or use{{/i}}
+

Default buttons

+

{{_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 for the best rendering.{{/i}}

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{{_i}}Button{{/i}}{{_i}}class=""{{/i}}{{_i}}Description{{/i}}
btn{{_i}}Standard gray button with gradient{{/i}}
btn btn-primary{{_i}}Provides extra visual weight and identifies the primary action in a set of buttons{{/i}}
btn btn-info{{_i}}Used as an alternative to the default styles{{/i}}
btn btn-success{{_i}}Indicates a successful or positive action{{/i}}
btn btn-warning{{_i}}Indicates caution should be taken with this action{{/i}}
btn btn-danger{{_i}}Indicates a dangerous or potentially negative action{{/i}}
btn btn-inverse{{_i}}Alternate dark gray button, not tied to a semantic action or use{{/i}}
-

{{_i}}Cross browser compatibility{{/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}}Cross browser compatibility{{/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 sizes{{/i}}

-

{{_i}}Fancy larger or smaller buttons? Add .btn-large, .btn-small, or .btn-mini for two additional sizes.{{/i}}

-

- - -

-

- - -

-

- - -

+

{{_i}}Button sizes{{/i}}

+

{{_i}}Fancy larger or smaller buttons? Add .btn-large, .btn-small, or .btn-mini for two additional sizes.{{/i}}

+

+ + +

+

+ + +

+

+ + +

-
+
-

{{_i}}Disabled state{{/i}}

-

{{_i}}Make buttons look unclickable by fading them back 50%.{{/i}}

+

{{_i}}Disabled state{{/i}}

+

{{_i}}Make buttons look unclickable by fading them back 50%.{{/i}}

-

Anchor element

-

{{_i}}Add the .disabled class to <a> buttons.{{/i}}

-

- {{_i}}Primary link{{/i}} - {{_i}}Link{{/i}} -

+

Anchor element

+

{{_i}}Add the .disabled class to <a> buttons.{{/i}}

+

+ {{_i}}Primary link{{/i}} + {{_i}}Link{{/i}} +

 <a href="#" class="btn btn-large btn-primary disabled">{{_i}}Primary link{{/i}}</a>
 <a href="#" class="btn btn-large disabled">{{_i}}Link{{/i}}</a>
 
-

- {{_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}} -

+

+ {{_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}} +

-

Button element

-

{{_i}}Add the disabled attribute to <button> buttons.{{/i}}

-

- - -

+

Button element

+

{{_i}}Add the disabled attribute to <button> buttons.{{/i}}

+

+ + +

 <button type="button" class="btn btn-large btn-primary disabled" disabled="disabled">{{_i}}Primary button{{/i}}</button>
 <button type="button" class="btn btn-large" disabled>{{_i}}Button{{/i}}</button>
 
-
+
-

{{_i}}One class, multiple tags{{/i}}

-

{{_i}}Use the .btn class on an <a>, <button>, or <input> element.{{/i}}

-
- {{_i}}Link{{/i}} - - - -
+

{{_i}}One class, multiple tags{{/i}}

+

{{_i}}Use the .btn class on an <a>, <button>, or <input> element.{{/i}}

+
+ {{_i}}Link{{/i}} + + + +
 <a class="btn" href="">{{_i}}Link{{/i}}</a>
 <button class="btn" type="submit">
@@ -1322,244 +1365,246 @@
 <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}}

+

{{_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}}

-
+
- -
- + +
+ -

{{_i}}Icon glyphs{{/i}}

-

{{_i}}140 icons in sprite form, available in dark gray (default) and white, provided by Glyphicons.{{/i}}

-
    -
  • icon-glass
  • -
  • icon-music
  • -
  • icon-search
  • -
  • icon-envelope
  • -
  • icon-heart
  • -
  • icon-star
  • -
  • icon-star-empty
  • -
  • icon-user
  • -
  • icon-film
  • -
  • icon-th-large
  • -
  • icon-th
  • -
  • icon-th-list
  • -
  • icon-ok
  • -
  • icon-remove
  • -
  • icon-zoom-in
  • -
  • icon-zoom-out
  • -
  • icon-off
  • -
  • icon-signal
  • -
  • icon-cog
  • -
  • icon-trash
  • -
  • icon-home
  • -
  • icon-file
  • -
  • icon-time
  • -
  • icon-road
  • -
  • icon-download-alt
  • -
  • icon-download
  • -
  • icon-upload
  • -
  • icon-inbox
  • +

    {{_i}}Icon glyphs{{/i}}

    +

    {{_i}}140 icons in sprite form, available in dark gray (default) and white, provided by Glyphicons.{{/i}}

    +
      +
    • icon-glass
    • +
    • icon-music
    • +
    • icon-search
    • +
    • icon-envelope
    • +
    • icon-heart
    • +
    • icon-star
    • +
    • icon-star-empty
    • +
    • icon-user
    • +
    • icon-film
    • +
    • icon-th-large
    • +
    • icon-th
    • +
    • icon-th-list
    • +
    • icon-ok
    • +
    • icon-remove
    • +
    • icon-zoom-in
    • +
    • icon-zoom-out
    • +
    • icon-off
    • +
    • icon-signal
    • +
    • icon-cog
    • +
    • icon-trash
    • +
    • icon-home
    • +
    • icon-file
    • +
    • icon-time
    • +
    • icon-road
    • +
    • icon-download-alt
    • +
    • icon-download
    • +
    • icon-upload
    • +
    • icon-inbox
    • -
    • icon-play-circle
    • -
    • icon-repeat
    • -
    • icon-refresh
    • -
    • icon-list-alt
    • -
    • icon-lock
    • -
    • icon-flag
    • -
    • icon-headphones
    • -
    • icon-volume-off
    • -
    • icon-volume-down
    • -
    • icon-volume-up
    • -
    • icon-qrcode
    • -
    • icon-barcode
    • -
    • icon-tag
    • -
    • icon-tags
    • -
    • icon-book
    • -
    • icon-bookmark
    • -
    • icon-print
    • -
    • icon-camera
    • -
    • icon-font
    • -
    • icon-bold
    • -
    • icon-italic
    • -
    • icon-text-height
    • -
    • icon-text-width
    • -
    • icon-align-left
    • -
    • icon-align-center
    • -
    • icon-align-right
    • -
    • icon-align-justify
    • -
    • icon-list
    • +
    • icon-play-circle
    • +
    • icon-repeat
    • +
    • icon-refresh
    • +
    • icon-list-alt
    • +
    • icon-lock
    • +
    • icon-flag
    • +
    • icon-headphones
    • +
    • icon-volume-off
    • +
    • icon-volume-down
    • +
    • icon-volume-up
    • +
    • icon-qrcode
    • +
    • icon-barcode
    • +
    • icon-tag
    • +
    • icon-tags
    • +
    • icon-book
    • +
    • icon-bookmark
    • +
    • icon-print
    • +
    • icon-camera
    • +
    • icon-font
    • +
    • icon-bold
    • +
    • icon-italic
    • +
    • icon-text-height
    • +
    • icon-text-width
    • +
    • icon-align-left
    • +
    • icon-align-center
    • +
    • icon-align-right
    • +
    • icon-align-justify
    • +
    • icon-list
    • -
    • icon-indent-left
    • -
    • icon-indent-right
    • -
    • icon-facetime-video
    • -
    • icon-picture
    • -
    • icon-pencil
    • -
    • icon-map-marker
    • -
    • icon-adjust
    • -
    • icon-tint
    • -
    • icon-edit
    • -
    • icon-share
    • -
    • icon-check
    • -
    • icon-move
    • -
    • icon-step-backward
    • -
    • icon-fast-backward
    • -
    • icon-backward
    • -
    • icon-play
    • -
    • icon-pause
    • -
    • icon-stop
    • -
    • icon-forward
    • -
    • icon-fast-forward
    • -
    • icon-step-forward
    • -
    • icon-eject
    • -
    • icon-chevron-left
    • -
    • icon-chevron-right
    • -
    • icon-plus-sign
    • -
    • icon-minus-sign
    • -
    • icon-remove-sign
    • -
    • icon-ok-sign
    • +
    • icon-indent-left
    • +
    • icon-indent-right
    • +
    • icon-facetime-video
    • +
    • icon-picture
    • +
    • icon-pencil
    • +
    • icon-map-marker
    • +
    • icon-adjust
    • +
    • icon-tint
    • +
    • icon-edit
    • +
    • icon-share
    • +
    • icon-check
    • +
    • icon-move
    • +
    • icon-step-backward
    • +
    • icon-fast-backward
    • +
    • icon-backward
    • +
    • icon-play
    • +
    • icon-pause
    • +
    • icon-stop
    • +
    • icon-forward
    • +
    • icon-fast-forward
    • +
    • icon-step-forward
    • +
    • icon-eject
    • +
    • icon-chevron-left
    • +
    • icon-chevron-right
    • +
    • icon-plus-sign
    • +
    • icon-minus-sign
    • +
    • icon-remove-sign
    • +
    • icon-ok-sign
    • -
    • icon-question-sign
    • -
    • icon-info-sign
    • -
    • icon-screenshot
    • -
    • icon-remove-circle
    • -
    • icon-ok-circle
    • -
    • icon-ban-circle
    • -
    • icon-arrow-left
    • -
    • icon-arrow-right
    • -
    • icon-arrow-up
    • -
    • icon-arrow-down
    • -
    • icon-share-alt
    • -
    • icon-resize-full
    • -
    • icon-resize-small
    • -
    • icon-plus
    • -
    • icon-minus
    • -
    • icon-asterisk
    • -
    • icon-exclamation-sign
    • -
    • icon-gift
    • -
    • icon-leaf
    • -
    • icon-fire
    • -
    • icon-eye-open
    • -
    • icon-eye-close
    • -
    • icon-warning-sign
    • -
    • icon-plane
    • -
    • icon-calendar
    • -
    • icon-random
    • -
    • icon-comment
    • -
    • icon-magnet
    • +
    • icon-question-sign
    • +
    • icon-info-sign
    • +
    • icon-screenshot
    • +
    • icon-remove-circle
    • +
    • icon-ok-circle
    • +
    • icon-ban-circle
    • +
    • icon-arrow-left
    • +
    • icon-arrow-right
    • +
    • icon-arrow-up
    • +
    • icon-arrow-down
    • +
    • icon-share-alt
    • +
    • icon-resize-full
    • +
    • icon-resize-small
    • +
    • icon-plus
    • +
    • icon-minus
    • +
    • icon-asterisk
    • +
    • icon-exclamation-sign
    • +
    • icon-gift
    • +
    • icon-leaf
    • +
    • icon-fire
    • +
    • icon-eye-open
    • +
    • icon-eye-close
    • +
    • icon-warning-sign
    • +
    • icon-plane
    • +
    • icon-calendar
    • +
    • icon-random
    • +
    • icon-comment
    • +
    • icon-magnet
    • -
    • icon-chevron-up
    • -
    • icon-chevron-down
    • -
    • icon-retweet
    • -
    • icon-shopping-cart
    • -
    • icon-folder-close
    • -
    • icon-folder-open
    • -
    • icon-resize-vertical
    • -
    • icon-resize-horizontal
    • -
    • icon-hdd
    • -
    • icon-bullhorn
    • -
    • icon-bell
    • -
    • icon-certificate
    • -
    • icon-thumbs-up
    • -
    • icon-thumbs-down
    • -
    • icon-hand-right
    • -
    • icon-hand-left
    • -
    • icon-hand-up
    • -
    • icon-hand-down
    • -
    • icon-circle-arrow-right
    • -
    • icon-circle-arrow-left
    • -
    • icon-circle-arrow-up
    • -
    • icon-circle-arrow-down
    • -
    • icon-globe
    • -
    • icon-wrench
    • -
    • icon-tasks
    • -
    • icon-filter
    • -
    • icon-briefcase
    • -
    • icon-fullscreen
    • -
    +
  • icon-chevron-up
  • +
  • icon-chevron-down
  • +
  • icon-retweet
  • +
  • icon-shopping-cart
  • +
  • icon-folder-close
  • +
  • icon-folder-open
  • +
  • icon-resize-vertical
  • +
  • icon-resize-horizontal
  • +
  • icon-hdd
  • +
  • icon-bullhorn
  • +
  • icon-bell
  • +
  • icon-certificate
  • +
  • icon-thumbs-up
  • +
  • icon-thumbs-down
  • +
  • icon-hand-right
  • +
  • icon-hand-left
  • +
  • icon-hand-up
  • +
  • icon-hand-down
  • +
  • icon-circle-arrow-right
  • +
  • icon-circle-arrow-left
  • +
  • icon-circle-arrow-up
  • +
  • icon-circle-arrow-down
  • +
  • icon-globe
  • +
  • icon-wrench
  • +
  • icon-tasks
  • +
  • icon-filter
  • +
  • icon-briefcase
  • +
  • icon-fullscreen
  • +
-

Glyphicons attribution

-

{{_i}}Glyphicons Halflings are normally not available for free, but an arrangement between Bootstrap and the Glyphicons creators have made this possible at not cost to you as developers. As a thank you, we ask you to include an optional link back to Glyphicons whenever practical.{{/i}}

+

Glyphicons attribution

+

{{_i}}Glyphicons Halflings are normally not available for free, but an arrangement between Bootstrap and the Glyphicons creators have made this possible at not cost to you as developers. As a thank you, we ask you to include an optional link back to Glyphicons whenever practical.{{/i}}

-
+
-

{{_i}}How to use{{/i}}

-

{{_i}}All icons require an <i> tag with a unique class, prefixed with icon-. To use, place the following code just about anywhere:{{/i}}

+

{{_i}}How to use{{/i}}

+

{{_i}}All icons require an <i> tag with a unique class, prefixed with icon-. To use, place the following code just about anywhere:{{/i}}

 <i class="icon-search"></i>
 
-

{{_i}}There are also styles available for inverted (white) icons, made ready with one extra class:{{/i}}

+

{{_i}}There are also styles available for inverted (white) icons, made ready with one extra class:{{/i}}

 <i class="icon-search icon-white"></i>
 
-

- {{_i}}Heads up!{{/i}} - {{_i}}When using beside strings of text, as in buttons or nav links, be sure to leave a space after the <i> tag for proper spacing.{{/i}} -

+

+ {{_i}}Heads up!{{/i}} + {{_i}}When using beside strings of text, as in buttons or nav links, be sure to leave a space after the <i> tag for proper spacing.{{/i}} +

-
+
-

{{_i}}Icon examples{{/i}}

-

{{_i}}Use them in buttons, button groups for a toolbar, navigation, or prepended form inputs.{{/i}}

+

{{_i}}Icon examples{{/i}}

+

{{_i}}Use them in buttons, button groups for a toolbar, navigation, or prepended form inputs.{{/i}}

-

{{_i}}Buttons{{/i}}

- {{! /bs-docs-example }} - -

{{_i}}Navigation{{/i}}

- {{! /bs-docs-example }} - -

{{_i}}Form fields{{/i}}

-
-
- -
-
- +

{{_i}}Buttons{{/i}}

+ -
- +
{{! /bs-docs-example }} -
+

{{_i}}Navigation{{/i}}

+ {{! /bs-docs-example }} -
- \ No newline at end of file +

{{_i}}Form fields{{/i}}

+
+
+ +
+
+ +
+
+
+
+ + + + + + {{! /span9 }} +{{! row}} diff --git a/docs/templates/pages/components.mustache b/docs/templates/pages/components.mustache index d696e683c8..c7727fd180 100644 --- a/docs/templates/pages/components.mustache +++ b/docs/templates/pages/components.mustache @@ -1,40 +1,14 @@ -

{{_i}}Components{{/i}}

{{_i}}Dozens of reusable components are built into Bootstrap to provide navigation, alerts, popovers, and much more.{{/i}}

-
+ + +
 <ul class="nav nav-tabs">
   <li class="dropdown">
@@ -702,23 +676,23 @@
 </ul>
 
-

{{_i}}Pills with dropdowns{{/i}}

-
-
{{! /example }} +
{{! /example }}
 <ul class="nav nav-pills">
   <li class="dropdown">
@@ -736,29 +710,29 @@
 
-
+
-

{{_i}}Nav lists{{/i}}

-

{{_i}}A simple and easy way to build groups of nav links with optional headers. They're best used in sidebars like the Finder in OS X.{{/i}}

+

{{_i}}Nav lists{{/i}}

+

{{_i}}A simple and easy way to build groups of nav links with optional headers. They're best used in sidebars like the Finder in OS X.{{/i}}

-

{{_i}}Example nav list{{/i}}

-

{{_i}}Take a list of links and add class="nav nav-list":{{/i}}

-
-
- -
-
{{! /example }} +

{{_i}}Example nav list{{/i}}

+

{{_i}}Take a list of links and add class="nav nav-list":{{/i}}

+
+
+ +
+
{{! /example }}
 <ul class="nav nav-list">
   <li class="nav-header">{{_i}}List header{{/i}}</li>
@@ -767,50 +741,50 @@
   ...
 </ul>
 
-

- {{_i}}Note{{/i}} - {{_i}}For nesting within a nav list, include class="nav nav-list" on any nested <ul>.{{/i}} -

+

+ {{_i}}Note{{/i}} + {{_i}}For nesting within a nav list, include class="nav nav-list" on any nested <ul>.{{/i}} +

-

{{_i}}Horizontal dividers{{/i}}

-

{{_i}}Add a horizontal divider by creating an empty list item with the class .divider, like so:{{/i}}

+

{{_i}}Horizontal dividers{{/i}}

+

{{_i}}Add a horizontal divider by creating an empty list item with the class .divider, like so:{{/i}}

 <ul class="nav nav-list">
   ...
   <li class="divider"></li>
   ...
 </ul>
-
+ -
+
-

{{_i}}Tabbable nav{{/i}}

-

{{_i}}Bring your tabs to life with a simple plugin to toggle between content via tabs. Bootstrap integrates tabbable tabs in four styles: top (default), right, bottom, and left.{{/i}}

+

{{_i}}Tabbable nav{{/i}}

+

{{_i}}Bring your tabs to life with a simple plugin to toggle between content via tabs. Bootstrap integrates tabbable tabs in four styles: top (default), right, bottom, and left.{{/i}}

-

{{_i}}Tabbable example{{/i}}

-

{{_i}}To make tabs tabbable, create a .tab-pane with unique ID for every tab and wrap them in .tab-content.{{/i}}

-
-
- -
-
-

{{_i}}I'm in Section 1.{{/i}}

-
-
-

{{_i}}Howdy, I'm in Section 2.{{/i}}

-
-
-

{{_i}}What up girl, this is Section 3.{{/i}}

-
-
-
-
{{! /example }} +

{{_i}}Tabbable example{{/i}}

+

{{_i}}To make tabs tabbable, create a .tab-pane with unique ID for every tab and wrap them in .tab-content.{{/i}}

+
+
+ +
+
+

{{_i}}I'm in Section 1.{{/i}}

+
+
+

{{_i}}Howdy, I'm in Section 2.{{/i}}

+
+
+

{{_i}}What up girl, this is Section 3.{{/i}}

+
+
+
+
{{! /example }}
 <div class="tabbable"> <!-- Only required for left/right tabs -->
   <ul class="nav nav-tabs">
@@ -828,36 +802,36 @@
 </div>
 
-

{{_i}}Fade in tabs{{/i}}

-

{{_i}}To make tabs fade in, add .fade to each .tab-pane.{{/i}}

+

{{_i}}Fade in tabs{{/i}}

+

{{_i}}To make tabs fade in, add .fade to each .tab-pane.{{/i}}

-

{{_i}}Requires jQuery plugin{{/i}}

-

{{_i}}All tabbable tabs are powered by our lightweight jQuery plugin. Read more about how to bring tabbable tabs to life on the javascript docs page.{{/i}}

+

{{_i}}Requires jQuery plugin{{/i}}

+

{{_i}}All tabbable tabs are powered by our lightweight jQuery plugin. Read more about how to bring tabbable tabs to life on the javascript docs page.{{/i}}

-

{{_i}}Tabbable in any direction{{/i}}

+

{{_i}}Tabbable in any direction{{/i}}

-

{{_i}}Tabs on the bottom{{/i}}

-

{{_i}}Flip the order of the HTML and add a class to put tabs on the bottom.{{/i}}

-
-
-
-
-

{{_i}}I'm in Section A.{{/i}}

-
-
-

{{_i}}Howdy, I'm in Section B.{{/i}}

-
-
-

{{_i}}What up girl, this is Section C.{{/i}}

-
-
- -
-
{{! /example }} +

{{_i}}Tabs on the bottom{{/i}}

+

{{_i}}Flip the order of the HTML and add a class to put tabs on the bottom.{{/i}}

+
+
+
+
+

{{_i}}I'm in Section A.{{/i}}

+
+
+

{{_i}}Howdy, I'm in Section B.{{/i}}

+
+
+

{{_i}}What up girl, this is Section C.{{/i}}

+
+
+ +
+
{{! /example }}
 <div class="tabbable tabs-below">
   <div class="tab-content">
@@ -869,28 +843,28 @@
 </div>
 
-

{{_i}}Tabs on the left{{/i}}

-

{{_i}}Swap the class to put tabs on the left.{{/i}}

-
-
- -
-
-

{{_i}}I'm in Section A.{{/i}}

-
-
-

{{_i}}Howdy, I'm in Section B.{{/i}}

-
-
-

{{_i}}What up girl, this is Section C.{{/i}}

-
-
-
-
{{! /example }} +

{{_i}}Tabs on the left{{/i}}

+

{{_i}}Swap the class to put tabs on the left.{{/i}}

+
+
+ +
+
+

{{_i}}I'm in Section A.{{/i}}

+
+
+

{{_i}}Howdy, I'm in Section B.{{/i}}

+
+
+

{{_i}}What up girl, this is Section C.{{/i}}

+
+
+
+
{{! /example }}
 <div class="tabbable tabs-left">
   <ul class="nav nav-tabs">
@@ -902,28 +876,28 @@
 </div>
 
-

{{_i}}Tabs on the right{{/i}}

-

{{_i}}Swap the class to put tabs on the right.{{/i}}

-
-
- -
-
-

{{_i}}I'm in Section A.{{/i}}

-
-
-

{{_i}}Howdy, I'm in Section B.{{/i}}

-
-
-

{{_i}}What up girl, this is Section C.{{/i}}

-
-
-
-
{{! /example }} +

{{_i}}Tabs on the right{{/i}}

+

{{_i}}Swap the class to put tabs on the right.{{/i}}

+
+
+ +
+
+

{{_i}}I'm in Section A.{{/i}}

+
+
+

{{_i}}Howdy, I'm in Section B.{{/i}}

+
+
+

{{_i}}What up girl, this is Section C.{{/i}}

+
+
+
+
{{! /example }}
 <div class="tabbable tabs-right">
   <ul class="nav nav-tabs">
@@ -935,32 +909,32 @@
 </div>
 
- + - - + - - - -
- + +
+ -

{{_i}}Standard pagination{{/i}}

-

{{_i}}Simple pagination inspired by Rdio, great for apps and search results. The large block is hard to miss, easily scalable, and provides large click areas.{{/i}}

-
- -
+

{{_i}}Standard pagination{{/i}}

+

{{_i}}Simple pagination inspired by Rdio, great for apps and search results. The large block is hard to miss, easily scalable, and provides large click areas.{{/i}}

+
+ +
 <div class="pagination">
   <ul>
@@ -1312,26 +1286,26 @@
 
-
+
-

{{_i}}Options{{/i}}

+

{{_i}}Options{{/i}}

-

{{_i}}Disabled and active states{{/i}}

-

{{_i}}Links are customizable for different circumstances. Use .disabled for unclickable links and .active to indicate the current page.{{/i}}

-
- -
+

{{_i}}Disabled and active states{{/i}}

+

{{_i}}Links are customizable for different circumstances. Use .disabled for unclickable links and .active to indicate the current page.{{/i}}

+
+ +
 <div class="pagination ">
   <ul>
@@ -1342,39 +1316,39 @@
 </div>
 
-

{{_i}}Alignment{{/i}}

-

{{_i}}Add one of two optional classes to change the alignment of pagination links: .pagination-centered and .pagination-right.{{/i}}

-
- -
+

{{_i}}Alignment{{/i}}

+

{{_i}}Add one of two optional classes to change the alignment of pagination links: .pagination-centered and .pagination-right.{{/i}}

+
+ +
 <div class="pagination pagination-centered">
   ...
 </div>
 
-
- -
+
+ +
 <div class="pagination pagination-right">
   ...
@@ -1382,20 +1356,20 @@
 
-
+
-

{{_i}}Pager{{/i}}

-

{{_i}}Quick previous and next links for simple pagination implementations with light markup and styles. It's great for simple sites like blogs or magazines.{{/i}}

+

{{_i}}Pager{{/i}}

+

{{_i}}Quick previous and next links for simple pagination implementations with light markup and styles. It's great for simple sites like blogs or magazines.{{/i}}

-

{{_i}}Default example{{/i}}

-

{{_i}}By default, the pager centers links.{{/i}}

- +

{{_i}}Default example{{/i}}

+

{{_i}}By default, the pager centers links.{{/i}}

+
 <ul class="pager">
   <li>
@@ -1407,14 +1381,14 @@
 </ul>
 
-

{{_i}}Aligned links{{/i}}

-

{{_i}}Alternatively, you can align each link to the sides:{{/i}}

- +

{{_i}}Aligned links{{/i}}

+

{{_i}}Alternatively, you can align each link to the sides:{{/i}}

+
 <ul class="pager">
   <li class="previous">
@@ -1426,14 +1400,14 @@
 </ul>
 
-

{{_i}}Optional disabled state{{/i}}

-

{{_i}}Pager links also use the general .disabled utility class from the pagination.{{/i}}

- +

{{_i}}Optional disabled state{{/i}}

+

{{_i}}Pager links also use the general .disabled utility class from the pagination.{{/i}}

+
 <ul class="pager">
   <li class="previous disabled">
@@ -1443,187 +1417,187 @@
 </ul>
 
-
+
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{{_i}}Labels{{/i}}{{_i}}Markup{{/i}}
- {{_i}}Default{{/i}} - - <span class="label">{{_i}}Default{{/i}}</span> -
- {{_i}}Success{{/i}} - - <span class="label label-success">{{_i}}Success{{/i}}</span> -
- {{_i}}Warning{{/i}} - - <span class="label label-warning">{{_i}}Warning{{/i}}</span> -
- {{_i}}Important{{/i}} - - <span class="label label-important">{{_i}}Important{{/i}}</span> -
- {{_i}}Info{{/i}} - - <span class="label label-info">{{_i}}Info{{/i}}</span> -
- {{_i}}Inverse{{/i}} - - <span class="label label-inverse">{{_i}}Inverse{{/i}}</span> -
-
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{{_i}}Labels{{/i}}{{_i}}Markup{{/i}}
+ {{_i}}Default{{/i}} + + <span class="label">{{_i}}Default{{/i}}</span> +
+ {{_i}}Success{{/i}} + + <span class="label label-success">{{_i}}Success{{/i}}</span> +
+ {{_i}}Warning{{/i}} + + <span class="label label-warning">{{_i}}Warning{{/i}}</span> +
+ {{_i}}Important{{/i}} + + <span class="label label-important">{{_i}}Important{{/i}}</span> +
+ {{_i}}Info{{/i}} + + <span class="label label-info">{{_i}}Info{{/i}}</span> +
+ {{_i}}Inverse{{/i}} + + <span class="label label-inverse">{{_i}}Inverse{{/i}}</span> +
+
- -
- + +
+ -

About

-

{{_i}}Badges are small, simple components for displaying an indicator or count of some sort. They're commonly found in email clients like Mail.app or on mobile apps for push notifications.{{/i}}

+

About

+

{{_i}}Badges are small, simple components for displaying an indicator or count of some sort. They're commonly found in email clients like Mail.app or on mobile apps for push notifications.{{/i}}

-

Available classes

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{{_i}}Name{{/i}}{{_i}}Example{{/i}}{{_i}}Markup{{/i}}
- {{_i}}Default{{/i}} - - 1 - - <span class="badge">1</span> -
- {{_i}}Success{{/i}} - - 2 - - <span class="badge badge-success">2</span> -
- {{_i}}Warning{{/i}} - - 4 - - <span class="badge badge-warning">4</span> -
- {{_i}}Important{{/i}} - - 6 - - <span class="badge badge-important">6</span> -
- {{_i}}Info{{/i}} - - 8 - - <span class="badge badge-info">8</span> -
- {{_i}}Inverse{{/i}} - - 10 - - <span class="badge badge-inverse">10</span> -
+

Available classes

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{{_i}}Name{{/i}}{{_i}}Example{{/i}}{{_i}}Markup{{/i}}
+ {{_i}}Default{{/i}} + + 1 + + <span class="badge">1</span> +
+ {{_i}}Success{{/i}} + + 2 + + <span class="badge badge-success">2</span> +
+ {{_i}}Warning{{/i}} + + 4 + + <span class="badge badge-warning">4</span> +
+ {{_i}}Important{{/i}} + + 6 + + <span class="badge badge-important">6</span> +
+ {{_i}}Info{{/i}} + + 8 + + <span class="badge badge-info">8</span> +
+ {{_i}}Inverse{{/i}} + + 10 + + <span class="badge badge-inverse">10</span> +
-
+
- -
- + +
+ -

{{_i}}Hero unit{{/i}}

-

{{_i}}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}}Hello, world!{{/i}}

-

{{_i}}This is a simple hero unit, a simple jumbotron-style component for calling extra attention to featured content or information.{{/i}}

-

{{_i}}Learn more{{/i}}

-
-
+

{{_i}}Hero unit{{/i}}

+

{{_i}}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}}Hello, world!{{/i}}

+

{{_i}}This is a simple hero unit, a simple jumbotron-style component for calling extra attention to featured content or information.{{/i}}

+

{{_i}}Learn more{{/i}}

+
+
 <div class="hero-unit">
   <h1>{{_i}}Heading{{/i}}</h1>
@@ -1636,105 +1610,105 @@
 </div>
 
-

{{_i}}Page header{{/i}}

-

{{_i}}A simple shell for an h1 to appropriately 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}}

-
- -
+

{{_i}}Page header{{/i}}

+

{{_i}}A simple shell for an h1 to appropriately 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-header">
   <h1>{{_i}}Example page header{{/i}}</h1>
 </div>
 
-
+
- -
- + +
+ -

{{_i}}Default thumbnails{{/i}}

-

{{_i}}By default, Bootstrap's thumbnails are designed to showcase linked images with minimal required markup.{{/i}}

-
- -
+

{{_i}}Default thumbnails{{/i}}

+

{{_i}}By default, Bootstrap's thumbnails are designed to showcase linked images with minimal required markup.{{/i}}

+
+ +
-

{{_i}}Highly customizable{{/i}}

-

{{_i}}With a bit of extra markup, it's possible to add any kind of HTML content like headings, paragraphs, or buttons into thumbnails.{{/i}}

-
-
    -
  • -
    - -
    -

    {{_i}}Thumbnail label{{/i}}

    -

    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}}Action{{/i}} {{_i}}Action{{/i}}

    -
    -
    -
  • -
  • -
    - -
    -

    {{_i}}Thumbnail label{{/i}}

    -

    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}}Action{{/i}} {{_i}}Action{{/i}}

    -
    -
    -
  • -
  • -
    - -
    -

    {{_i}}Thumbnail label{{/i}}

    -

    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}}Action{{/i}} {{_i}}Action{{/i}}

    -
    -
    -
  • -
-
+

{{_i}}Highly customizable{{/i}}

+

{{_i}}With a bit of extra markup, it's possible to add any kind of HTML content like headings, paragraphs, or buttons into thumbnails.{{/i}}

+
+
    +
  • +
    + +
    +

    {{_i}}Thumbnail label{{/i}}

    +

    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}}Action{{/i}} {{_i}}Action{{/i}}

    +
    +
    +
  • +
  • +
    + +
    +

    {{_i}}Thumbnail label{{/i}}

    +

    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}}Action{{/i}} {{_i}}Action{{/i}}

    +
    +
    +
  • +
  • +
    + +
    +

    {{_i}}Thumbnail label{{/i}}

    +

    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}}Action{{/i}} {{_i}}Action{{/i}}

    +
    +
    +
  • +
+
-

{{_i}}Why use thumbnails{{/i}}

-

{{_i}}Thumbnails (previously .media-grid up until v1.4) are great for grids of photos or videos, image search results, retail products, portfolios, and much more. They can be links or static content.{{/i}}

+

{{_i}}Why use thumbnails{{/i}}

+

{{_i}}Thumbnails (previously .media-grid up until v1.4) are great for grids of photos or videos, image search results, retail products, portfolios, and much more. They can be links or static content.{{/i}}

-

{{_i}}Simple, flexible markup{{/i}}

-

{{_i}}Thumbnail markup is simple—a ul with any number of li elements is all that is required. It's also super flexible, allowing for any type of content with just a bit more markup to wrap your contents.{{/i}}

+

{{_i}}Simple, flexible markup{{/i}}

+

{{_i}}Thumbnail markup is simple—a ul with any number of li elements is all that is required. It's also super flexible, allowing for any type of content with just a bit more markup to wrap your contents.{{/i}}

-

{{_i}}Uses grid column sizes{{/i}}

-

{{_i}}Lastly, the thumbnails component uses existing grid system classes—like .span2 or .span3—for control of thumbnail dimensions.{{/i}}

+

{{_i}}Uses grid column sizes{{/i}}

+

{{_i}}Lastly, the thumbnails component uses existing grid system classes—like .span2 or .span3—for control of thumbnail dimensions.{{/i}}

-

{{_i}}The markup{{/i}}

-

{{_i}}As mentioned previously, the required markup for thumbnails is light and straightforward. Here's a look at the default setup for linked images:{{/i}}

+

{{_i}}The markup{{/i}}

+

{{_i}}As mentioned previously, the required markup for thumbnails is light and straightforward. Here's a look at the default setup for linked images:{{/i}}

 <ul class="thumbnails">
   <li class="span4">
@@ -1745,7 +1719,7 @@
   ...
 </ul>
 
-

{{_i}}For custom HTML content in thumbnails, the markup changes slightly. To allow block level content anywhere, we swap the <a> for a <div> like so:{{/i}}

+

{{_i}}For custom HTML content in thumbnails, the markup changes slightly. To allow block level content anywhere, we swap the <a> for a <div> like so:{{/i}}

 <ul class="thumbnails">
   <li class="span4">
@@ -1759,65 +1733,65 @@
 </ul>
 
-

{{_i}}More examples{{/i}}

-

{{_i}}Explore all your options with the various grid classes available to you. You can also mix and match different sizes.{{/i}}

- +

{{_i}}More examples{{/i}}

+

{{_i}}Explore all your options with the various grid classes available to you. You can also mix and match different sizes.{{/i}}

+ -
+
- -
- + +
+ -

{{_i}}Default alert{{/i}}

-

{{_i}}Wrap any text and an optional dismiss button in .alert for a basic warning alert message.{{/i}}

-
-
- - {{_i}}Warning!{{/i}} {{_i}}Best check yo self, you're not looking too good.{{/i}} -
-
+

{{_i}}Default alert{{/i}}

+

{{_i}}Wrap any text and an optional dismiss button in .alert for a basic warning alert message.{{/i}}

+
+
+ + {{_i}}Warning!{{/i}} {{_i}}Best check yo self, you're not looking too good.{{/i}} +
+
 <div class="alert">
   <button type="button" class="close" data-dismiss="alert">×</button>
@@ -1825,32 +1799,32 @@
 </div>
 
-

{{_i}}Dismiss buttons{{/i}}

-

{{_i}}Mobile Safari and Mobile Opera browsers, in addition to the data-dismiss="alert" attribute, require an href="#" for the dismissal of alerts when using an <a> tag.{{/i}}

+

{{_i}}Dismiss buttons{{/i}}

+

{{_i}}Mobile Safari and Mobile Opera browsers, in addition to the data-dismiss="alert" attribute, require an href="#" for the dismissal of alerts when using an <a> tag.{{/i}}

 <a href="#" class="close" data-dismiss="alert">×</button>
 
-

{{_i}}Alternatively, you may use a <button> element with the data attribute, which we have opted to do for our docs. When using <button>, you must include type="button" or your forms may not submit.{{/i}}

+

{{_i}}Alternatively, you may use a <button> element with the data attribute, which we have opted to do for our docs. When using <button>, you must include type="button" or your forms may not submit.{{/i}}

 <button type="button" class="close" data-dismiss="alert">×</button>
 
-

{{_i}}Dismiss alerts via javascript{{/i}}

-

{{_i}}Use the alerts jQuery plugin for quick and easy dismissal of alerts.{{/i}}

+

{{_i}}Dismiss alerts via javascript{{/i}}

+

{{_i}}Use the alerts jQuery plugin for quick and easy dismissal of alerts.{{/i}}

-
+
-

{{_i}}Options{{/i}}

-

{{_i}}For longer messages, increase the padding on the top and bottom of the alert wrapper by adding .alert-block.{{/i}}

-
-
- -

{{_i}}Warning!{{/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.

-
-
+

{{_i}}Options{{/i}}

+

{{_i}}For longer messages, increase the padding on the top and bottom of the alert wrapper by adding .alert-block.{{/i}}

+
+
+ +

{{_i}}Warning!{{/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" data-dismiss="alert" href="#">&times;</a>
@@ -1860,97 +1834,97 @@
 
-
+
-

{{_i}}Contextual alternatives{{/i}}

-

{{_i}}Add optional classes to change an alert's connotation.{{/i}}

+

{{_i}}Contextual alternatives{{/i}}

+

{{_i}}Add optional classes to change an alert's connotation.{{/i}}

-

{{_i}}Error or danger{{/i}}

-
-
- - {{_i}}Oh snap!{{/i}} {{_i}}Change a few things up and try submitting again.{{/i}} -
-
+

{{_i}}Error or danger{{/i}}

+
+
+ + {{_i}}Oh snap!{{/i}} {{_i}}Change a few things up and try submitting again.{{/i}} +
+
 <div class="alert alert-error">
   ...
 </div>
 
-

{{_i}}Success{{/i}}

-
-
- - {{_i}}Well done!{{/i}} {{_i}}You successfully read this important alert message.{{/i}} -
-
+

{{_i}}Success{{/i}}

+
+
+ + {{_i}}Well done!{{/i}} {{_i}}You successfully read this important alert message.{{/i}} +
+
 <div class="alert alert-success">
   ...
 </div>
 
-

{{_i}}Information{{/i}}

-
-
- - {{_i}}Heads up!{{/i}} {{_i}}This alert needs your attention, but it's not super important.{{/i}} -
-
+

{{_i}}Information{{/i}}

+
+
+ + {{_i}}Heads up!{{/i}} {{_i}}This alert needs your attention, but it's not super important.{{/i}} +
+
 <div class="alert alert-info">
   ...
 </div>
 
-
+
- -
- + +
+ -

{{_i}}Examples and markup{{/i}}

+

{{_i}}Examples and markup{{/i}}

-

{{_i}}Basic{{/i}}

-

{{_i}}Default progress bar with a vertical gradient.{{/i}}

-
-
-
-
-
+

{{_i}}Basic{{/i}}

+

{{_i}}Default progress bar with a vertical gradient.{{/i}}

+
+
+
+
+
 <div class="progress">
   <div class="bar" style="width: 60%;"></div>
 </div>
 
-

{{_i}}Striped{{/i}}

-

{{_i}}Uses a gradient to create a striped effect. Not available in IE7-8.{{/i}}

-
-
-
-
-
+

{{_i}}Striped{{/i}}

+

{{_i}}Uses a gradient to create a striped effect. Not available in IE7-8.{{/i}}

+
+
+
+
+
 <div class="progress progress-striped">
   <div class="bar" style="width: 20%;"></div>
 </div>
 
-

{{_i}}Animated{{/i}}

-

{{_i}}Add .active to .progress-striped to animate the stripes right to left. Not available in all versions of IE.{{/i}}

-
-
-
-
-
+

{{_i}}Animated{{/i}}

+

{{_i}}Add .active to .progress-striped to animate the stripes right to left. Not available in all versions of IE.{{/i}}

+
+
+
+
+
 <div class="progress progress-striped active">
   <div class="bar" style="width: 40%;"></div>
@@ -1958,27 +1932,27 @@
 
-
+
-

{{_i}}Options{{/i}}

+

{{_i}}Options{{/i}}

-

{{_i}}Additional colors{{/i}}

-

{{_i}}Progress bars use some of the same button and alert classes for consistent styles.{{/i}}

-
-
-
-
-
-
-
-
-
-
-
-
-
-
+

{{_i}}Additional colors{{/i}}

+

{{_i}}Progress bars use some of the same button and alert classes for consistent styles.{{/i}}

+
+
+
+
+
+
+
+
+
+
+
+
+
+
 <div class="progress progress-info">
   <div class="bar" style="width: 20%"></div>
@@ -1994,22 +1968,22 @@
 </div>
 
-

{{_i}}Striped bars{{/i}}

-

{{_i}}Similar to the solid colors, we have varied striped progress bars.{{/i}}

-
-
-
-
-
-
-
-
-
-
-
-
-
-
+

{{_i}}Striped bars{{/i}}

+

{{_i}}Similar to the solid colors, we have varied striped progress bars.{{/i}}

+
+
+
+
+
+
+
+
+
+
+
+
+
+
 <div class="progress progress-info progress-striped">
   <div class="bar" style="width: 20%"></div>
@@ -2026,74 +2000,74 @@
 
-
+
-

{{_i}}Browser support{{/i}}

-

{{_i}}Progress bars use CSS3 gradients, transitions, and animations to achieve all their effects. These features are not supported in IE7-9 or older versions of Firefox.{{/i}}

-

{{_i}}Opera and IE do not support animations at this time.{{/i}}

+

{{_i}}Browser support{{/i}}

+

{{_i}}Progress bars use CSS3 gradients, transitions, and animations to achieve all their effects. These features are not supported in IE7-9 or older versions of Firefox.{{/i}}

+

{{_i}}Opera and IE do not support animations at this time.{{/i}}

-
+
- -
- + +
+ -

{{_i}}Wells{{/i}}

-

{{_i}}Use the well as a simple effect on an element to give it an inset effect.{{/i}}

-
-
- {{_i}}Look, I'm in a well!{{/i}} -
-
+

{{_i}}Wells{{/i}}

+

{{_i}}Use the well as a simple effect on an element to give it an inset effect.{{/i}}

+
+
+ {{_i}}Look, I'm in a well!{{/i}} +
+
 <div class="well">
   ...
 </div>
 
-

{{_i}}Optional classes{{/i}}

-

{{_i}}Control padding and rounded corners with two optional modifier classes.{{/i}}

-
-
- {{_i}}Look, I'm in a well!{{/i}} -
-
+

{{_i}}Optional classes{{/i}}

+

{{_i}}Control padding and rounded corners with two optional modifier classes.{{/i}}

+
+
+ {{_i}}Look, I'm in a well!{{/i}} +
+
 <div class="well well-large">
   ...
 </div>
 
-
-
- {{_i}}Look, I'm in a well!{{/i}} -
-
+
+
+ {{_i}}Look, I'm in a well!{{/i}} +
+
 <div class="well well-small">
   ...
 </div>
 
-

{{_i}}Close icon{{/i}}

-

{{_i}}Use the generic close icon for dismissing content like modals and alerts.{{/i}}

-
-

-
+

{{_i}}Close icon{{/i}}

+

{{_i}}Use the generic close icon for dismissing content like modals and alerts.{{/i}}

+
+

+
<button class="close">&times;</button>

{{_i}}iOS devices require an href="#" for click events if you rather use an anchor.{{/i}}

<a class="close" href="#">&times;</a>
-

{{_i}}Helper classes{{/i}}

-

{{_i}}Simple, focused classes for small display or behavior tweaks.{{/i}}

+

{{_i}}Helper classes{{/i}}

+

{{_i}}Simple, focused classes for small display or behavior tweaks.{{/i}}

-

{{_i}}.pull-left{{/i}}

-

{{_i}}Float an element left{{/i}}

+

{{_i}}.pull-left{{/i}}

+

{{_i}}Float an element left{{/i}}

 class="pull-left"
 
@@ -2103,8 +2077,8 @@ class="pull-left" } -

{{_i}}.pull-right{{/i}}

-

{{_i}}Float an element right{{/i}}

+

{{_i}}.pull-right{{/i}}

+

{{_i}}Float an element right{{/i}}

 class="pull-right"
 
@@ -2114,8 +2088,8 @@ class="pull-right" } -

{{_i}}.muted{{/i}}

-

{{_i}}Change an element's color to #999{{/i}}

+

{{_i}}.muted{{/i}}

+

{{_i}}Change an element's color to #999{{/i}}

 class="muted"
 
@@ -2125,8 +2099,8 @@ class="muted" } -

{{_i}}.clearfix{{/i}}

-

{{_i}}Clear the float on any element{{/i}}

+

{{_i}}.clearfix{{/i}}

+

{{_i}}Clear the float on any element{{/i}}

 class="clearfix"
 
@@ -2144,7 +2118,9 @@ class="clearfix" } -
+
- - + + + {{! /span9 }} +{{! row}} diff --git a/docs/templates/pages/extend.mustache b/docs/templates/pages/extend.mustache index aae99f765d..12a198c3c4 100644 --- a/docs/templates/pages/extend.mustache +++ b/docs/templates/pages/extend.mustache @@ -1,90 +1,103 @@ -

{{_i}}Extending Bootstrap{{/i}}

-

{{_i}}Extend Bootstrap with LESS, a CSS preprocessor, to take advantage of the variables, mixins, and more used to build Bootstrap's CSS.{{/i}}

- +

{{_i}}Extend Bootstrap to take advantage of included styles and components, as well as LESS variables and mixins.{{/i}}

- -
-
+
- -
- -
- {{_i}}Note: If you're submitting a pull request to GitHub with modified CSS, you must recompile the CSS via any of these methods.{{/i}} -
+ +
+ -

{{_i}}Tools for compiling{{/i}}

+

{{_i}}Why LESS?{{/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}}Node with makefile{{/i}}

-

{{_i}}Install the LESS command line compiler, JSHint, Recess, and uglify-js globally with npm by running the following command:{{/i}}

-
$ npm install -g less jshint recess uglify-js
-

{{_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}}

+

{{_i}}What's included?{{/i}}

+

{{_i}}As an extension of CSS, LESS includes variables, mixins for reusable snippets of code, operations for simple math, nesting, and even color functions.{{/i}}

-

{{_i}}Command line{{/i}}

-

{{_i}}Install the LESS command line tool via Node and run the following command:{{/i}}

-
$ lessc ./less/bootstrap.less > bootstrap.css
-

{{_i}}Be sure to include --compress in that command if you're trying to save some bytes!{{/i}}

+

{{_i}}Learn more{{/i}}

+ LESS CSS +

{{_i}}Visit the official website at http://lesscss.org to learn more.{{/i}}

+
-

{{_i}}Javascript{{/i}}

-

{{_i}}Download the latest Less.js and include the path to it (and Bootstrap) in the <head>.{{/i}}

+ + + +
+ +
+ {{_i}}Note: If you're submitting a pull request to GitHub with modified CSS, you must recompile the CSS via any of these methods.{{/i}} +
+ +

{{_i}}Tools for compiling{{/i}}

+ +

{{_i}}Node with makefile{{/i}}

+

{{_i}}Install the LESS command line compiler, JSHint, Recess, and uglify-js globally with npm by running the following command:{{/i}}

+
$ npm install -g less jshint recess uglify-js
+

{{_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}}

+ +

{{_i}}Command line{{/i}}

+

{{_i}}Install the LESS command line tool via Node and run the following command:{{/i}}

+
$ lessc ./less/bootstrap.less > bootstrap.css
+

{{_i}}Be sure to include --compress in that command if you're trying to save some bytes!{{/i}}

+ +

{{_i}}Javascript{{/i}}

+

{{_i}}Download the latest Less.js and include the path to it (and Bootstrap) in the <head>.{{/i}}

 <link rel="stylesheet/less" href="/path/to/bootstrap.less">
 <script src="/path/to/less.js"></script>
 
-

{{_i}}To recompile the .less files, just save them and reload your page. Less.js compiles them and stores them in local storage.{{/i}}

+

{{_i}}To recompile the .less files, just save them and reload your page. Less.js compiles them and stores them in local storage.{{/i}}

-

{{_i}}Unofficial Mac app{{/i}}

-

{{_i}}The unofficial Mac app watches directories of .less files and compiles the code to local files after every save of a watched .less file.{{/i}}

-

{{_i}}If you like, you can toggle preferences in the app for automatic minifying and which directory the compiled files end up in.{{/i}}

+

{{_i}}Unofficial Mac app{{/i}}

+

{{_i}}The unofficial Mac app watches directories of .less files and compiles the code to local files after every save of a watched .less file.{{/i}}

+

{{_i}}If you like, you can toggle preferences in the app for automatic minifying and which directory the compiled files end up in.{{/i}}

-

{{_i}}More Mac apps{{/i}}

-

Crunch

-

{{_i}}Crunch is a great looking LESS editor and compiler built on Adobe Air.{{/i}}

-

CodeKit

-

{{_i}}Created by the same guy as the unofficial Mac app, CodeKit is a Mac app that compiles LESS, SASS, Stylus, and CoffeeScript.{{/i}}

-

Simpless

-

{{_i}}Mac, Linux, and PC app for drag and drop compiling of LESS files. Plus, the source code is on GitHub.{{/i}}

+

{{_i}}More Mac apps{{/i}}

+

Crunch

+

{{_i}}Crunch is a great looking LESS editor and compiler built on Adobe Air.{{/i}}

+

CodeKit

+

{{_i}}Created by the same guy as the unofficial Mac app, CodeKit is a Mac app that compiles LESS, SASS, Stylus, and CoffeeScript.{{/i}}

+

Simpless

+

{{_i}}Mac, Linux, and PC app for drag and drop compiling of LESS files. Plus, the source code is on GitHub.{{/i}}

-
+
+ + + + +
+ +

...

+
+ + + +
{{! /span9 }} +{{! row}} diff --git a/docs/templates/pages/javascript.mustache b/docs/templates/pages/javascript.mustache index 13d5285b70..442a7e29ee 100644 --- a/docs/templates/pages/javascript.mustache +++ b/docs/templates/pages/javascript.mustache @@ -1,30 +1,14 @@ -

{{_i}}Javascript for Bootstrap{{/i}}

{{_i}}Bring Bootstrap's components to life—now with 12 custom jQuery plugins.{{/i}} -

+ +
{{! /example }} -
+
-

{{_i}}Usage{{/i}}

-

{{_i}}Enable tabbable tabs via javascript (each tab needs to be activated individually):{{/i}}

+

{{_i}}Usage{{/i}}

+

{{_i}}Enable tabbable tabs via javascript (each tab needs to be activated individually):{{/i}}

 $('#myTab a').click(function (e) {
   e.preventDefault();
@@ -610,8 +593,8 @@ $('#myTab a:last').tab('show'); // Select last tab
 $('#myTab li:eq(2) a').tab('show'); // Select third tab (0-indexed)
 
-

{{_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. Adding the nav and nav-tabs classes to the tab ul will apply the bootstrap tab styling.{{/i}}

+

{{_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. Adding the nav and nav-tabs classes to the tab ul will apply the bootstrap tab styling.{{/i}}

 <ul class="nav nav-tabs">
   <li><a href="#home" data-toggle="tab">{{_i}}Home{{/i}}</a></li>
@@ -620,11 +603,11 @@ $('#myTab li:eq(2) a').tab('show'); // Select third tab (0-indexed)
   <li><a href="#settings" data-toggle="tab">{{_i}}Settings{{/i}}</a></li>
 </ul>
-

{{_i}}Methods{{/i}}

-

$().tab

-

- {{_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}} -

+

{{_i}}Methods{{/i}}

+

$().tab

+

+ {{_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="nav nav-tabs" id="myTab">
   <li class="active"><a href="#home">{{_i}}Home{{/i}}</a></li>
@@ -646,418 +629,427 @@ $('#myTab li:eq(2) a').tab('show'); // Select third tab (0-indexed)
   })
 </script>
-

{{_i}}Events{{/i}}

- - - - - - - - - - - - - - - - - -
{{_i}}Event{{/i}}{{_i}}Description{{/i}}
{{_i}}show{{/i}}{{_i}}This event fires on tab show, but before the new tab has been shown. Use event.target and event.relatedTarget to target the active tab and the previous active tab (if available) respectively.{{/i}}
{{_i}}shown{{/i}}{{_i}}This event fires on tab show after a tab has been shown. Use event.target and event.relatedTarget to target the active tab and the previous active tab (if available) respectively.{{/i}}
+

{{_i}}Events{{/i}}

+ + + + + + + + + + + + + + + + + +
{{_i}}Event{{/i}}{{_i}}Description{{/i}}
{{_i}}show{{/i}}{{_i}}This event fires on tab show, but before the new tab has been shown. Use event.target and event.relatedTarget to target the active tab and the previous active tab (if available) respectively.{{/i}}
{{_i}}shown{{/i}}{{_i}}This event fires on tab show after a tab has been shown. Use event.target and event.relatedTarget to target the active tab and the previous active tab (if available) respectively.{{/i}}
 $('a[data-toggle="tab"]').on('shown', function (e) {
   e.target // activated tab
   e.relatedTarget // previous tab
 })
- + - -
- - - -

{{_i}}Examples{{/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}}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}} -

-
{{! /example }} - - -
- - -

{{_i}}Usage{{/i}}

-

{{_i}}Trigger the tooltip via javascript:{{/i}}

-
$('#example').tooltip({{_i}}options{{/i}})
- -

{{_i}}Options{{/i}}

-

{{_i}}Options can be passed via data attributes or javascript. For data attributes, append the option name to data-, as in data-animation="".{{/i}}

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{{_i}}Name{{/i}}{{_i}}type{{/i}}{{_i}}default{{/i}}{{_i}}description{{/i}}
{{_i}}animation{{/i}}{{_i}}boolean{{/i}}true{{_i}}apply a css fade transition to the tooltip{{/i}}
{{_i}}html{{/i}}{{_i}}boolean{{/i}}true{{_i}}Insert html into the tooltip. If false, jquery's text method will be used to insert content into the dom. Use text if you're worried about XSS attacks.{{/i}}
{{_i}}placement{{/i}}{{_i}}string|function{{/i}}'top'{{_i}}how to position the tooltip{{/i}} - top | bottom | left | right
{{_i}}selector{{/i}}{{_i}}string{{/i}}false{{_i}}If a selector is provided, tooltip objects will be delegated to the specified targets.{{/i}}
{{_i}}title{{/i}}{{_i}}string | function{{/i}}''{{_i}}default title value if `title` tag isn't present{{/i}}
{{_i}}trigger{{/i}}{{_i}}string{{/i}}'hover'{{_i}}how tooltip is triggered{{/i}} - hover | focus | manual
{{_i}}delay{{/i}}{{_i}}number | object{{/i}}0 -

{{_i}}delay showing and hiding the tooltip (ms) - does not apply to manual trigger type{{/i}}

-

{{_i}}If a number is supplied, delay is applied to both hide/show{{/i}}

-

{{_i}}Object structure is: delay: { show: 500, hide: 100 }{{/i}}

-
-
- {{_i}}Heads up!{{/i}} - {{_i}}Options for individual tooltips can alternatively be specified through the use of data attributes.{{/i}} -
- -

{{_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}}

-

.tooltip('show')

-

{{_i}}Reveals an element's tooltip.{{/i}}

-
$('#element').tooltip('show')
-

.tooltip('hide')

-

{{_i}}Hides an element's tooltip.{{/i}}

-
$('#element').tooltip('hide')
-

.tooltip('toggle')

-

{{_i}}Toggles an element's tooltip.{{/i}}

-
$('#element').tooltip('toggle')
-

.tooltip('destroy')

-

{{_i}}Destroys an element's tooltip.{{/i}}

-
$('#element').tooltip('destroy')
-
- - - - -
- - -

{{_i}}Examples{{/i}}

-

{{_i}}Add small overlays of content, like those on the iPad, to any element for housing secondary information. Hover over the button to trigger the popover.{{/i}}

-

* {{_i}}Requires Tooltip to be included{{/i}}

- -

{{_i}}Static popover{{/i}}

-

{{_i}}Four options are available: top, right, bottom, and left aligned.{{/i}}

-
-
-
-

Popover top

-
-

Sed posuere consectetur est at lobortis. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum.

+ +
+ -
-
-
-

Popover right

-
-

Sed posuere consectetur est at lobortis. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum.

+ +

{{_i}}Examples{{/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}}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}} +

+
{{! /example }} + +

{{_i}}Four directions{{/i}}

+ {{! /example }} + + +
+ + +

{{_i}}Usage{{/i}}

+

{{_i}}Trigger the tooltip via javascript:{{/i}}

+
$('#example').tooltip({{_i}}options{{/i}})
+ +

{{_i}}Options{{/i}}

+

{{_i}}Options can be passed via data attributes or javascript. For data attributes, append the option name to data-, as in data-animation="".{{/i}}

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{{_i}}Name{{/i}}{{_i}}type{{/i}}{{_i}}default{{/i}}{{_i}}description{{/i}}
{{_i}}animation{{/i}}{{_i}}boolean{{/i}}true{{_i}}apply a css fade transition to the tooltip{{/i}}
{{_i}}html{{/i}}{{_i}}boolean{{/i}}true{{_i}}Insert html into the tooltip. If false, jquery's text method will be used to insert content into the dom. Use text if you're worried about XSS attacks.{{/i}}
{{_i}}placement{{/i}}{{_i}}string|function{{/i}}'top'{{_i}}how to position the tooltip{{/i}} - top | bottom | left | right
{{_i}}selector{{/i}}{{_i}}string{{/i}}false{{_i}}If a selector is provided, tooltip objects will be delegated to the specified targets.{{/i}}
{{_i}}title{{/i}}{{_i}}string | function{{/i}}''{{_i}}default title value if `title` tag isn't present{{/i}}
{{_i}}trigger{{/i}}{{_i}}string{{/i}}'hover'{{_i}}how tooltip is triggered{{/i}} - hover | focus | manual
{{_i}}delay{{/i}}{{_i}}number | object{{/i}}0 +

{{_i}}delay showing and hiding the tooltip (ms) - does not apply to manual trigger type{{/i}}

+

{{_i}}If a number is supplied, delay is applied to both hide/show{{/i}}

+

{{_i}}Object structure is: delay: { show: 500, hide: 100 }{{/i}}

+
+
+ {{_i}}Heads up!{{/i}} + {{_i}}Options for individual tooltips can alternatively be specified through the use of data attributes.{{/i}}
-
-
-
-

Popover bottom

-
-

Sed posuere consectetur est at lobortis. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum.

+

{{_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}}

+

.tooltip('show')

+

{{_i}}Reveals an element's tooltip.{{/i}}

+
$('#element').tooltip('show')
+

.tooltip('hide')

+

{{_i}}Hides an element's tooltip.{{/i}}

+
$('#element').tooltip('hide')
+

.tooltip('toggle')

+

{{_i}}Toggles an element's tooltip.{{/i}}

+
$('#element').tooltip('toggle')
+

.tooltip('destroy')

+

{{_i}}Destroys an element's tooltip.{{/i}}

+
$('#element').tooltip('destroy')
+
+ + + + +
+ -
-
-
-

Popover left

-
-

Sed posuere consectetur est at lobortis. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum.

+

{{_i}}Examples{{/i}}

+

{{_i}}Add small overlays of content, like those on the iPad, to any element for housing secondary information. Hover over the button to trigger the popover. Requires Tooltip to be included.{{/i}}

+ +

{{_i}}Static popover{{/i}}

+

{{_i}}Four options are available: top, right, bottom, and left aligned.{{/i}}

+
+
+
+

Popover top

+
+

Sed posuere consectetur est at lobortis. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum.

+
+
+ +
+
+

Popover right

+
+

Sed posuere consectetur est at lobortis. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum.

+
+
+ +
+
+

Popover bottom

+
+

Sed posuere consectetur est at lobortis. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum.

+
+
+ +
+
+

Popover left

+
+

Sed posuere consectetur est at lobortis. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum.

+
+
+ +
-
+

{{_i}}No markup shown as popovers are generated from javascript and content within a data attribute.{{/i}}

-
-
-

{{_i}}No markup shown as popovers are generated from javascript and content within a data attribute.{{/i}}

- -

Live demo

-
- {{_i}}Hover for popover{{/i}} -
+

Live demo

+
+ {{_i}}Hover for popover{{/i}} +
-
+
-

{{_i}}Usage{{/i}}

-

{{_i}}Enable popovers via javascript:{{/i}}

-
$('#example').popover({{_i}}options{{/i}})
+

{{_i}}Usage{{/i}}

+

{{_i}}Enable popovers via javascript:{{/i}}

+
$('#example').popover({{_i}}options{{/i}})
-

{{_i}}Options{{/i}}

-

{{_i}}Options can be passed via data attributes or javascript. For data attributes, append the option name to data-, as in data-animation="".{{/i}}

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{{_i}}Name{{/i}}{{_i}}type{{/i}}{{_i}}default{{/i}}{{_i}}description{{/i}}
{{_i}}animation{{/i}}{{_i}}boolean{{/i}}true{{_i}}apply a css fade transition to the tooltip{{/i}}
{{_i}}html{{/i}}{{_i}}boolean{{/i}}true{{_i}}Insert html into the popover. If false, jquery's text method will be used to insert content into the dom. Use text if you're worried about XSS attacks.{{/i}}
{{_i}}placement{{/i}}{{_i}}string|function{{/i}}'right'{{_i}}how to position the popover{{/i}} - top | bottom | left | right
{{_i}}selector{{/i}}{{_i}}string{{/i}}false{{_i}}if a selector is provided, tooltip objects will be delegated to the specified targets{{/i}}
{{_i}}trigger{{/i}}{{_i}}string{{/i}}'hover'{{_i}}how popover is triggered{{/i}} - hover | focus | manual
{{_i}}title{{/i}}{{_i}}string | function{{/i}}''{{_i}}default title value if `title` attribute isn't present{{/i}}
{{_i}}content{{/i}}{{_i}}string | function{{/i}}''{{_i}}default content value if `data-content` attribute isn't present{{/i}}
{{_i}}delay{{/i}}{{_i}}number | object{{/i}}0 -

{{_i}}delay showing and hiding the popover (ms) - does not apply to manual trigger type{{/i}}

-

{{_i}}If a number is supplied, delay is applied to both hide/show{{/i}}

-

{{_i}}Object structure is: delay: { show: 500, hide: 100 }{{/i}}

-
-
- {{_i}}Heads up!{{/i}} - {{_i}}Options for individual popovers can alternatively be specified through the use of data attributes.{{/i}} -
+

{{_i}}Options{{/i}}

+

{{_i}}Options can be passed via data attributes or javascript. For data attributes, append the option name to data-, as in data-animation="".{{/i}}

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{{_i}}Name{{/i}}{{_i}}type{{/i}}{{_i}}default{{/i}}{{_i}}description{{/i}}
{{_i}}animation{{/i}}{{_i}}boolean{{/i}}true{{_i}}apply a css fade transition to the tooltip{{/i}}
{{_i}}html{{/i}}{{_i}}boolean{{/i}}true{{_i}}Insert html into the popover. If false, jquery's text method will be used to insert content into the dom. Use text if you're worried about XSS attacks.{{/i}}
{{_i}}placement{{/i}}{{_i}}string|function{{/i}}'right'{{_i}}how to position the popover{{/i}} - top | bottom | left | right
{{_i}}selector{{/i}}{{_i}}string{{/i}}false{{_i}}if a selector is provided, tooltip objects will be delegated to the specified targets{{/i}}
{{_i}}trigger{{/i}}{{_i}}string{{/i}}'hover'{{_i}}how popover is triggered{{/i}} - hover | focus | manual
{{_i}}title{{/i}}{{_i}}string | function{{/i}}''{{_i}}default title value if `title` attribute isn't present{{/i}}
{{_i}}content{{/i}}{{_i}}string | function{{/i}}''{{_i}}default content value if `data-content` attribute isn't present{{/i}}
{{_i}}delay{{/i}}{{_i}}number | object{{/i}}0 +

{{_i}}delay showing and hiding the popover (ms) - does not apply to manual trigger type{{/i}}

+

{{_i}}If a number is supplied, delay is applied to both hide/show{{/i}}

+

{{_i}}Object structure is: delay: { show: 500, hide: 100 }{{/i}}

+
+
+ {{_i}}Heads up!{{/i}} + {{_i}}Options for individual popovers can alternatively be specified through the use of data attributes.{{/i}} +
-

{{_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}}

+

{{_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}}

-

{{_i}}Methods{{/i}}

-

$().popover({{_i}}options{{/i}})

-

{{_i}}Initializes popovers for an element collection.{{/i}}

-

.popover('show')

-

{{_i}}Reveals an elements popover.{{/i}}

-
$('#element').popover('show')
-

.popover('hide')

-

{{_i}}Hides an elements popover.{{/i}}

-
$('#element').popover('hide')
-

.popover('toggle')

-

{{_i}}Toggles an elements popover.{{/i}}

-
$('#element').popover('toggle')
-

.popover('destroy')

-

{{_i}}Destroys an element's popover.{{/i}}

-
$('#element').popover('destroy')
- +

{{_i}}Methods{{/i}}

+

$().popover({{_i}}options{{/i}})

+

{{_i}}Initializes popovers for an element collection.{{/i}}

+

.popover('show')

+

{{_i}}Reveals an elements popover.{{/i}}

+
$('#element').popover('show')
+

.popover('hide')

+

{{_i}}Hides an elements popover.{{/i}}

+
$('#element').popover('hide')
+

.popover('toggle')

+

{{_i}}Toggles an elements popover.{{/i}}

+
$('#element').popover('toggle')
+

.popover('destroy')

+

{{_i}}Destroys an element's popover.{{/i}}

+
$('#element').popover('destroy')
+ - -
- + +
+ -

{{_i}}Example alerts{{/i}}

-

{{_i}}Add dismiss functionality to all alerge messages with this plugin.{{/i}}

-
-
- - {{_i}}Holy guacamole!{{/i}} {{_i}}Best check yo self, you're not looking too good.{{/i}} -
-
{{! /example }} +

{{_i}}Example alerts{{/i}}

+

{{_i}}Add dismiss functionality to all alerge messages with this plugin.{{/i}}

+
+
+ + {{_i}}Holy guacamole!{{/i}} {{_i}}Best check yo self, you're not looking too good.{{/i}} +
+
{{! /example }} -
-
- -

{{_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}} -

-
-
{{! /example }} +
+
+ +

{{_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}} +

+
+
{{! /example }} -
+
-

{{_i}}Usage{{/i}}

-

{{_i}}Enable dismissal of an alert via javascript:{{/i}}

-
$(".alert").alert()
+

{{_i}}Usage{{/i}}

+

{{_i}}Enable dismissal of an alert via javascript:{{/i}}

+
$(".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="#">&times;</a>
+

{{_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="#">&times;</a>
-

{{_i}}Methods{{/i}}

-

$().alert()

-

{{_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").alert('close')
+

{{_i}}Methods{{/i}}

+

$().alert()

+

{{_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").alert('close')
-

{{_i}}Events{{/i}}

-

{{_i}}Bootstrap's alert class exposes a few events for hooking into alert functionality.{{/i}}

- - - - - - - - - - - - - - - - - -
{{_i}}Event{{/i}}{{_i}}Description{{/i}}
{{_i}}close{{/i}}{{_i}}This event fires immediately when the close instance method is called.{{/i}}
{{_i}}closed{{/i}}{{_i}}This event is fired when the alert has been closed (will wait for css transitions to complete).{{/i}}
+

{{_i}}Events{{/i}}

+

{{_i}}Bootstrap's alert class exposes a few events for hooking into alert functionality.{{/i}}

+ + + + + + + + + + + + + + + + + +
{{_i}}Event{{/i}}{{_i}}Description{{/i}}
{{_i}}close{{/i}}{{_i}}This event fires immediately when the close instance method is called.{{/i}}
{{_i}}closed{{/i}}{{_i}}This event is fired when the alert has been closed (will wait for css transitions to complete).{{/i}}
 $('#my-alert').bind('closed', function () {
   // {{_i}}do something…{{/i}}
 })
-
+
- -
- + +
+ -

{{_i}}Example uses{{/i}}

-

{{_i}}Do more with buttons. Control button states or create groups of buttons for more components like toolbars.{{/i}}

+

{{_i}}Example uses{{/i}}

+

{{_i}}Do more with buttons. Control button states or create groups of buttons for more components like toolbars.{{/i}}

-

{{_i}}Stateful{{/i}}

-

{{_i}}Add data-loading-text="Loading..." to use a loading state on a button.{{/i}}

-
- -
{{! /example }} +

{{_i}}Stateful{{/i}}

+

{{_i}}Add data-loading-text="Loading..." to use a loading state on a button.{{/i}}

+
+ +
{{! /example }}
 <button type="button" class="btn btn-primary" data-loading-text="Loading...">Loading state</button>
 
-

{{_i}}Single toggle{{/i}}

-

{{_i}}Add data-toggle="button" to activate toggling on a single button.{{/i}}

-
- -
{{! /example }} +

{{_i}}Single toggle{{/i}}

+

{{_i}}Add data-toggle="button" to activate toggling on a single button.{{/i}}

+
+ +
{{! /example }}
 <button type="button" class="btn" data-toggle="button">Single Toggle</button>
 
-

{{_i}}Checkbox{{/i}}

-

{{_i}}Add data-toggle="buttons-checkbox" for checkbox style toggling on btn-group.{{/i}}

-
-
- - - -
-
{{! /example }} +

{{_i}}Checkbox{{/i}}

+

{{_i}}Add data-toggle="buttons-checkbox" for checkbox style toggling on btn-group.{{/i}}

+
+
+ + + +
+
{{! /example }}
 <div class="btn-group" data-toggle="buttons-checkbox">
   <button type="button" class="btn">Left</button>
@@ -1066,15 +1058,15 @@ $('#my-alert').bind('closed', function () {
 </div>
 
-

{{_i}}Radio{{/i}}

-

{{_i}}Add data-toggle="buttons-radio" for radio style toggling on btn-group.{{/i}}

-
-
- - - -
-
{{! /example }} +

{{_i}}Radio{{/i}}

+

{{_i}}Add data-toggle="buttons-radio" for radio style toggling on btn-group.{{/i}}

+
+
+ + + +
+
{{! /example }}
 <div class="btn-group" data-toggle="buttons-radio">
   <button type="button" class="btn">Left</button>
@@ -1084,101 +1076,101 @@ $('#my-alert').bind('closed', function () {
 
-
+
-

{{_i}}Usage{{/i}}

-

{{_i}}Enable buttons via javascript:{{/i}}

-
$('.nav-tabs').button()
+

{{_i}}Usage{{/i}}

+

{{_i}}Enable buttons via javascript:{{/i}}

+
$('.nav-tabs').button()
-

{{_i}}Markup{{/i}}

-

{{_i}}Data attributes are integral to the button plugin. Check out the example code below for the various markup types.{{/i}}

+

{{_i}}Markup{{/i}}

+

{{_i}}Data attributes are integral to the button plugin. Check out the example code below for the various markup types.{{/i}}

-

{{_i}}Options{{/i}}

-

{{_i}}None{{/i}}

+

{{_i}}Options{{/i}}

+

{{_i}}None{{/i}}

-

{{_i}}Methods{{/i}}

-

$().button('toggle')

-

{{_i}}Toggles push state. Gives the button the appearance that it has been activated.{{/i}}

-
- {{_i}}Heads up!{{/i}} - {{_i}}You can enable auto toggling of a button by using the data-toggle attribute.{{/i}} -
-
<button type="button" class="btn" data-toggle="button" >…</button>
-

$().button('loading')

-

{{_i}}Sets button state to loading - disables button and swaps text to loading text. Loading text should be defined on the button element using the data attribute data-loading-text.{{/i}} -

-
<button type="button" class="btn" data-loading-text="loading stuff..." >...</button>
-
- {{_i}}Heads up!{{/i}} - {{_i}}Firefox persists the disabled state across page loads. A workaround for this is to use autocomplete="off".{{/i}} -
-

$().button('reset')

-

{{_i}}Resets button state - swaps text to original text.{{/i}}

-

$().button(string)

-

{{_i}}Resets button state - swaps text to any data defined text state.{{/i}}

+

{{_i}}Methods{{/i}}

+

$().button('toggle')

+

{{_i}}Toggles push state. Gives the button the appearance that it has been activated.{{/i}}

+
+ {{_i}}Heads up!{{/i}} + {{_i}}You can enable auto toggling of a button by using the data-toggle attribute.{{/i}} +
+
<button type="button" class="btn" data-toggle="button" >…</button>
+

$().button('loading')

+

{{_i}}Sets button state to loading - disables button and swaps text to loading text. Loading text should be defined on the button element using the data attribute data-loading-text.{{/i}} +

+
<button type="button" class="btn" data-loading-text="loading stuff..." >...</button>
+
+ {{_i}}Heads up!{{/i}} + {{_i}}Firefox persists the disabled state across page loads. A workaround for this is to use autocomplete="off".{{/i}} +
+

$().button('reset')

+

{{_i}}Resets button state - swaps text to original text.{{/i}}

+

$().button(string)

+

{{_i}}Resets button state - swaps text to any data defined text state.{{/i}}

<button type="button" class="btn" data-complete-text="finished!" >...</button>
 <script>
   $('.btn').button('complete')
 </script>
-
+
- -
- + +
+ -

{{_i}}About{{/i}}

-

{{_i}}Get base styles and flexible support for collapsible components like accordions and navigation.{{/i}}

-

* {{_i}}Requires the Transitions plugin to be included.{{/i}}

+

{{_i}}About{{/i}}

+

{{_i}}Get base styles and flexible support for collapsible components like accordions and navigation.{{/i}}

+

* {{_i}}Requires the Transitions plugin to be included.{{/i}}

-

{{_i}}Example accordion{{/i}}

-

{{_i}}Using the collapse plugin, we built a simple accordion style widget:{{/i}}

+

{{_i}}Example accordion{{/i}}

+

{{_i}}Using the collapse plugin, we built a simple accordion style widget:{{/i}}

-
-
-
- -
-
- Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS. +
+
+
+ +
+
+ Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS. +
+
+
+
+ +
+
+ Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS. +
+
+
+
+ +
+
+ Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS. +
+
-
-
- -
-
- Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS. -
-
-
-
- -
-
- Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS. -
-
-
-
-
{{! /example }} +
{{! /example }}
 <button type="button" class="btn btn-danger" data-toggle="collapse" data-target="#demo">
   {{_i}}simple collapsible{{/i}}
@@ -1188,137 +1180,137 @@ $('#my-alert').bind('closed', function () {
 
-
+
-

{{_i}}Usage{{/i}}

+

{{_i}}Usage{{/i}}

-

{{_i}}Via data attributes{{/i}}

-

{{_i}}Just add data-toggle="collapse" and a data-target to element to automatically assign control of a collapsible element. The data-target attribute accepts a css selector to apply the collapse to. Be sure to add the class collapse to the collapsible element. If you'd like it to default open, add the additional class in.{{/i}}

-

{{_i}}To add accordion-like group management to a collapsible control, add the data attribute data-parent="#selector". Refer to the demo to see this in action.{{/i}}

+

{{_i}}Via data attributes{{/i}}

+

{{_i}}Just add data-toggle="collapse" and a data-target to element to automatically assign control of a collapsible element. The data-target attribute accepts a css selector to apply the collapse to. Be sure to add the class collapse to the collapsible element. If you'd like it to default open, add the additional class in.{{/i}}

+

{{_i}}To add accordion-like group management to a collapsible control, add the data attribute data-parent="#selector". Refer to the demo to see this in action.{{/i}}

-

{{_i}}Via javascript{{/i}}

-

{{_i}}Enable manually with:{{/i}}

-
$(".collapse").collapse()
+

{{_i}}Via javascript{{/i}}

+

{{_i}}Enable manually with:{{/i}}

+
$(".collapse").collapse()
-

{{_i}}Options{{/i}}

-

{{_i}}Options can be passed via data attributes or javascript. For data attributes, append the option name to data-, as in data-parent="".{{/i}}

- - - - - - - - - - - - - - - - - - - - - - - -
{{_i}}Name{{/i}}{{_i}}type{{/i}}{{_i}}default{{/i}}{{_i}}description{{/i}}
{{_i}}parent{{/i}}{{_i}}selector{{/i}}false{{_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}}{{_i}}boolean{{/i}}true{{_i}}Toggles the collapsible element on invocation{{/i}}
+

{{_i}}Options{{/i}}

+

{{_i}}Options can be passed via data attributes or javascript. For data attributes, append the option name to data-, as in data-parent="".{{/i}}

+ + + + + + + + + + + + + + + + + + + + + + + +
{{_i}}Name{{/i}}{{_i}}type{{/i}}{{_i}}default{{/i}}{{_i}}description{{/i}}
{{_i}}parent{{/i}}{{_i}}selector{{/i}}false{{_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}}{{_i}}boolean{{/i}}true{{_i}}Toggles the collapsible element on invocation{{/i}}
-

{{_i}}Methods{{/i}}

-

.collapse({{_i}}options{{/i}})

-

{{_i}}Activates your content as a collapsible element. Accepts an optional options object.{{/i}} +

{{_i}}Methods{{/i}}

+

.collapse({{_i}}options{{/i}})

+

{{_i}}Activates your content as a collapsible element. Accepts an optional options object.{{/i}}

 $('#myCollapsible').collapse({
   toggle: false
 })
-

.collapse('toggle')

-

{{_i}}Toggles a collapsible element to shown or hidden.{{/i}}

-

.collapse('show')

-

{{_i}}Shows a collapsible element.{{/i}}

-

.collapse('hide')

-

{{_i}}Hides a collapsible element.{{/i}}

+

.collapse('toggle')

+

{{_i}}Toggles a collapsible element to shown or hidden.{{/i}}

+

.collapse('show')

+

{{_i}}Shows a collapsible element.{{/i}}

+

.collapse('hide')

+

{{_i}}Hides a collapsible element.{{/i}}

-

{{_i}}Events{{/i}}

-

{{_i}}Bootstrap's collapse class exposes a few events for hooking into collapse functionality.{{/i}}

- - - - - - - - - - - - - - - - - - - - - - - - - -
{{_i}}Event{{/i}}{{_i}}Description{{/i}}
{{_i}}show{{/i}}{{_i}}This event fires immediately when the show instance method is called.{{/i}}
{{_i}}shown{{/i}}{{_i}}This event is fired when a collapse element has been made visible to the user (will wait for css transitions to complete).{{/i}}
{{_i}}hide{{/i}} - {{_i}}This event is fired immediately when the hide method has been called.{{/i}} -
{{_i}}hidden{{/i}}{{_i}}This event is fired when a collapse element has been hidden from the user (will wait for css transitions to complete).{{/i}}
+

{{_i}}Events{{/i}}

+

{{_i}}Bootstrap's collapse class exposes a few events for hooking into collapse functionality.{{/i}}

+ + + + + + + + + + + + + + + + + + + + + + + + + +
{{_i}}Event{{/i}}{{_i}}Description{{/i}}
{{_i}}show{{/i}}{{_i}}This event fires immediately when the show instance method is called.{{/i}}
{{_i}}shown{{/i}}{{_i}}This event is fired when a collapse element has been made visible to the user (will wait for css transitions to complete).{{/i}}
{{_i}}hide{{/i}} + {{_i}}This event is fired immediately when the hide method has been called.{{/i}} +
{{_i}}hidden{{/i}}{{_i}}This event is fired when a collapse element has been hidden from the user (will wait for css transitions to complete).{{/i}}
 $('#myCollapsible').on('hidden', function () {
   // {{_i}}do something…{{/i}}
 })
-
+
- - +

{{_i}}Events{{/i}}

+

{{_i}}Bootstrap's carousel class exposes two events for hooking into carousel functionality.{{/i}}

+ + + + + + + + + + + + + + + + + +
{{_i}}Event{{/i}}{{_i}}Description{{/i}}
{{_i}}slide{{/i}}{{_i}}This event fires immediately when the slide instance method is invoked.{{/i}}
{{_i}}slid{{/i}}{{_i}}This event is fired when the carousel has completed its slide transition.{{/i}}
+ - -
- + +
+ -

{{_i}}Example{{/i}}

-

{{_i}}A basic, easily extended plugin for quickly creating elegant typeaheads with any form text input.{{/i}}

-
- -
{{! /example }} +

{{_i}}Example{{/i}}

+

{{_i}}A basic, easily extended plugin for quickly creating elegant typeaheads with any form text input.{{/i}}

+
+ +
{{! /example }}
 <input type="text" data-provide="typeahead">
 
-
+
-

{{_i}}Usage{{/i}}

+

{{_i}}Usage{{/i}}

-

{{_i}}Via data attributes{{/i}}

-

{{_i}}Add data attributes to register an element with typeahead functionality as shown in the example above.{{/i}}

+

{{_i}}Via data attributes{{/i}}

+

{{_i}}Add data attributes to register an element with typeahead functionality as shown in the example above.{{/i}}

-

{{_i}}Via javascript{{/i}}

-

{{_i}}Call the typeahead manually with:{{/i}}

-
$('.typeahead').typeahead()
+

{{_i}}Via javascript{{/i}}

+

{{_i}}Call the typeahead manually with:{{/i}}

+
$('.typeahead').typeahead()
-

{{_i}}Options{{/i}}

-

{{_i}}Options can be passed via data attributes or javascript. For data attributes, append the option name to data-, as in data-source="".{{/i}}

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{{_i}}Name{{/i}}{{_i}}type{{/i}}{{_i}}default{{/i}}{{_i}}description{{/i}}
{{_i}}source{{/i}}{{_i}}array, function{{/i}}[ ]{{_i}}The data source to query against. May be an array of strings or a function. The function is passed two arguments, the query value in the input field and the process callback. The function may be used synchronously by returning the data source directly or asynchronously via the process callback's single argument.{{/i}}
{{_i}}items{{/i}}{{_i}}number{{/i}}8{{_i}}The max number of items to display in the dropdown.{{/i}}
{{_i}}matcher{{/i}}{{_i}}function{{/i}}{{_i}}case insensitive{{/i}}{{_i}}The method used to determine if a query matches an item. Accepts a single argument, the item against which to test the query. Access the current query with this.query. Return a boolean true if query is a match.{{/i}}
{{_i}}sorter{{/i}}{{_i}}function{{/i}}{{_i}}exact match,
case sensitive,
case insensitive{{/i}}
{{_i}}Method used to sort autocomplete results. Accepts a single argument items and has the scope of the typeahead instance. Reference the current query with this.query.{{/i}}
{{_i}}highlighter{{/i}}{{_i}}function{{/i}}{{_i}}highlights all default matches{{/i}}{{_i}}Method used to highlight autocomplete results. Accepts a single argument item and has the scope of the typeahead instance. Should return html.{{/i}}
+

{{_i}}Options{{/i}}

+

{{_i}}Options can be passed via data attributes or javascript. For data attributes, append the option name to data-, as in data-source="".{{/i}}

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{{_i}}Name{{/i}}{{_i}}type{{/i}}{{_i}}default{{/i}}{{_i}}description{{/i}}
{{_i}}source{{/i}}{{_i}}array, function{{/i}}[ ]{{_i}}The data source to query against. May be an array of strings or a function. The function is passed two arguments, the query value in the input field and the process callback. The function may be used synchronously by returning the data source directly or asynchronously via the process callback's single argument.{{/i}}
{{_i}}items{{/i}}{{_i}}number{{/i}}8{{_i}}The max number of items to display in the dropdown.{{/i}}
{{_i}}matcher{{/i}}{{_i}}function{{/i}}{{_i}}case insensitive{{/i}}{{_i}}The method used to determine if a query matches an item. Accepts a single argument, the item against which to test the query. Access the current query with this.query. Return a boolean true if query is a match.{{/i}}
{{_i}}sorter{{/i}}{{_i}}function{{/i}}{{_i}}exact match,
case sensitive,
case insensitive{{/i}}
{{_i}}Method used to sort autocomplete results. Accepts a single argument items and has the scope of the typeahead instance. Reference the current query with this.query.{{/i}}
{{_i}}highlighter{{/i}}{{_i}}function{{/i}}{{_i}}highlights all default matches{{/i}}{{_i}}Method used to highlight autocomplete results. Accepts a single argument item and has the scope of the typeahead instance. Should return html.{{/i}}
-

{{_i}}Methods{{/i}}

-

.typeahead({{_i}}options{{/i}})

-

{{_i}}Initializes an input with a typeahead.{{/i}}

-
+

{{_i}}Methods{{/i}}

+

.typeahead({{_i}}options{{/i}})

+

{{_i}}Initializes an input with a typeahead.{{/i}}

+
- -
- + +
+ -

{{_i}}...{{/i}}

-

{{_i}}...{{/i}}

-
+

{{_i}}...{{/i}}

+

{{_i}}...{{/i}}

+
-
+
 ...
 
-
+
- - \ No newline at end of file + + + {{! /span9 }} +{{! row}} diff --git a/docs/templates/pages/scaffolding.mustache b/docs/templates/pages/scaffolding.mustache index 2d25814001..02d8a9df18 100644 --- a/docs/templates/pages/scaffolding.mustache +++ b/docs/templates/pages/scaffolding.mustache @@ -1,23 +1,14 @@ -

{{_i}}Scaffolding{{/i}}

{{_i}}Bootstrap is built on a responsive 12-column grid. We've also included fixed- and fluid-width layouts based on that system.{{/i}}

-
+ +
-
\ No newline at end of file + + + {{! /span9 }} +{{! row}} diff --git a/less/buttons.less b/less/buttons.less index 222a587bdc..b25d971805 100644 --- a/less/buttons.less +++ b/less/buttons.less @@ -15,12 +15,10 @@ font-size: 13px; line-height: 20px; *line-height: 20px; - color: @grayDark; text-align: center; - text-shadow: 0 1px 1px rgba(255,255,255,.75); vertical-align: middle; cursor: pointer; - .buttonBackground(@btnBackground, @btnBackgroundHighlight); + .buttonBackground(@btnBackground, @btnBackgroundHighlight, @grayDark, 0 1px 1px rgba(255,255,255,.75)); border: 1px solid @btnBorder; *border: 0; // Remove the border to prevent IE7's black border on input:focus border-bottom-color: darken(@btnBorder, 10%); @@ -105,23 +103,6 @@ // Alternate buttons // -------------------------------------------------- -// Set text color -// ------------------------- -.btn-primary, -.btn-primary:hover, -.btn-warning, -.btn-warning:hover, -.btn-danger, -.btn-danger:hover, -.btn-success, -.btn-success:hover, -.btn-info, -.btn-info:hover, -.btn-inverse, -.btn-inverse:hover { - color: @white; - text-shadow: 0 -1px 0 rgba(0,0,0,.25); -} // Provide *some* extra contrast for those who can get it .btn-primary.active, .btn-warning.active, diff --git a/less/forms.less b/less/forms.less index 63ee05751a..ddadab8ca3 100644 --- a/less/forms.less +++ b/less/forms.less @@ -22,7 +22,7 @@ legend { display: block; width: 100%; padding: 0; - margin-bottom: @baseLineHeight * 1.5; + margin-bottom: @baseLineHeight; font-size: @baseFontSize * 1.5; line-height: @baseLineHeight * 2; color: @grayDark; @@ -290,8 +290,18 @@ textarea[class*="span"], // GRID SIZING FOR INPUTS // ---------------------- +// Grid sizes #grid > .input(@gridColumnWidth, @gridGutterWidth); +// Control row for multiple inputs per line +.controls-row { + .clearfix(); // Clear the float from controls +} +.controls-row [class*="span"] { + float: left; // Float to collapse white-space for proper grid alignment +} + + // DISABLED STATE @@ -389,8 +399,8 @@ select:focus:required:invalid { // ------------ // Allow us to put symbols and text within the input field for a cleaner look -.input-prepend, -.input-append { +.input-append, +.input-prepend { margin-bottom: 5px; font-size: 0; white-space: nowrap; // Prevent span and input from separating @@ -479,15 +489,34 @@ select:focus:required:invalid { // SEARCH FORM // ----------- -input.search-query { +.search-query { padding-right: 14px; padding-right: 4px \9; padding-left: 14px; padding-left: 4px \9; /* IE7-8 doesn't have border-radius, so don't indent the padding */ - margin-bottom: 0; // remove the default margin on all inputs + margin-bottom: 0; // Remove the default margin on all inputs .border-radius(14px); } +/* Allow for input prepend/append in search forms */ +.form-search .input-append .search-query, +.form-search .input-prepend .search-query { + .border-radius(0); // Override due to specificity +} +.form-search .input-append .search-query { + .border-radius(14px 0 0 14px) +} +.form-search .input-append .btn { + .border-radius(0 14px 14px 0) +} +.form-search .input-prepend .search-query { + .border-radius(0 14px 14px 0) +} +.form-search .input-prepend .btn { + .border-radius(14px 0 0 14px) +} + + // HORIZONTAL & VERTICAL FORMS diff --git a/less/mixins.less b/less/mixins.less index 10239b38c2..54490b73bc 100644 --- a/less/mixins.less +++ b/less/mixins.less @@ -389,7 +389,9 @@ } // Gradient Bar Colors for buttons and alerts -.gradientBar(@primaryColor, @secondaryColor) { +.gradientBar(@primaryColor, @secondaryColor, @textColor: #fff, @textShadow: 0 -1px 0 rgba(0,0,0,.25)) { + color: @textColor; + text-shadow: @textShadow; #gradient > .vertical(@primaryColor, @secondaryColor); border-color: @secondaryColor @secondaryColor darken(@secondaryColor, 15%); border-color: rgba(0,0,0,.1) rgba(0,0,0,.1) fadein(rgba(0,0,0,.1), 15%); @@ -481,14 +483,15 @@ // Button backgrounds // ------------------ -.buttonBackground(@startColor, @endColor) { +.buttonBackground(@startColor, @endColor, @textColor: #fff, @textShadow: 0 -1px 0 rgba(0,0,0,.25)) { // gradientBar will set the background to a pleasing blend of these, to support IE<=9 - .gradientBar(@startColor, @endColor); + .gradientBar(@startColor, @endColor, @textColor, @textShadow); *background-color: @endColor; /* Darken IE7 buttons by default so they stand out more given they won't have borders */ .reset-filter(); // in these cases the gradient won't cover the background, so we override &:hover, &:active, &.active, &.disabled, &[disabled] { + color: @textColor; background-color: @endColor; *background-color: darken(@endColor, 5%); } @@ -508,75 +511,7 @@ margin-top: (@navbarHeight - @elementHeight) / 2; } -// Popover arrows -// ------------------------- -// For tipsies and popovers -#popoverArrow { - .top(@arrowWidth: 10px, @color: rgba(0,0,0,.2)) { - bottom: -@arrowWidth; - left: 50%; - margin-left: -@arrowWidth; - border-left: @arrowWidth solid transparent; - border-right: @arrowWidth solid transparent; - border-top: @arrowWidth solid #ccc; - border-top: @arrowWidth solid @color; - &:after { - border-left: @arrowWidth - 1 solid transparent; - border-right: @arrowWidth - 1 solid transparent; - border-top: @arrowWidth - 1 solid #fff; - bottom: 1px; - left: -@arrowWidth + 1; - } - } - .right(@arrowWidth: 10px, @color: rgba(0,0,0,.2)) { - top: 50%; - left: -@arrowWidth; - margin-top: -@arrowWidth; - border-top: @arrowWidth solid transparent; - border-bottom: @arrowWidth solid transparent; - border-right: @arrowWidth solid #ccc; - border-right: @arrowWidth solid @color; - &:after { - border-top: @arrowWidth - 1 solid transparent; - border-bottom: @arrowWidth - 1 solid transparent; - border-right: @arrowWidth - 1 solid #fff; - bottom: -@arrowWidth + 1; - left: 1px; - } - } - .bottom(@arrowWidth: 10px, @color: rgba(0,0,0,.2)) { - top: -@arrowWidth; - left: 50%; - margin-left: -@arrowWidth; - border-left: @arrowWidth solid transparent; - border-right: @arrowWidth solid transparent; - border-bottom: @arrowWidth solid #ccc; - border-bottom: @arrowWidth solid @color; - &:after { - border-left: @arrowWidth - 1 solid transparent; - border-right: @arrowWidth - 1 solid transparent; - border-bottom: @arrowWidth - 1 solid #f5f5f5; - top: 1px; - left: -@arrowWidth + 1; - } - } - .left(@arrowWidth: 10px, @color: rgba(0,0,0,.2)) { - top: 50%; - right: -@arrowWidth; - margin-top: -@arrowWidth; - border-top: @arrowWidth solid transparent; - border-bottom: @arrowWidth solid transparent; - border-left: @arrowWidth solid #ccc; - border-left: @arrowWidth solid @color; - &:after { - border-top: @arrowWidth - 1 solid transparent; - border-bottom: @arrowWidth - 1 solid transparent; - border-left: @arrowWidth - 1 solid #fff; - bottom: -@arrowWidth + 1; - right: 1px; - } - } -} + // Grid System // ----------- @@ -721,6 +656,11 @@ margin-left: 0; // override margin-left from core grid system } + // Space grid-sized controls properly if multiple per line + .controls-row [class*="span"] + [class*="span"] { + margin-left: @gridGutterWidth; + } + // generate .spanX .spanX (@gridColumns); diff --git a/less/navbar.less b/less/navbar.less index 660838eb8e..c58fd83d0c 100644 --- a/less/navbar.less +++ b/less/navbar.less @@ -72,7 +72,7 @@ // Buttons in navbar .btn, .btn-group { - .navbarVerticalAlign(30px); // Vertically center in navbar + .navbarVerticalAlign(28px); // Vertically center in navbar } .btn-group .btn { margin: 0; // then undo the margin here so we don't accidentally double it @@ -87,10 +87,11 @@ select, .radio, .checkbox { - .navbarVerticalAlign(30px); // Vertically center in navbar + .navbarVerticalAlign(28px); // Vertically center in navbar } input, - select { + select, + .btn { display: inline-block; margin-bottom: 0; } diff --git a/less/popovers.less b/less/popovers.less index 5ea79cf73c..147f54a5db 100644 --- a/less/popovers.less +++ b/less/popovers.less @@ -9,7 +9,7 @@ left: 0; z-index: @zindexPopover; display: none; - width: 218px; + width: 238px; background-color: #fff; -webkit-background-clip: padding-box; -moz-background-clip: padding; @@ -25,34 +25,16 @@ &.bottom { margin-top: 10px; } &.left { margin-right: 10px; } - // Call the mixin for the arrows - &.top .arrow { #popoverArrow > .top(); } - &.right .arrow { #popoverArrow > .right(); } - &.bottom .arrow { #popoverArrow > .bottom(); } - &.left .arrow { #popoverArrow > .left(); } - - // Common arrow styles - .arrow { - position: absolute; - width: 0; - height: 0; - &:after { - position: absolute; - display: inline-block; - width: 0; - height: 0; - content: ""; - } - } } .popover-title { + margin: 0; // reset heading margin padding: 8px 14px; font-size: 14px; font-weight: normal; line-height: 18px; - background-color: #f5f5f5; - border-bottom: 1px solid #e5e5e5; + background-color: @popoverTitleBackground; + border-bottom: 1px solid darken(@popoverTitleBackground, 10%); .border-radius(5px 5px 0 0); } @@ -62,3 +44,73 @@ margin-bottom: 0; } } + +// Arrows +.popover .arrow, +.popover .arrow:after { + position: absolute; + display: inline-block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} +.popover .arrow:after { + content: ""; + z-index: -1; +} + +.popover { + &.top .arrow { + bottom: -@popoverArrowWidth; + left: 50%; + margin-left: -@popoverArrowWidth; + border-width: @popoverArrowWidth @popoverArrowWidth 0; + border-top-color: @popoverArrowColor; + &:after { + border-width: @popoverArrowOuterWidth @popoverArrowOuterWidth 0; + border-top-color: @popoverArrowOuterColor; + bottom: -1px; + left: -@popoverArrowOuterWidth; + } + } + &.right .arrow { + top: 50%; + left: -@popoverArrowWidth; + margin-top: -@popoverArrowWidth; + border-width: @popoverArrowWidth @popoverArrowWidth @popoverArrowWidth 0; + border-right-color: @popoverArrowColor; + &:after { + border-width: @popoverArrowOuterWidth @popoverArrowOuterWidth @popoverArrowOuterWidth 0; + border-right-color: @popoverArrowOuterColor; + bottom: -@popoverArrowOuterWidth; + left: -1px; + } + } + &.bottom .arrow { + top: -@popoverArrowWidth; + left: 50%; + margin-left: -@popoverArrowWidth; + border-width: 0 @popoverArrowWidth @popoverArrowWidth; + border-bottom-color: @popoverTitleBackground; + &:after { + border-width: 0 @popoverArrowOuterWidth @popoverArrowOuterWidth; + border-bottom-color: @popoverArrowOuterColor; + top: -1px; + left: -@popoverArrowOuterWidth; + } + } + &.left .arrow { + top: 50%; + right: -@popoverArrowWidth; + margin-top: -@popoverArrowWidth; + border-width: @popoverArrowWidth 0 @popoverArrowWidth @popoverArrowWidth; + border-left-color: @popoverArrowColor; + &:after { + border-width: @popoverArrowOuterWidth 0 @popoverArrowOuterWidth @popoverArrowOuterWidth; + border-left-color: @popoverArrowOuterColor; + bottom: -@popoverArrowOuterWidth; + right: -1px; + } + } +} diff --git a/less/responsive-767px-max.less b/less/responsive-767px-max.less index 105ac59845..b7fd7454fb 100644 --- a/less/responsive-767px-max.less +++ b/less/responsive-767px-max.less @@ -51,6 +51,9 @@ .thumbnails { margin-left: 0; } + .thumbnails > li { + float: none; + } // Make all grid-sized elements block level again [class*="span"], .row-fluid [class*="span"] { diff --git a/less/scaffolding.less b/less/scaffolding.less index 5bc90cc168..a218c54786 100644 --- a/less/scaffolding.less +++ b/less/scaffolding.less @@ -4,7 +4,7 @@ // Body reset -// ---------- +// ------------------------- body { margin: 0; @@ -17,7 +17,7 @@ body { // Links -// ----- +// ------------------------- a { color: @linkColor; diff --git a/less/tooltip.less b/less/tooltip.less index 8593e2b5f3..fba1856f58 100644 --- a/less/tooltip.less +++ b/less/tooltip.less @@ -3,6 +3,7 @@ // -------------------------------------------------- +// Base class .tooltip { position: absolute; z-index: @zindexTooltip; @@ -12,26 +13,58 @@ font-size: 11px; .opacity(0); &.in { .opacity(80); } - &.top { margin-top: -2px; } - &.right { margin-left: 2px; } - &.bottom { margin-top: 2px; } - &.left { margin-left: -2px; } - &.top .tooltip-arrow { #popoverArrow > .top(); } - &.left .tooltip-arrow { #popoverArrow > .left(); } - &.bottom .tooltip-arrow { #popoverArrow > .bottom(); } - &.right .tooltip-arrow { #popoverArrow > .right(); } + &.top { margin-top: -3px; } + &.right { margin-left: 3px; } + &.bottom { margin-top: 3px; } + &.left { margin-left: -3px; } } + +// Wrapper for the tooltip content .tooltip-inner { max-width: 200px; padding: 3px 8px; - color: @white; + color: @tooltipColor; text-align: center; text-decoration: none; - background-color: @black; + background-color: @tooltipBackground; .border-radius(4px); } + +// Arrows .tooltip-arrow { position: absolute; width: 0; height: 0; + border-color: transparent; + border-style: solid; +} +.tooltip { + &.top .tooltip-arrow { + bottom: 0; + left: 50%; + margin-left: -@tooltipArrowWidth; + border-width: @tooltipArrowWidth @tooltipArrowWidth 0; + border-top-color: @tooltipArrowColor; + } + &.right .tooltip-arrow { + top: 50%; + left: 0; + margin-top: -@tooltipArrowWidth; + border-width: @tooltipArrowWidth @tooltipArrowWidth @tooltipArrowWidth 0; + border-right-color: @tooltipArrowColor; + } + &.left .tooltip-arrow { + top: 50%; + right: 0; + margin-top: -@tooltipArrowWidth; + border-width: @tooltipArrowWidth 0 @tooltipArrowWidth @tooltipArrowWidth; + border-left-color: @tooltipArrowColor; + } + &.bottom .tooltip-arrow { + top: 0; + left: 50%; + margin-left: -@tooltipArrowWidth; + border-width: 0 @tooltipArrowWidth @tooltipArrowWidth; + border-bottom-color: @tooltipArrowColor; + } } diff --git a/less/variables.less b/less/variables.less index 9e7146a754..725100443b 100644 --- a/less/variables.less +++ b/less/variables.less @@ -198,6 +198,22 @@ @infoBorder: darken(spin(@infoBackground, -10), 7%); +// Tooltips and popovers +// ------------------------- +@tooltipColor: #fff; +@tooltipBackground: #000; +@tooltipArrowWidth: 5px; +@tooltipArrowColor: @tooltipBackground; + +@popoverArrowWidth: 10px; +@popoverArrowColor: #fff; +@popoverTitleBackground: #f5f5f5; + +// Special enhancement for popovers +@popoverArrowOuterWidth: @popoverArrowWidth + 1; +@popoverArrowOuterColor: rgba(0,0,0,.2); + + // GRID // --------------------------------------------------