0
0
mirror of https://github.com/twbs/bootstrap.git synced 2025-03-15 15:29:22 +01:00

Merge branch '2.0.2-wip' of https://github.com/twitter/bootstrap into features/warning_progress_bar

This commit is contained in:
Jonathan Camile 2012-02-28 11:06:05 +01:00
commit a397130669
46 changed files with 1969 additions and 678 deletions

View File

@ -1,9 +1,17 @@
TWITTER BOOTSTRAP [Twitter Bootstrap](http://twitter.github.com/bootstrap)
================= =================
Bootstrap is Twitter's toolkit for kickstarting CSS for websites, apps, and more. It includes base CSS styles for typography, forms, buttons, tables, grids, navigation, alerts, and more. Bootstrap provides simple and flexible HTML, CSS, and Javascript for popular user interface components and interactions. In other words, it's a front-end toolkit for faster, more beautiful web development. It's created and maintained by [Mark Otto](http://twitter.com/mdo) and [Jacob Thornton](http://twitter.com/fat) at Twitter.
To get started, checkout http://twitter.github.com/bootstrap!
Quick start
-----------
Clone the repo, `git clone git@github.com:twitter/bootstrap.git`, or [download the latest release](https://github.com/twitter/bootstrap/zipball/master).
To get started -- checkout http://twitter.github.com/bootstrap!
Versioning Versioning
@ -24,6 +32,7 @@ And constructed with the following guidelines:
For more information on SemVer, please visit http://semver.org/. For more information on SemVer, please visit http://semver.org/.
Bug tracker Bug tracker
----------- -----------
@ -32,10 +41,12 @@ Have a bug? Please create an issue here on GitHub!
https://github.com/twitter/bootstrap/issues https://github.com/twitter/bootstrap/issues
Twitter account Twitter account
--------------- ---------------
Keep up to date on announcements and more by following Bootstrap on Twitter, <a href="http://twitter.com/TwBootstrap">@TwBootstrap</a>. Keep up to date on announcements and more by following Bootstrap on Twitter, [@TwBootstrap](http://twitter.com/TwBootstrap).
Mailing list Mailing list
@ -48,6 +59,7 @@ twitter-bootstrap@googlegroups.com
http://groups.google.com/group/twitter-bootstrap http://groups.google.com/group/twitter-bootstrap
IRC IRC
--- ---
@ -56,6 +68,7 @@ Server: irc.freenode.net
Channel: ##twitter-bootstrap (the double ## is not a typo) Channel: ##twitter-bootstrap (the double ## is not a typo)
Developers Developers
---------- ----------
@ -68,6 +81,7 @@ Runs the LESS compiler to rebuild the `/less` files and compiles the docs pages.
This is a convenience method for watching just Less files and automatically building them whenever you save. Requires the Watchr gem. This is a convenience method for watching just Less files and automatically building them whenever you save. Requires the Watchr gem.
Authors Authors
------- -------
@ -82,6 +96,7 @@ Authors
+ http://github.com/fat + http://github.com/fat
Copyright and license Copyright and license
--------------------- ---------------------

Binary file not shown.

View File

@ -21,6 +21,52 @@
display: none; display: none;
visibility: hidden; visibility: hidden;
} }
.visible-phone {
display: none;
}
.visible-tablet {
display: none;
}
.visible-desktop {
display: block;
}
.hidden-phone {
display: block;
}
.hidden-tablet {
display: block;
}
.hidden-desktop {
display: none;
}
@media (max-width: 767px) {
.visible-phone {
display: block;
}
.hidden-phone {
display: none;
}
.hidden-desktop {
display: block;
}
.visible-desktop {
display: none;
}
}
@media (min-width: 768px) and (max-width: 979px) {
.visible-tablet {
display: block;
}
.hidden-tablet {
display: none;
}
.hidden-desktop {
display: block;
}
.visible-desktop {
display: none;
}
}
@media (max-width: 480px) { @media (max-width: 480px) {
.nav-collapse { .nav-collapse {
-webkit-transform: translate3d(0, 0, 0); -webkit-transform: translate3d(0, 0, 0);
@ -128,6 +174,9 @@
float: left; float: left;
margin-left: 20px; margin-left: 20px;
} }
.container, .navbar-fixed-top .container, .navbar-fixed-bottom .container {
width: 724px;
}
.span1 { .span1 {
width: 42px; width: 42px;
} }
@ -161,7 +210,7 @@
.span11 { .span11 {
width: 662px; width: 662px;
} }
.span12, .container { .span12 {
width: 724px; width: 724px;
} }
.offset1 { .offset1 {
@ -197,6 +246,9 @@
.offset11 { .offset11 {
margin-left: 702px; margin-left: 702px;
} }
.offset12 {
margin-left: 764px;
}
.row-fluid { .row-fluid {
width: 100%; width: 100%;
*zoom: 1; *zoom: 1;
@ -251,40 +303,43 @@
.row-fluid > .span12 { .row-fluid > .span12 {
width: 99.999999993%; width: 99.999999993%;
} }
input.span1, textarea.span1, .uneditable-input.span1 { input, textarea, .uneditable-input {
margin-left: 0;
}
input > .span1, textarea > .span1, .uneditable-input > .span1 {
width: 32px; width: 32px;
} }
input.span2, textarea.span2, .uneditable-input.span2 { input > .span2, textarea > .span2, .uneditable-input > .span2 {
width: 94px; width: 94px;
} }
input.span3, textarea.span3, .uneditable-input.span3 { input > .span3, textarea > .span3, .uneditable-input > .span3 {
width: 156px; width: 156px;
} }
input.span4, textarea.span4, .uneditable-input.span4 { input > .span4, textarea > .span4, .uneditable-input > .span4 {
width: 218px; width: 218px;
} }
input.span5, textarea.span5, .uneditable-input.span5 { input > .span5, textarea > .span5, .uneditable-input > .span5 {
width: 280px; width: 280px;
} }
input.span6, textarea.span6, .uneditable-input.span6 { input > .span6, textarea > .span6, .uneditable-input > .span6 {
width: 342px; width: 342px;
} }
input.span7, textarea.span7, .uneditable-input.span7 { input > .span7, textarea > .span7, .uneditable-input > .span7 {
width: 404px; width: 404px;
} }
input.span8, textarea.span8, .uneditable-input.span8 { input > .span8, textarea > .span8, .uneditable-input > .span8 {
width: 466px; width: 466px;
} }
input.span9, textarea.span9, .uneditable-input.span9 { input > .span9, textarea > .span9, .uneditable-input > .span9 {
width: 528px; width: 528px;
} }
input.span10, textarea.span10, .uneditable-input.span10 { input > .span10, textarea > .span10, .uneditable-input > .span10 {
width: 590px; width: 590px;
} }
input.span11, textarea.span11, .uneditable-input.span11 { input > .span11, textarea > .span11, .uneditable-input > .span11 {
width: 652px; width: 652px;
} }
input.span12, textarea.span12, .uneditable-input.span12 { input > .span12, textarea > .span12, .uneditable-input > .span12 {
width: 714px; width: 714px;
} }
} }
@ -395,6 +450,7 @@
@media (min-width: 980px) { @media (min-width: 980px) {
.nav-collapse.collapse { .nav-collapse.collapse {
height: auto !important; height: auto !important;
overflow: visible !important;
} }
} }
@media (min-width: 1200px) { @media (min-width: 1200px) {
@ -413,6 +469,9 @@
float: left; float: left;
margin-left: 30px; margin-left: 30px;
} }
.container, .navbar-fixed-top .container, .navbar-fixed-bottom .container {
width: 1170px;
}
.span1 { .span1 {
width: 70px; width: 70px;
} }
@ -446,7 +505,7 @@
.span11 { .span11 {
width: 1070px; width: 1070px;
} }
.span12, .container { .span12 {
width: 1170px; width: 1170px;
} }
.offset1 { .offset1 {
@ -482,6 +541,9 @@
.offset11 { .offset11 {
margin-left: 1130px; margin-left: 1130px;
} }
.offset12 {
margin-left: 1230px;
}
.row-fluid { .row-fluid {
width: 100%; width: 100%;
*zoom: 1; *zoom: 1;
@ -536,40 +598,43 @@
.row-fluid > .span12 { .row-fluid > .span12 {
width: 100%; width: 100%;
} }
input.span1, textarea.span1, .uneditable-input.span1 { input, textarea, .uneditable-input {
margin-left: 0;
}
input > .span1, textarea > .span1, .uneditable-input > .span1 {
width: 60px; width: 60px;
} }
input.span2, textarea.span2, .uneditable-input.span2 { input > .span2, textarea > .span2, .uneditable-input > .span2 {
width: 160px; width: 160px;
} }
input.span3, textarea.span3, .uneditable-input.span3 { input > .span3, textarea > .span3, .uneditable-input > .span3 {
width: 260px; width: 260px;
} }
input.span4, textarea.span4, .uneditable-input.span4 { input > .span4, textarea > .span4, .uneditable-input > .span4 {
width: 360px; width: 360px;
} }
input.span5, textarea.span5, .uneditable-input.span5 { input > .span5, textarea > .span5, .uneditable-input > .span5 {
width: 460px; width: 460px;
} }
input.span6, textarea.span6, .uneditable-input.span6 { input > .span6, textarea > .span6, .uneditable-input > .span6 {
width: 560px; width: 560px;
} }
input.span7, textarea.span7, .uneditable-input.span7 { input > .span7, textarea > .span7, .uneditable-input > .span7 {
width: 660px; width: 660px;
} }
input.span8, textarea.span8, .uneditable-input.span8 { input > .span8, textarea > .span8, .uneditable-input > .span8 {
width: 760px; width: 760px;
} }
input.span9, textarea.span9, .uneditable-input.span9 { input > .span9, textarea > .span9, .uneditable-input > .span9 {
width: 860px; width: 860px;
} }
input.span10, textarea.span10, .uneditable-input.span10 { input > .span10, textarea > .span10, .uneditable-input > .span10 {
width: 960px; width: 960px;
} }
input.span11, textarea.span11, .uneditable-input.span11 { input > .span11, textarea > .span11, .uneditable-input > .span11 {
width: 1060px; width: 1060px;
} }
input.span12, textarea.span12, .uneditable-input.span12 { input > .span12, textarea > .span12, .uneditable-input > .span12 {
width: 1160px; width: 1160px;
} }
.thumbnails { .thumbnails {

View File

@ -53,7 +53,6 @@ sub {
bottom: -0.25em; bottom: -0.25em;
} }
img { img {
max-width: 100%;
height: auto; height: auto;
border: 0; border: 0;
-ms-interpolation-mode: bicubic; -ms-interpolation-mode: bicubic;
@ -135,6 +134,9 @@ a:hover {
float: left; float: left;
margin-left: 20px; margin-left: 20px;
} }
.container, .navbar-fixed-top .container, .navbar-fixed-bottom .container {
width: 940px;
}
.span1 { .span1 {
width: 60px; width: 60px;
} }
@ -168,7 +170,7 @@ a:hover {
.span11 { .span11 {
width: 860px; width: 860px;
} }
.span12, .container { .span12 {
width: 940px; width: 940px;
} }
.offset1 { .offset1 {
@ -204,6 +206,9 @@ a:hover {
.offset11 { .offset11 {
margin-left: 900px; margin-left: 900px;
} }
.offset12 {
margin-left: 980px;
}
.row-fluid { .row-fluid {
width: 100%; width: 100%;
*zoom: 1; *zoom: 1;
@ -259,7 +264,6 @@ a:hover {
width: 99.99999998999999%; width: 99.99999998999999%;
} }
.container { .container {
width: 940px;
margin-left: auto; margin-left: auto;
margin-right: auto; margin-right: auto;
*zoom: 1; *zoom: 1;
@ -415,12 +419,14 @@ em {
.muted { .muted {
color: #999999; color: #999999;
} }
abbr { abbr[title] {
font-size: 90%;
text-transform: uppercase;
border-bottom: 1px dotted #ddd; border-bottom: 1px dotted #ddd;
cursor: help; cursor: help;
} }
abbr.initialism {
font-size: 90%;
text-transform: uppercase;
}
blockquote { blockquote {
padding: 0 0 0 15px; padding: 0 0 0 15px;
margin: 0 0 18px; margin: 0 0 18px;
@ -478,7 +484,7 @@ code, pre {
border-radius: 3px; border-radius: 3px;
} }
code { code {
padding: 3px 4px; padding: 2px 4px;
color: #d14; color: #d14;
background-color: #f7f7f9; background-color: #f7f7f9;
border: 1px solid #e1e1e8; border: 1px solid #e1e1e8;
@ -720,40 +726,43 @@ textarea[class*="span"],
float: none; float: none;
margin-left: 0; margin-left: 0;
} }
input.span1, textarea.span1, .uneditable-input.span1 { input, textarea, .uneditable-input {
margin-left: 0;
}
input > .span1, textarea > .span1, .uneditable-input > .span1 {
width: 50px; width: 50px;
} }
input.span2, textarea.span2, .uneditable-input.span2 { input > .span2, textarea > .span2, .uneditable-input > .span2 {
width: 130px; width: 130px;
} }
input.span3, textarea.span3, .uneditable-input.span3 { input > .span3, textarea > .span3, .uneditable-input > .span3 {
width: 210px; width: 210px;
} }
input.span4, textarea.span4, .uneditable-input.span4 { input > .span4, textarea > .span4, .uneditable-input > .span4 {
width: 290px; width: 290px;
} }
input.span5, textarea.span5, .uneditable-input.span5 { input > .span5, textarea > .span5, .uneditable-input > .span5 {
width: 370px; width: 370px;
} }
input.span6, textarea.span6, .uneditable-input.span6 { input > .span6, textarea > .span6, .uneditable-input > .span6 {
width: 450px; width: 450px;
} }
input.span7, textarea.span7, .uneditable-input.span7 { input > .span7, textarea > .span7, .uneditable-input > .span7 {
width: 530px; width: 530px;
} }
input.span8, textarea.span8, .uneditable-input.span8 { input > .span8, textarea > .span8, .uneditable-input > .span8 {
width: 610px; width: 610px;
} }
input.span9, textarea.span9, .uneditable-input.span9 { input > .span9, textarea > .span9, .uneditable-input > .span9 {
width: 690px; width: 690px;
} }
input.span10, textarea.span10, .uneditable-input.span10 { input > .span10, textarea > .span10, .uneditable-input > .span10 {
width: 770px; width: 770px;
} }
input.span11, textarea.span11, .uneditable-input.span11 { input > .span11, textarea > .span11, .uneditable-input > .span11 {
width: 850px; width: 850px;
} }
input.span12, textarea.span12, .uneditable-input.span12 { input > .span12, textarea > .span12, .uneditable-input > .span12 {
width: 930px; width: 930px;
} }
input[disabled], input[disabled],
@ -836,6 +845,14 @@ input:focus:required:invalid:focus, textarea:focus:required:invalid:focus, selec
margin-bottom: 18px; margin-bottom: 18px;
background-color: #f5f5f5; background-color: #f5f5f5;
border-top: 1px solid #ddd; border-top: 1px solid #ddd;
*zoom: 1;
}
.form-actions:before, .form-actions:after {
display: table;
content: "";
}
.form-actions:after {
clear: both;
} }
.uneditable-input { .uneditable-input {
display: block; display: block;
@ -852,11 +869,12 @@ input:focus:required:invalid:focus, textarea:focus:required:invalid:focus, selec
::-webkit-input-placeholder { ::-webkit-input-placeholder {
color: #999999; color: #999999;
} }
.help-block, .help-inline {
color: #555555;
}
.help-block { .help-block {
display: block; display: block;
margin-top: 5px; margin-bottom: 9px;
margin-bottom: 0;
color: #999999;
} }
.help-inline { .help-inline {
display: inline-block; display: inline-block;
@ -864,7 +882,6 @@ input:focus:required:invalid:focus, textarea:focus:required:invalid:focus, selec
/* IE7 inline-block hack */ /* IE7 inline-block hack */
*zoom: 1; *zoom: 1;
margin-bottom: 9px;
vertical-align: middle; vertical-align: middle;
padding-left: 5px; padding-left: 5px;
} }
@ -884,6 +901,8 @@ input:focus:required:invalid:focus, textarea:focus:required:invalid:focus, selec
} }
.input-prepend input, .input-prepend input,
.input-append input, .input-append input,
.input-prepend select,
.input-append select,
.input-prepend .uneditable-input, .input-prepend .uneditable-input,
.input-append .uneditable-input { .input-append .uneditable-input {
-webkit-border-radius: 0 3px 3px 0; -webkit-border-radius: 0 3px 3px 0;
@ -892,6 +911,8 @@ input:focus:required:invalid:focus, textarea:focus:required:invalid:focus, selec
} }
.input-prepend input:focus, .input-prepend input:focus,
.input-append input:focus, .input-append input:focus,
.input-prepend select:focus,
.input-append select:focus,
.input-prepend .uneditable-input:focus, .input-prepend .uneditable-input:focus,
.input-append .uneditable-input:focus { .input-append .uneditable-input:focus {
position: relative; position: relative;
@ -910,7 +931,6 @@ input:focus:required:invalid:focus, textarea:focus:required:invalid:focus, selec
padding: 4px 5px; padding: 4px 5px;
font-weight: normal; font-weight: normal;
line-height: 18px; line-height: 18px;
color: #999999;
text-align: center; text-align: center;
text-shadow: 0 1px 0 #ffffff; text-shadow: 0 1px 0 #ffffff;
background-color: #f5f5f5; background-color: #f5f5f5;
@ -928,7 +948,7 @@ input:focus:required:invalid:focus, textarea:focus:required:invalid:focus, selec
/* IE6-7 */ /* IE6-7 */
} }
.input-append input, .input-append .uneditable-input { .input-append input, .input-append select .uneditable-input {
float: left; float: left;
-webkit-border-radius: 3px 0 0 3px; -webkit-border-radius: 3px 0 0 3px;
-moz-border-radius: 3px 0 0 3px; -moz-border-radius: 3px 0 0 3px;
@ -989,18 +1009,27 @@ input:focus:required:invalid:focus, textarea:focus:required:invalid:focus, selec
display: inline-block; display: inline-block;
} }
.form-search .input-append .add-on, .form-search .input-append .add-on,
.form-inline .input-prepend .add-on, .form-search .input-prepend .add-on,
.form-search .input-append .add-on, .form-inline .input-append .add-on,
.form-inline .input-prepend .add-on { .form-inline .input-prepend .add-on {
vertical-align: middle; vertical-align: middle;
} }
.form-search .radio, .form-search .radio,
.form-inline .radio,
.form-search .checkbox, .form-search .checkbox,
.form-inline .radio,
.form-inline .checkbox { .form-inline .checkbox {
padding-left: 0;
margin-bottom: 0; margin-bottom: 0;
vertical-align: middle; vertical-align: middle;
} }
.form-search .radio input[type="radio"],
.form-search .checkbox input[type="checkbox"],
.form-inline .radio input[type="radio"],
.form-inline .checkbox input[type="checkbox"] {
float: left;
margin-left: 0;
margin-right: 3px;
}
.control-group { .control-group {
margin-bottom: 9px; margin-bottom: 9px;
} }
@ -1028,6 +1057,10 @@ legend + .control-group {
.form-horizontal .controls { .form-horizontal .controls {
margin-left: 160px; margin-left: 160px;
} }
.form-horizontal .help-block {
margin-top: 9px;
margin-bottom: 0;
}
.form-horizontal .form-actions { .form-horizontal .form-actions {
padding-left: 160px; padding-left: 160px;
} }
@ -1064,20 +1097,19 @@ table {
} }
.table-bordered { .table-bordered {
border: 1px solid #ddd; border: 1px solid #ddd;
border-left: 0;
border-collapse: separate; border-collapse: separate;
*border-collapse: collapsed; *border-collapse: collapsed;
-webkit-border-radius: 4px; -webkit-border-radius: 4px;
-moz-border-radius: 4px; -moz-border-radius: 4px;
border-radius: 4px; border-radius: 4px;
} }
.table-bordered th + th, .table-bordered th, .table-bordered td {
.table-bordered td + td,
.table-bordered th + td,
.table-bordered td + th {
border-left: 1px solid #ddd; border-left: 1px solid #ddd;
} }
.table-bordered thead:first-child tr:first-child th, .table-bordered tbody:first-child tr:first-child th, .table-bordered tbody:first-child tr:first-child td { .table-bordered thead:first-child tr:first-child th, .table-bordered tbody:first-child tr:first-child th, .table-bordered tbody:first-child tr:first-child td {
border-top: 0; border-top: 0;
border-bottom: 1px solid #ddd;
} }
.table-bordered thead:first-child tr:first-child th:first-child, .table-bordered tbody:first-child tr:first-child td:first-child { .table-bordered thead:first-child tr:first-child th:first-child, .table-bordered tbody:first-child tr:first-child td:first-child {
-webkit-border-radius: 4px 0 0 0; -webkit-border-radius: 4px 0 0 0;
@ -1165,6 +1197,66 @@ table .span12 {
width: 924px; width: 924px;
margin-left: 0; margin-left: 0;
} }
table .span13 {
float: none;
width: 1004px;
margin-left: 0;
}
table .span14 {
float: none;
width: 1084px;
margin-left: 0;
}
table .span15 {
float: none;
width: 1164px;
margin-left: 0;
}
table .span16 {
float: none;
width: 1244px;
margin-left: 0;
}
table .span17 {
float: none;
width: 1324px;
margin-left: 0;
}
table .span18 {
float: none;
width: 1404px;
margin-left: 0;
}
table .span19 {
float: none;
width: 1484px;
margin-left: 0;
}
table .span20 {
float: none;
width: 1564px;
margin-left: 0;
}
table .span21 {
float: none;
width: 1644px;
margin-left: 0;
}
table .span22 {
float: none;
width: 1724px;
margin-left: 0;
}
table .span23 {
float: none;
width: 1804px;
margin-left: 0;
}
table .span24 {
float: none;
width: 1884px;
margin-left: 0;
}
[class^="icon-"], [class*=" icon-"] { [class^="icon-"], [class*=" icon-"] {
display: inline-block; display: inline-block;
width: 14px; width: 14px;
@ -1581,7 +1673,6 @@ table .span12 {
float: left; float: left;
display: none; display: none;
min-width: 160px; min-width: 160px;
_width: 160px;
padding: 4px 0; padding: 4px 0;
margin: 0; margin: 0;
list-style: none; list-style: none;
@ -1602,14 +1693,13 @@ table .span12 {
*border-right-width: 2px; *border-right-width: 2px;
*border-bottom-width: 2px; *border-bottom-width: 2px;
} }
.dropdown-menu.bottom-up { .dropdown-menu.pull-right {
top: auto; right: 0;
bottom: 100%; left: auto;
margin-bottom: 2px;
} }
.dropdown-menu .divider { .dropdown-menu .divider {
height: 1px; height: 1px;
margin: 5px 1px; margin: 8px 1px;
overflow: hidden; overflow: hidden;
background-color: #e5e5e5; background-color: #e5e5e5;
border-bottom: 1px solid #ffffff; border-bottom: 1px solid #ffffff;
@ -1641,6 +1731,20 @@ table .span12 {
.dropdown.open .dropdown-menu { .dropdown.open .dropdown-menu {
display: block; display: block;
} }
.pull-right .dropdown-menu {
left: auto;
right: 0;
}
.dropup .caret, .navbar-fixed-bottom .dropdown .caret {
border-top: 0;
border-bottom: 4px solid #000000;
content: "\2191";
}
.dropup .dropdown-menu, .navbar-fixed-bottom .dropdown .dropdown-menu {
top: auto;
bottom: 100%;
margin-bottom: 1px;
}
.typeahead { .typeahead {
margin-top: 2px; margin-top: 2px;
-webkit-border-radius: 4px; -webkit-border-radius: 4px;
@ -1737,7 +1841,6 @@ table .span12 {
-moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
cursor: pointer; cursor: pointer;
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
*margin-left: .3em; *margin-left: .3em;
} }
.btn:hover, .btn:hover,
@ -1832,7 +1935,7 @@ table .span12 {
.btn-danger.active, .btn-danger.active,
.btn-success.active, .btn-success.active,
.btn-info.active, .btn-info.active,
.btn-dark.active { .btn-inverse.active {
color: rgba(255, 255, 255, 0.75); color: rgba(255, 255, 255, 0.75);
} }
.btn-primary { .btn-primary {
@ -1956,16 +2059,16 @@ table .span12 {
background-color: #24748c \9; background-color: #24748c \9;
} }
.btn-inverse { .btn-inverse {
background-color: #393939; background-color: #414141;
background-image: -moz-linear-gradient(top, #454545, #262626); background-image: -moz-linear-gradient(top, #555555, #222222);
background-image: -ms-linear-gradient(top, #454545, #262626); background-image: -ms-linear-gradient(top, #555555, #222222);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#454545), to(#262626)); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#555555), to(#222222));
background-image: -webkit-linear-gradient(top, #454545, #262626); background-image: -webkit-linear-gradient(top, #555555, #222222);
background-image: -o-linear-gradient(top, #454545, #262626); background-image: -o-linear-gradient(top, #555555, #222222);
background-image: linear-gradient(top, #454545, #262626); background-image: linear-gradient(top, #555555, #222222);
background-repeat: repeat-x; background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#454545', endColorstr='#262626', GradientType=0); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#555555', endColorstr='#222222', GradientType=0);
border-color: #262626 #262626 #000000; border-color: #222222 #222222 #000000;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
} }
@ -1974,10 +2077,10 @@ table .span12 {
.btn-inverse.active, .btn-inverse.active,
.btn-inverse.disabled, .btn-inverse.disabled,
.btn-inverse[disabled] { .btn-inverse[disabled] {
background-color: #262626; background-color: #222222;
} }
.btn-inverse:active, .btn-inverse.active { .btn-inverse:active, .btn-inverse.active {
background-color: #0c0c0c \9; background-color: #080808 \9;
} }
button.btn, input[type="submit"].btn { button.btn, input[type="submit"].btn {
*padding-top: 2px; *padding-top: 2px;
@ -1987,11 +2090,11 @@ button.btn::-moz-focus-inner, input[type="submit"].btn::-moz-focus-inner {
padding: 0; padding: 0;
border: 0; border: 0;
} }
button.btn.large, input[type="submit"].btn.large { button.btn.btn-large, input[type="submit"].btn.btn-large {
*padding-top: 7px; *padding-top: 7px;
*padding-bottom: 7px; *padding-bottom: 7px;
} }
button.btn.small, input[type="submit"].btn.small { button.btn.btn-small, input[type="submit"].btn.btn-small {
*padding-top: 3px; *padding-top: 3px;
*padding-bottom: 3px; *padding-bottom: 3px;
} }
@ -2114,6 +2217,7 @@ button.btn.small, input[type="submit"].btn.small {
.btn-success .caret, .btn-success .caret,
.btn-inverse .caret { .btn-inverse .caret {
border-top-color: #ffffff; border-top-color: #ffffff;
border-bottom-color: #ffffff;
opacity: 0.75; opacity: 0.75;
filter: alpha(opacity=75); filter: alpha(opacity=75);
} }
@ -2129,10 +2233,11 @@ button.btn.small, input[type="submit"].btn.small {
-webkit-border-radius: 4px; -webkit-border-radius: 4px;
-moz-border-radius: 4px; -moz-border-radius: 4px;
border-radius: 4px; border-radius: 4px;
}
.alert, .alert-heading {
color: #c09853; color: #c09853;
} }
.alert-heading {
color: inherit;
}
.alert .close { .alert .close {
position: relative; position: relative;
top: -2px; top: -2px;
@ -2142,25 +2247,16 @@ button.btn.small, input[type="submit"].btn.small {
.alert-success { .alert-success {
background-color: #dff0d8; background-color: #dff0d8;
border-color: #d6e9c6; border-color: #d6e9c6;
}
.alert-success, .alert-success .alert-heading {
color: #468847; color: #468847;
} }
.alert-danger, .alert-error { .alert-danger, .alert-error {
background-color: #f2dede; background-color: #f2dede;
border-color: #eed3d7; border-color: #eed3d7;
}
.alert-danger,
.alert-error,
.alert-danger .alert-heading,
.alert-error .alert-heading {
color: #b94a48; color: #b94a48;
} }
.alert-info { .alert-info {
background-color: #d9edf7; background-color: #d9edf7;
border-color: #bce8f1; border-color: #bce8f1;
}
.alert-info, .alert-info .alert-heading {
color: #3a87ad; color: #3a87ad;
} }
.alert-block { .alert-block {
@ -2219,6 +2315,15 @@ button.btn.small, input[type="submit"].btn.small {
.nav-list [class^="icon-"] { .nav-list [class^="icon-"] {
margin-right: 2px; margin-right: 2px;
} }
.nav-list .divider {
height: 1px;
margin: 8px 1px;
overflow: hidden;
background-color: #e5e5e5;
border-bottom: 1px solid #ffffff;
*width: 100%;
*margin: -5px 0 5px;
}
.nav-tabs, .nav-pills { .nav-tabs, .nav-pills {
*zoom: 1; *zoom: 1;
} }
@ -2248,8 +2353,9 @@ button.btn.small, input[type="submit"].btn.small {
margin-bottom: -1px; margin-bottom: -1px;
} }
.nav-tabs > li > a { .nav-tabs > li > a {
padding-top: 9px; padding-top: 8px;
padding-bottom: 9px; padding-bottom: 8px;
line-height: 18px;
border: 1px solid transparent; border: 1px solid transparent;
-webkit-border-radius: 4px 4px 0 0; -webkit-border-radius: 4px 4px 0 0;
-moz-border-radius: 4px 4px 0 0; -moz-border-radius: 4px 4px 0 0;
@ -2324,13 +2430,16 @@ button.btn.small, input[type="submit"].btn.small {
} }
.nav-tabs .dropdown-toggle .caret, .nav-pills .dropdown-toggle .caret { .nav-tabs .dropdown-toggle .caret, .nav-pills .dropdown-toggle .caret {
border-top-color: #0088cc; border-top-color: #0088cc;
border-bottom-color: #0088cc;
margin-top: 6px; margin-top: 6px;
} }
.nav-tabs .dropdown-toggle:hover .caret, .nav-pills .dropdown-toggle:hover .caret { .nav-tabs .dropdown-toggle:hover .caret, .nav-pills .dropdown-toggle:hover .caret {
border-top-color: #005580; border-top-color: #005580;
border-bottom-color: #005580;
} }
.nav-tabs .active .dropdown-toggle .caret, .nav-pills .active .dropdown-toggle .caret { .nav-tabs .active .dropdown-toggle .caret, .nav-pills .active .dropdown-toggle .caret {
border-top-color: #333333; border-top-color: #333333;
border-bottom-color: #333333;
} }
.nav > .dropdown.active > a:hover { .nav > .dropdown.active > a:hover {
color: #000000; color: #000000;
@ -2343,6 +2452,7 @@ button.btn.small, input[type="submit"].btn.small {
} }
.nav .open .caret, .nav .open.active .caret, .nav .open a:hover .caret { .nav .open .caret, .nav .open.active .caret, .nav .open a:hover .caret {
border-top-color: #ffffff; border-top-color: #ffffff;
border-bottom-color: #ffffff;
opacity: 1; opacity: 1;
filter: alpha(opacity=100); filter: alpha(opacity=100);
} }
@ -2360,7 +2470,8 @@ button.btn.small, input[type="submit"].btn.small {
clear: both; clear: both;
} }
.tab-content { .tab-content {
overflow: hidden; display: table;
width: 100%;
} }
.tabs-below .nav-tabs, .tabs-right .nav-tabs, .tabs-left .nav-tabs { .tabs-below .nav-tabs, .tabs-right .nav-tabs, .tabs-left .nav-tabs {
border-bottom: 0; border-bottom: 0;
@ -2457,6 +2568,9 @@ button.btn.small, input[type="submit"].btn.small {
-moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1); -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1); box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);
} }
.navbar .container {
width: auto;
}
.btn-navbar { .btn-navbar {
display: none; display: none;
float: right; float: right;
@ -2507,6 +2621,9 @@ button.btn.small, input[type="submit"].btn.small {
.nav-collapse.collapse { .nav-collapse.collapse {
height: auto; height: auto;
} }
.navbar {
color: #999999;
}
.navbar .brand:hover { .navbar .brand:hover {
text-decoration: none; text-decoration: none;
} }
@ -2523,11 +2640,6 @@ button.btn.small, input[type="submit"].btn.small {
.navbar .navbar-text { .navbar .navbar-text {
margin-bottom: 0; margin-bottom: 0;
line-height: 40px; line-height: 40px;
color: #999999;
}
.navbar .navbar-text a:hover {
color: #ffffff;
background-color: transparent;
} }
.navbar .btn, .navbar .btn-group { .navbar .btn, .navbar .btn-group {
margin-top: 5px; margin-top: 5px;
@ -2546,14 +2658,16 @@ button.btn.small, input[type="submit"].btn.small {
.navbar-form:after { .navbar-form:after {
clear: both; clear: both;
} }
.navbar-form input,
.navbar-form select,
.navbar-form .radio,
.navbar-form .checkbox {
margin-top: 5px;
}
.navbar-form input, .navbar-form select { .navbar-form input, .navbar-form select {
display: inline-block; display: inline-block;
margin-top: 5px;
margin-bottom: 0; margin-bottom: 0;
} }
.navbar-form .radio, .navbar-form .checkbox {
margin-top: 5px;
}
.navbar-form input[type="image"], .navbar-form input[type="checkbox"], .navbar-form input[type="radio"] { .navbar-form input[type="image"], .navbar-form input[type="checkbox"], .navbar-form input[type="radio"] {
margin-top: 3px; margin-top: 3px;
} }
@ -2612,20 +2726,29 @@ button.btn.small, input[type="submit"].btn.small {
box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
outline: 0; outline: 0;
} }
.navbar-fixed-top { .navbar-fixed-top, .navbar-fixed-bottom {
position: fixed; position: fixed;
top: 0;
right: 0; right: 0;
left: 0; left: 0;
z-index: 1030; z-index: 1030;
margin-bottom: 0;
} }
.navbar-fixed-top .navbar-inner { .navbar-fixed-top .navbar-inner, .navbar-fixed-bottom .navbar-inner {
padding-left: 0; padding-left: 0;
padding-right: 0; padding-right: 0;
-webkit-border-radius: 0; -webkit-border-radius: 0;
-moz-border-radius: 0; -moz-border-radius: 0;
border-radius: 0; border-radius: 0;
} }
.navbar-fixed-top .container, .navbar-fixed-bottom .container {
width: 940px;
}
.navbar-fixed-top {
top: 0;
}
.navbar-fixed-bottom {
bottom: 0;
}
.navbar .nav { .navbar .nav {
position: relative; position: relative;
left: 0; left: 0;
@ -2697,8 +2820,22 @@ button.btn.small, input[type="submit"].btn.small {
top: -6px; top: -6px;
left: 10px; left: 10px;
} }
.navbar-fixed-bottom .dropdown-menu:before {
border-top: 7px solid #ccc;
border-top-color: rgba(0, 0, 0, 0.2);
border-bottom: 0;
bottom: -7px;
top: auto;
}
.navbar-fixed-bottom .dropdown-menu:after {
border-top: 6px solid #ffffff;
border-bottom: 0;
bottom: -6px;
top: auto;
}
.navbar .nav .dropdown-toggle .caret, .navbar .nav .open.dropdown .caret { .navbar .nav .dropdown-toggle .caret, .navbar .nav .open.dropdown .caret {
border-top-color: #ffffff; border-top-color: #ffffff;
border-bottom-color: #ffffff;
} }
.navbar .nav .active .caret { .navbar .nav .active .caret {
opacity: 1; opacity: 1;
@ -2710,21 +2847,22 @@ button.btn.small, input[type="submit"].btn.small {
.navbar .nav .active > .dropdown-toggle:hover { .navbar .nav .active > .dropdown-toggle:hover {
color: #ffffff; color: #ffffff;
} }
.navbar .nav.pull-right .dropdown-menu { .navbar .nav.pull-right .dropdown-menu, .navbar .nav .dropdown-menu.pull-right {
left: auto; left: auto;
right: 0; right: 0;
} }
.navbar .nav.pull-right .dropdown-menu:before { .navbar .nav.pull-right .dropdown-menu:before, .navbar .nav .dropdown-menu.pull-right:before {
left: auto; left: auto;
right: 12px; right: 12px;
} }
.navbar .nav.pull-right .dropdown-menu:after { .navbar .nav.pull-right .dropdown-menu:after, .navbar .nav .dropdown-menu.pull-right:after {
left: auto; left: auto;
right: 13px; right: 13px;
} }
.breadcrumb { .breadcrumb {
padding: 7px 14px; padding: 7px 14px;
margin: 0 0 18px; margin: 0 0 18px;
list-style: none;
background-color: #fbfbfb; background-color: #fbfbfb;
background-image: -moz-linear-gradient(top, #ffffff, #f5f5f5); background-image: -moz-linear-gradient(top, #ffffff, #f5f5f5);
background-image: -ms-linear-gradient(top, #ffffff, #f5f5f5); background-image: -ms-linear-gradient(top, #ffffff, #f5f5f5);
@ -2790,7 +2928,7 @@ button.btn.small, input[type="submit"].btn.small {
color: #999999; color: #999999;
cursor: default; cursor: default;
} }
.pagination .disabled a, .pagination .disabled a:hover { .pagination .disabled span, .pagination .disabled a, .pagination .disabled a:hover {
color: #999999; color: #999999;
background-color: transparent; background-color: transparent;
cursor: default; cursor: default;
@ -2881,7 +3019,6 @@ button.btn.small, input[type="submit"].btn.small {
top: 50%; top: 50%;
left: 50%; left: 50%;
z-index: 1050; z-index: 1050;
max-height: 500px;
overflow: auto; overflow: auto;
width: 560px; width: 560px;
margin: -250px 0 0 -280px; margin: -250px 0 0 -280px;
@ -2920,14 +3057,17 @@ button.btn.small, input[type="submit"].btn.small {
margin-top: 2px; margin-top: 2px;
} }
.modal-body { .modal-body {
overflow-y: auto;
max-height: 400px;
padding: 15px; padding: 15px;
} }
.modal-body .modal-form { .modal-form {
margin-bottom: 0; margin-bottom: 0;
} }
.modal-footer { .modal-footer {
padding: 14px 15px 15px; padding: 14px 15px 15px;
margin-bottom: 0; margin-bottom: 0;
text-align: right;
background-color: #f5f5f5; background-color: #f5f5f5;
border-top: 1px solid #ddd; border-top: 1px solid #ddd;
-webkit-border-radius: 0 0 6px 6px; -webkit-border-radius: 0 0 6px 6px;
@ -2945,8 +3085,7 @@ button.btn.small, input[type="submit"].btn.small {
.modal-footer:after { .modal-footer:after {
clear: both; clear: both;
} }
.modal-footer .btn { .modal-footer .btn + .btn {
float: right;
margin-left: 5px; margin-left: 5px;
margin-bottom: 0; margin-bottom: 0;
} }
@ -3160,10 +3299,12 @@ a.thumbnail:hover {
padding: 9px; padding: 9px;
} }
.label { .label {
padding: 2px 4px 3px; padding: 1px 4px 2px;
font-size: 11.049999999999999px; font-size: 10.998px;
font-weight: bold; font-weight: bold;
line-height: 13px;
color: #ffffff; color: #ffffff;
white-space: nowrap;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
background-color: #999999; background-color: #999999;
-webkit-border-radius: 3px; -webkit-border-radius: 3px;
@ -3198,6 +3339,58 @@ a.thumbnail:hover {
.label-info:hover { .label-info:hover {
background-color: #2d6987; background-color: #2d6987;
} }
.label-inverse {
background-color: #333333;
}
.label-inverse:hover {
background-color: #1a1a1a;
}
.badge {
padding: 1px 9px 2px;
font-size: 12.025px;
font-weight: bold;
white-space: nowrap;
color: #ffffff;
background-color: #999999;
-webkit-border-radius: 9px;
-moz-border-radius: 9px;
border-radius: 9px;
}
.badge:hover {
color: #ffffff;
text-decoration: none;
cursor: pointer;
}
.badge-error {
background-color: #b94a48;
}
.badge-error:hover {
background-color: #953b39;
}
.badge-warning {
background-color: #f89406;
}
.badge-warning:hover {
background-color: #c67605;
}
.badge-success {
background-color: #468847;
}
.badge-success:hover {
background-color: #356635;
}
.badge-info {
background-color: #3a87ad;
}
.badge-info:hover {
background-color: #2d6987;
}
.badge-inverse {
background-color: #333333;
}
.badge-inverse:hover {
background-color: #1a1a1a;
}
@-webkit-keyframes progress-bar-stripes { @-webkit-keyframes progress-bar-stripes {
from { from {
background-position: 0 0; background-position: 0 0;

View File

@ -79,6 +79,9 @@ hr.soften {
-moz-border-radius: 6px; -moz-border-radius: 6px;
border-radius: 6px; border-radius: 6px;
} }
.jumbotron .btn-large small {
font-size: 14px;
}
/* Masthead (docs home) */ /* Masthead (docs home) */
.masthead { .masthead {
@ -427,17 +430,17 @@ hr.soften {
.download-btn { .download-btn {
margin: 36px 0 108px; margin: 36px 0 108px;
} }
.download p, #download p,
.download h4 { #download h4 {
max-width: 50%; max-width: 50%;
margin: 0 auto; margin: 0 auto;
color: #999; color: #999;
text-align: center; text-align: center;
} }
.download h4 { #download h4 {
margin-bottom: 0; margin-bottom: 0;
} }
.download p { #download p {
margin-bottom: 18px; margin-bottom: 18px;
} }
.download-btn .btn { .download-btn .btn {
@ -482,8 +485,7 @@ hr.soften {
/* Misc /* Misc
-------------------------------------------------- */ -------------------------------------------------- */
img {
.browser-support {
max-width: 100%; max-width: 100%;
} }
@ -558,6 +560,70 @@ form.well {
background-color: #fff; background-color: #fff;
} }
/* Responsive table
------------------------- */
.responsive-utilities th small {
display: block;
font-weight: normal;
color: #999;
}
.responsive-utilities tbody th {
font-weight: normal;
}
.responsive-utilities td {
text-align: center;
}
.responsive-utilities td.is-visible {
color: #468847;
background-color: #dff0d8 !important;
}
.responsive-utilities td.is-hidden {
color: #ccc;
background-color: #f9f9f9 !important;
}
/* Responsive tests
------------------------- */
.responsive-utilities-test {
margin-top: 5px;
margin-left: 0;
list-style: none;
overflow: hidden; /* clear floats */
}
.responsive-utilities-test li {
position: relative;
float: left;
width: 25%;
height: 43px;
font-size: 14px;
font-weight: bold;
line-height: 43px;
color: #999;
text-align: center;
border: 1px solid #ddd;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
}
.responsive-utilities-test li + li {
margin-left: 10px;
}
.responsive-utilities-test span {
position: absolute;
top: -1px;
left: -1px;
right: -1px;
bottom: -1px;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
}
.responsive-utilities-test span {
color: #468847;
background-color: #dff0d8;
border: 1px solid #d6e9c6;
}
/* Responsive Docs /* Responsive Docs
-------------------------------------------------- */ -------------------------------------------------- */

View File

@ -29,6 +29,9 @@
this.$element = $(element) this.$element = $(element)
this.options = $.extend({}, $.fn.carousel.defaults, options) this.options = $.extend({}, $.fn.carousel.defaults, options)
this.options.slide && this.slide(this.options.slide) this.options.slide && this.slide(this.options.slide)
this.options.pause == 'hover' && this.$element
.on('mouseenter', $.proxy(this.pause, this))
.on('mouseleave', $.proxy(this.cycle, this))
} }
Carousel.prototype = { Carousel.prototype = {
@ -83,14 +86,14 @@
, fallback = type == 'next' ? 'first' : 'last' , fallback = type == 'next' ? 'first' : 'last'
, that = this , that = this
if (!$next.length) return
this.sliding = true this.sliding = true
isCycling && this.pause() isCycling && this.pause()
$next = $next.length ? $next : this.$element.find('.item')[fallback]() $next = $next.length ? $next : this.$element.find('.item')[fallback]()
if ($next.hasClass('active')) return
if (!$.support.transition && this.$element.hasClass('slide')) { if (!$.support.transition && this.$element.hasClass('slide')) {
this.$element.trigger('slide') this.$element.trigger('slide')
$active.removeClass('active') $active.removeClass('active')
@ -136,6 +139,7 @@
$.fn.carousel.defaults = { $.fn.carousel.defaults = {
interval: 5000 interval: 5000
, pause: 'hover'
} }
$.fn.carousel.Constructor = Carousel $.fn.carousel.Constructor = Carousel

View File

@ -206,7 +206,7 @@
title = $e.attr('data-original-title') title = $e.attr('data-original-title')
|| (typeof o.title == 'function' ? o.title.call($e[0]) : o.title) || (typeof o.title == 'function' ? o.title.call($e[0]) : o.title)
title = title.toString().replace(/(^\s*|\s*$)/, "") title = (title || '').toString().replace(/(^\s*|\s*$)/, "")
return title return title
} }

View File

@ -166,7 +166,8 @@
Wraps abbreviations and acronyms to show the expanded version on hover Wraps abbreviations and acronyms to show the expanded version on hover
</td> </td>
<td> <td>
Include optional <code>title</code> for expanded text <p>Include optional <code>title</code> attribute for expanded text</p>
Use <code>.initialism</code> class for uppercase abbreviations.
</td> </td>
</tr> </tr>
<tr> <tr>
@ -205,8 +206,9 @@
</div> </div>
<div class="span4"> <div class="span4">
<h3>Example abbreviations</h3> <h3>Example abbreviations</h3>
<p>Abbreviations are styled with uppercase text and a light dotted bottom border. They also have a help cursor on hover so users have extra indication something will be shown on hover.</p> <p>Abbreviations with a <code>title</code> attribute have a light dotted bottom border and a help cursor on hover. This gives users extra indication something will be shown on hover.</p>
<p><abbr title="HyperText Markup Language">HTML</abbr> is the best thing since sliced bread.</p> <p>Add the <code>initialism</code> class to an abbreviation to increase typographic harmony by giving it a slightly smaller text size.</p>
<p><abbr title="HyperText Markup Language" class="initialism">HTML</abbr> is the best thing since sliced bread.</p>
<p>An abbreviation of the word attribute is <abbr title="attribute">attr</abbr>.</p> <p>An abbreviation of the word attribute is <abbr title="attribute">attr</abbr>.</p>
</div> </div>
</div> </div>
@ -569,7 +571,7 @@ For example, &lt;code&gt;section&lt;/code&gt; should be wrapped as inline.
<th>#</th> <th>#</th>
<th>First Name</th> <th>First Name</th>
<th>Last Name</th> <th>Last Name</th>
<th>Language</th> <th>Username</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@ -577,19 +579,19 @@ For example, &lt;code&gt;section&lt;/code&gt; should be wrapped as inline.
<td>1</td> <td>1</td>
<td>Mark</td> <td>Mark</td>
<td>Otto</td> <td>Otto</td>
<td>CSS</td> <td>@mdo</td>
</tr> </tr>
<tr> <tr>
<td>2</td> <td>2</td>
<td>Jacob</td> <td>Jacob</td>
<td>Thornton</td> <td>Thornton</td>
<td>Javascript</td> <td>@fat</td>
</tr> </tr>
<tr> <tr>
<td>3</td> <td>3</td>
<td>Stu</td> <td>Larry</td>
<td>Dent</td> <td>the Bird</td>
<td>HTML</td> <td>@twitter</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
@ -614,7 +616,7 @@ For example, &lt;code&gt;section&lt;/code&gt; should be wrapped as inline.
<th>#</th> <th>#</th>
<th>First Name</th> <th>First Name</th>
<th>Last Name</th> <th>Last Name</th>
<th>Language</th> <th>Username</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@ -622,19 +624,19 @@ For example, &lt;code&gt;section&lt;/code&gt; should be wrapped as inline.
<td>1</td> <td>1</td>
<td>Mark</td> <td>Mark</td>
<td>Otto</td> <td>Otto</td>
<td>CSS</td> <td>@mdo</td>
</tr> </tr>
<tr> <tr>
<td>2</td> <td>2</td>
<td>Jacob</td> <td>Jacob</td>
<td>Thornton</td> <td>Thornton</td>
<td>Javascript</td> <td>@fat</td>
</tr> </tr>
<tr> <tr>
<td>3</td> <td>3</td>
<td>Stu</td> <td>Larry</td>
<td>Dent</td> <td>the Bird</td>
<td>HTML</td> <td>@twitter</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
@ -658,31 +660,31 @@ For example, &lt;code&gt;section&lt;/code&gt; should be wrapped as inline.
<th>#</th> <th>#</th>
<th>First Name</th> <th>First Name</th>
<th>Last Name</th> <th>Last Name</th>
<th>Language</th> <th>Username</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<tr> <tr>
<td>1</td> <td rowspan="2">1</td>
<td colspan="2">Mark Otto</td> <td>Mark</td>
<td>CSS</td> <td>Otto</td>
<td>@mdo</td>
</tr>
<tr>
<td>Mark</td>
<td>Otto</td>
<td>@TwBootstrap</td>
</tr> </tr>
<tr> <tr>
<td>2</td> <td>2</td>
<td>Jacob</td> <td>Jacob</td>
<td>Thornton</td> <td>Thornton</td>
<td rowspan="2">Javascript</td> <td>@fat</td>
</tr>
</tr>
<td>3</td>
<td>Stu</td>
<td>Dent</td>
</tr> </tr>
<tr> <tr>
<td>3</td> <td>3</td>
<td>Brosef</td> <td colspan="2">Larry the Bird</td>
<td>Stalin</td> <td>@twitter</td>
<td>HTML</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
@ -706,7 +708,7 @@ For example, &lt;code&gt;section&lt;/code&gt; should be wrapped as inline.
<th>#</th> <th>#</th>
<th>First Name</th> <th>First Name</th>
<th>Last Name</th> <th>Last Name</th>
<th>Language</th> <th>Username</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@ -714,19 +716,18 @@ For example, &lt;code&gt;section&lt;/code&gt; should be wrapped as inline.
<td>1</td> <td>1</td>
<td>Mark</td> <td>Mark</td>
<td>Otto</td> <td>Otto</td>
<td>CSS</td> <td>@mdo</td>
</tr> </tr>
<tr> <tr>
<td>2</td> <td>2</td>
<td>Jacob</td> <td>Jacob</td>
<td>Thornton</td> <td>Thornton</td>
<td>Javascript</td> <td>@fat</td>
</tr> </tr>
<tr> <tr>
<td>3</td> <td>3</td>
<td>Stu</td> <td colspan="2">Larry the Bird</td>
<td>Dent</td> <td>@twitter</td>
<td>HTML</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
@ -747,37 +748,36 @@ For example, &lt;code&gt;section&lt;/code&gt; should be wrapped as inline.
<div class="span8"> <div class="span8">
<table class="table table-striped table-bordered table-condensed"> <table class="table table-striped table-bordered table-condensed">
<thead> <thead>
<tr>
<th></th>
<th colspan="2">Full name</th>
<th></th>
</tr>
<tr> <tr>
<th>#</th> <th>#</th>
<th class="yellow">First Name</th> <th>First Name</th>
<th class="blue">Last Name</th> <th>Last Name</th>
<th class="green">Language</th> <th>Username</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<tr>
<tr> <tr>
<td>1</td> <td>1</td>
<td>Mark</td> <td>Mark</td>
<td>Otto</td> <td>Otto</td>
<td>CSS</td> <td>@mdo</td>
</tr> </tr>
<tr> <tr>
<td>2</td> <td>2</td>
<td>Jacob</td> <td>Jacob</td>
<td>Thornton</td> <td>Thornton</td>
<td>Javascript</td> <td>@fat</td>
</tr> </tr>
<tr> <tr>
<td>3</td> <td>3</td>
<td>Stu</td> <td colspan="2">Larry the Bird</td>
<td>Dent</td> <td>@twitter</td>
<td>HTML</td>
</tr>
<tr>
<td>4</td>
<td>Brosef</td>
<td>Stalin</td>
<td>HTML</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
@ -862,6 +862,7 @@ For example, &lt;code&gt;section&lt;/code&gt; should be wrapped as inline.
<form class="well"> <form class="well">
<label>Label name</label> <label>Label name</label>
<input type="text" class="span3" placeholder="Type something…"> <span class="help-inline">Associated help text!</span> <input type="text" class="span3" placeholder="Type something…"> <span class="help-inline">Associated help text!</span>
<p class="help-block">Example block-level help text here.</p>
<label class="checkbox"> <label class="checkbox">
<input type="checkbox"> Check me out <input type="checkbox"> Check me out
</label> </label>
@ -908,7 +909,7 @@ For example, &lt;code&gt;section&lt;/code&gt; should be wrapped as inline.
<input type="text" class="input-small" placeholder="Email"> <input type="text" class="input-small" placeholder="Email">
<input type="password" class="input-small" placeholder="Password"> <input type="password" class="input-small" placeholder="Password">
<label class="checkbox"> <label class="checkbox">
<input type="checkbox"> Remember? <input type="checkbox"> Remember me
</label> </label>
<button type="submit" class="btn">Sign in</button> <button type="submit" class="btn">Sign in</button>
</form> </form>
@ -916,7 +917,10 @@ For example, &lt;code&gt;section&lt;/code&gt; should be wrapped as inline.
&lt;form class="well form-inline"&gt; &lt;form class="well form-inline"&gt;
&lt;input type="text" class="input-small" placeholder="Email"&gt; &lt;input type="text" class="input-small" placeholder="Email"&gt;
&lt;input type="password" class="input-small" placeholder="Password"&gt; &lt;input type="password" class="input-small" placeholder="Password"&gt;
&lt;button type="submit" class="btn"&gt;Go&lt;/button&gt; &lt;label class="checkbox"&gt;
&lt;input type="checkbox"&gt; Remember me
&lt;/label&gt;
&lt;button type="submit" class="btn"&gt;Sign in&lt;/button&gt;
&lt;/form&gt; &lt;/form&gt;
</pre> </pre>
</div> </div>
@ -1512,9 +1516,6 @@ For example, &lt;code&gt;section&lt;/code&gt; should be wrapped as inline.
</ul> </ul>
</div> </div>
</div> </div>
<div class="alert alert-info">
<strong>Heads up!</strong> Icon classes are echoed via CSS <code>:after</code>. In the docs, we show a light red background color on hover to highlight the icon's size.
</div>
<br> <br>
@ -1527,7 +1528,7 @@ For example, &lt;code&gt;section&lt;/code&gt; should be wrapped as inline.
</div> </div>
<div class="span4"> <div class="span4">
<h3>How to use</h3> <h3>How to use</h3>
<p>With v2.0.1, we have opted to use an <code>&lt;i&gt;</code> tag for all our icons, but they have no case class&mdash;only a shared prefix. To use, place the following code just about anywhere:</p> <p>Bootstrap uses an <code>&lt;i&gt;</code> tag for all icons, but they have no case class&mdash;only a shared prefix. To use, place the following code just about anywhere:</p>
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
&lt;i class="icon-search"&gt;&lt;/i&gt; &lt;i class="icon-search"&gt;&lt;/i&gt;
</pre> </pre>
@ -1536,6 +1537,10 @@ For example, &lt;code&gt;section&lt;/code&gt; should be wrapped as inline.
&lt;i class="icon-search icon-white"&gt;&lt;/i&gt; &lt;i class="icon-search icon-white"&gt;&lt;/i&gt;
</pre> </pre>
<p>There are 120 classes to choose from for your icons. Just add an <code>&lt;i&gt;</code> tag with the right classes and you're set. You can find the full list in <strong>sprites.less</strong> or right here in this document.</p> <p>There are 120 classes to choose from for your icons. Just add an <code>&lt;i&gt;</code> tag with the right classes and you're set. You can find the full list in <strong>sprites.less</strong> or right here in this document.</p>
<p>
<span class="label label-info">Heads up!</span>
When using beside strings of text, as in buttons or nav links, be sure to leave a space after the <code>&lt;i&gt;</code> tag for proper spacing.
</p>
</div> </div>
<div class="span4"> <div class="span4">
<h3>Use cases</h3> <h3>Use cases</h3>

View File

@ -98,6 +98,7 @@
</ul> </ul>
</li> </li>
<li><a href="#labels">Labels</a></li> <li><a href="#labels">Labels</a></li>
<li><a href="#badges">Badges</a></li>
<li><a href="#typography">Typography</a></li> <li><a href="#typography">Typography</a></li>
<li><a href="#thumbnails">Thumbnails</a></li> <li><a href="#thumbnails">Thumbnails</a></li>
<li><a href="#alerts">Alerts</a></li> <li><a href="#alerts">Alerts</a></li>
@ -175,9 +176,8 @@
<h3>Checkbox and radio flavors</h3> <h3>Checkbox and radio flavors</h3>
<p>Button groups can also function as radios, where only one button may be active, or checkboxes, where any number of buttons may be active. View <a href="./javascript.html#buttons">the Javascript docs</a> for that.</p> <p>Button groups can also function as radios, where only one button may be active, or checkboxes, where any number of buttons may be active. View <a href="./javascript.html#buttons">the Javascript docs</a> for that.</p>
<p><a class="btn js-btn" href="./javascript.html#buttons">Get the javascript &raquo;</a></p> <p><a class="btn js-btn" href="./javascript.html#buttons">Get the javascript &raquo;</a></p>
<hr> <h3>Dropdowns in button groups</h3>
<h4 class="muted">Heads up</h4> <p><span class="label label-info">Heads up!</span> Buttons with dropdowns must be individually wrapped in their own <code>.btn-group</code> within a <code>.btn-toolbar</code> for proper rendering.</p>
<p class="muted">CSS for button groups is in a separate file, button-groups.less.</p>
</div> </div>
</div> </div>
</section> </section>
@ -188,12 +188,13 @@
================================================== --> ================================================== -->
<section id="buttonDropdowns"> <section id="buttonDropdowns">
<div class="page-header"> <div class="page-header">
<h1>Buttons dropdowns <small>Contextual dropdown menus built on button groups</small></h1> <h1>Button dropdown menus <small>Built on button groups to provide contextual menus</small></h1>
</div> </div>
<h2>Button dropdowns</h2>
<div class="row"> <div class="row">
<div class="span4"> <div class="span4">
<h3>Button dropdowns</h3> <h3>Overview and examples</h3>
<p>Use any button to trigger a dropdown menu by placing it within a <code>.btn-group</code> and providing the proper menu markup.</p> <p>Use any button to trigger a dropdown menu by placing it within a <code>.btn-group</code> and providing the proper menu markup.</p>
<div class="btn-toolbar" style="margin-top: 18px;"> <div class="btn-toolbar" style="margin-top: 18px;">
<div class="btn-group"> <div class="btn-group">
@ -248,6 +249,16 @@
<li><a href="#">Separated link</a></li> <li><a href="#">Separated link</a></li>
</ul> </ul>
</div><!-- /btn-group --> </div><!-- /btn-group -->
<div class="btn-group">
<a class="btn btn-inverse dropdown-toggle" data-toggle="dropdown" href="#">Inverse <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li class="divider"></li>
<li><a href="#">Separated link</a></li>
</ul>
</div><!-- /btn-group -->
</div><!-- /btn-toolbar --> </div><!-- /btn-toolbar -->
<hr> <hr>
<p><span class="label label-info">Heads up!</span> Button dropdowns require the <a href="./javascript.html#dropdowns">Bootstrap dropdown plugin</a> to function.</p> <p><span class="label label-info">Heads up!</span> Button dropdowns require the <a href="./javascript.html#dropdowns">Bootstrap dropdown plugin</a> to function.</p>
@ -268,10 +279,14 @@
</pre> </pre>
</div> </div>
</div> </div>
<div class="alert alert-info">
<strong>Heads up!</strong> In some cases&mdash;like mobile&mdash;dropdown menus will extend outside the viewport. You need to resolve the alignment manually or with custom javascript.
</div>
<h2>Split button dropdowns</h2>
<div class="row"> <div class="row">
<div class="span4"> <div class="span4">
<h3>Split button dropdowns</h3> <h3>Overview and examples</h3>
<p>Building on the button group styles and markup, we can easily create a split button. Split buttons feature a standard action on the left and a dropdown toggle on the right with contextual links.</p> <p>Building on the button group styles and markup, we can easily create a split button. Split buttons feature a standard action on the left and a dropdown toggle on the right with contextual links.</p>
<div class="btn-toolbar" style="margin-top: 18px;"> <div class="btn-toolbar" style="margin-top: 18px;">
<div class="btn-group"> <div class="btn-group">
@ -331,7 +346,41 @@
<li><a href="#">Separated link</a></li> <li><a href="#">Separated link</a></li>
</ul> </ul>
</div><!-- /btn-group --> </div><!-- /btn-group -->
</div> <div class="btn-group">
<a class="btn btn-inverse" href="#">Inverse</a>
<a class="btn btn-inverse dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li class="divider"></li>
<li><a href="#">Separated link</a></li>
</ul>
</div><!-- /btn-group -->
</div><!-- /btn-toolbar -->
<h3>Right aligned menus</h3>
<p>Add <code>.pull-right</code> to the <code>.dropdown-menu</code> of any button dropdown for right aligned menus.</p>
<div class="btn-toolbar">
<div class="btn-group">
<a class="btn" href="#">Right</a>
<a class="btn dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
<ul class="dropdown-menu pull-right">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li class="divider"></li>
<li><a href="#">Separated link</a></li>
</ul>
</div><!-- /btn-group -->
</div><!-- /btn-toolbar -->
<pre class="prettyprint linenums">
&lt;div class="btn-group"&gt;
...
&lt;ul class="dropdown-menu pull-right"&gt;
&lt;!-- dropdown menu links --&gt;
&lt;/ul&gt;
&lt;/div&gt;
</pre>
</div> </div>
<div class="span8"> <div class="span8">
<h3>Example markup</h3> <h3>Example markup</h3>
@ -347,6 +396,44 @@
&lt;/ul&gt; &lt;/ul&gt;
&lt;/div&gt; &lt;/div&gt;
</pre> </pre>
<h3>Dropup menus</h3>
<p>Dropdown menus can also be toggled from the bottom up by adding a single class to the immediate parent of <code>.dropdown-menu</code>. It will flip the direction of the <code>.caret</code> and reposition the menu itself to move from the bottom up instead of top down.</p>
<div class="btn-toolbar" style="margin-top: 9px;">
<div class="btn-group dropup">
<a class="btn" href="#">Dropup</a>
<a class="btn dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li class="divider"></li>
<li><a href="#">Separated link</a></li>
</ul>
</div><!-- /btn-group -->
<div class="btn-group dropup">
<a class="btn primary" href="#">Right dropup</a>
<a class="btn primary dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
<ul class="dropdown-menu pull-right">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li class="divider"></li>
<li><a href="#">Separated link</a></li>
</ul>
</div><!-- /btn-group -->
</div>
<pre class="prettyprint linenums">
&lt;div class="btn-group dropup"&gt;
&lt;a class="btn" href="#"&gt;Dropup&lt;/a&gt;
&lt;a class="btn dropdown-toggle" data-toggle="dropdown" href="#"&gt;
&lt;span class="caret"&gt;&lt;/span&gt;
&lt;/a&gt;
&lt;ul class="dropdown-menu"&gt;
&lt;!-- dropdown menu links --&gt;
&lt;/ul&gt;
&lt;/div&gt;
</pre>
</div> </div>
</div> </div>
</section> </section>
@ -453,7 +540,7 @@
<h3>Tabs with dropdowns</h3> <h3>Tabs with dropdowns</h3>
<ul class="nav nav-tabs"> <ul class="nav nav-tabs">
<li class="active"><a href="#">Home</a></li> <li class="active"><a href="#">Home</a></li>
<li><a href="#">Profile</a></li> <li><a href="#">Help</a></li>
<li class="dropdown"> <li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">Dropdown <b class="caret"></b></a> <a class="dropdown-toggle" data-toggle="dropdown" href="#">Dropdown <b class="caret"></b></a>
<ul class="dropdown-menu"> <ul class="dropdown-menu">
@ -464,6 +551,16 @@
<li><a href="#">Separated link</a></li> <li><a href="#">Separated link</a></li>
</ul> </ul>
</li> </li>
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">Dropup <b class="caret bottom-up"></b></a>
<ul class="dropdown-menu bottom-up pull-right">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li class="divider"></li>
<li><a href="#">Separated link</a></li>
</ul>
</li>
</ul> </ul>
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
&lt;ul class="nav nav-tabs"&gt; &lt;ul class="nav nav-tabs"&gt;
@ -485,7 +582,7 @@
<h3>Pills with dropdowns</h3> <h3>Pills with dropdowns</h3>
<ul class="nav nav-pills"> <ul class="nav nav-pills">
<li class="active"><a href="#">Home</a></li> <li class="active"><a href="#">Home</a></li>
<li><a href="#">Profile</a></li> <li><a href="#">Help</a></li>
<li class="dropdown"> <li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">Dropdown <b class="caret"></b></a> <a class="dropdown-toggle" data-toggle="dropdown" href="#">Dropdown <b class="caret"></b></a>
<ul class="dropdown-menu"> <ul class="dropdown-menu">
@ -496,6 +593,16 @@
<li><a href="#">Separated link</a></li> <li><a href="#">Separated link</a></li>
</ul> </ul>
</li> </li>
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">Dropup <b class="caret bottom-up"></b></a>
<ul class="dropdown-menu bottom-up pull-right">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li class="divider"></li>
<li><a href="#">Separated link</a></li>
</ul>
</li>
</ul> </ul>
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
&lt;ul class="nav nav-pills"&gt; &lt;ul class="nav nav-pills"&gt;
@ -521,8 +628,18 @@
<h3>Application-style navigation</h3> <h3>Application-style navigation</h3>
<p>Nav lists provide 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.</p> <p>Nav lists provide 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.</p>
<p>Structurally, they're built on the same core nav styles as tabs and pills, so usage and customization are straightforward.</p> <p>Structurally, they're built on the same core nav styles as tabs and pills, so usage and customization are straightforward.</p>
<hr>
<h4>With icons</h4> <h4>With icons</h4>
<p>Nav lists are also easy to equip with icons. Add the proper <code>&lt;i&gt;</code> tag with class and you're set.</p> <p>Nav lists are also easy to equip with icons. Add the proper <code>&lt;i&gt;</code> tag with class and you're set.</p>
<h4>Horizontal dividers</h4>
<p>Add a horizontal divider by creating an empty list item with the class <code>.divider</code>, like so:</p>
<pre class="prettyprint linenums">
&lt;ul class="nav nav-list"&gt;
...
&lt;li class="divider"&gt;&lt;/li&gt;
...
&lt;/ul&gt;
</pre>
</div> </div>
<div class="span4"> <div class="span4">
<h3>Example nav list</h3> <h3>Example nav list</h3>
@ -536,6 +653,7 @@
<li class="nav-header">Another list header</li> <li class="nav-header">Another list header</li>
<li><a href="#">Profile</a></li> <li><a href="#">Profile</a></li>
<li><a href="#">Settings</a></li> <li><a href="#">Settings</a></li>
<li class="divider"></li>
<li><a href="#">Help</a></li> <li><a href="#">Help</a></li>
</ul> </ul>
</div> <!-- /well --> </div> <!-- /well -->
@ -566,6 +684,7 @@
<li class="nav-header">Another list header</li> <li class="nav-header">Another list header</li>
<li><a href="#"><i class="icon-user"></i> Profile</a></li> <li><a href="#"><i class="icon-user"></i> Profile</a></li>
<li><a href="#"><i class="icon-cog"></i> Settings</a></li> <li><a href="#"><i class="icon-cog"></i> Settings</a></li>
<li class="divider"></li>
<li><a href="#"><i class="icon-flag"></i> Help</a></li> <li><a href="#"><i class="icon-flag"></i> Help</a></li>
</ul> </ul>
</div> <!-- /well --> </div> <!-- /well -->
@ -754,7 +873,7 @@
<p>An example of a static (not fixed to the top) navbar with project name, navigation, and search form.</p> <p>An example of a static (not fixed to the top) navbar with project name, navigation, and search form.</p>
<div class="navbar"> <div class="navbar">
<div class="navbar-inner"> <div class="navbar-inner">
<div class="container" style="width: auto;"> <div class="container">
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse"> <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span> <span class="icon-bar"></span>
<span class="icon-bar"></span> <span class="icon-bar"></span>
@ -816,13 +935,24 @@
&lt;/div&gt; &lt;/div&gt;
</pre> </pre>
<h3>Fixed navbar</h3> <h3>Fixed navbar</h3>
<p>To make the navbar fixed to the top of the viewport, add <code>.navbar-fixed-top</code> to the outermost div, <code>.navbar</code>.</p> <p>Fix the navbar to the top or bottom of the viewport with an additional class on the outermost div, <code>.navbar</code>.</p>
<div class="row">
<div class="span4">
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
&lt;div class="navbar navbar-fixed-top"&gt; &lt;div class="navbar navbar-fixed-top"&gt;
... ...
&lt;/div&gt; &lt;/div&gt;
</pre> </pre>
<p>In your CSS, you will also need to account for the overlap it causes by adding 40px or more of padding to your <code>&lt;body&gt;</code>. Be sure to add this after the core Bootstrap CSS and before the optional responsive CSS.</p> </div><!--/span-->
<div class="span4">
<pre class="prettyprint linenums">
&lt;div class="navbar navbar-fixed-bottom"&gt;
...
&lt;/div&gt;
</pre>
</div><!--/span-->
</div><!--/row-->
<p>When you affix the navbar, remember to account for the hidden area underneath. Add 40px or more of apdding to the <code>&lt;body&gt;</code>. Be sure to add this after the core Bootstrap CSS and before the optional responsive CSS.</p>
<h3>Brand name</h3> <h3>Brand name</h3>
<p>A simple link to show your brand or project name only requires an anchor tag.</p> <p>A simple link to show your brand or project name only requires an anchor tag.</p>
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
@ -830,8 +960,14 @@
Project name Project name
&lt;/a&gt; &lt;/a&gt;
</pre> </pre>
<h3>Search form</h3> <h3>Forms in navbar</h3>
<p>Search forms receive custom styles in the navbar with the <code>.navbar-search</code> class. Include <code>.pull-left</code> or <code>.pull-right</code> on the <code>form</code> to align it.</p> <p>To properly style and position a form within the navbar, add the appropriate classes as shown below. For a default form, include <code>.navbar-form</code> and either <code>.pull-left</code> or <code>.pull-right</code> to properly align it.</p>
<pre class="prettyprint linenums">
&lt;form class="navbar-form pull-left"&gt;
&lt;input type="text" class="span2"&gt;
&lt;/form&gt;
</pre>
<p>For a more customized search form, add the <code>.navbar-search</code> class to receive specialized styles in the navbar.</p>
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
&lt;form class="navbar-search pull-left"&gt; &lt;form class="navbar-search pull-left"&gt;
&lt;input type="text" class="search-query" placeholder="Search"&gt; &lt;input type="text" class="search-query" placeholder="Search"&gt;
@ -890,8 +1026,8 @@
</pre> </pre>
<h3>Component alignment</h3> <h3>Component alignment</h3>
<p>To align a nav, search form, or text, use the <code>.pull-left</code> or <code>.pull-right</code> utility classes. Both classes will add a CSS float in the specified direction.</p> <p>To align a nav, search form, or text, use the <code>.pull-left</code> or <code>.pull-right</code> utility classes. Both classes will add a CSS float in the specified direction.</p>
<h3>Adding dropdowns</h3> <h3>Adding dropdown menus</h3>
<p>Adding dropdowns to the nav is super simple, but does require the use of <a href="./javascript.html#dropdowns">our javascript plugin</a>.</p> <p>Adding dropdowns and dropups to the nav is super simple, but does require the use of <a href="./javascript.html/#dropdown">our javascript plugin</a>.</p>
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
&lt;ul class="nav"&gt; &lt;ul class="nav"&gt;
&lt;li class="dropdown"&gt; &lt;li class="dropdown"&gt;
@ -908,6 +1044,9 @@
&lt;/ul&gt; &lt;/ul&gt;
</pre> </pre>
<p><a class="btn" href="./javascript.html#dropdowns">Get the javascript &rarr;</a></p> <p><a class="btn" href="./javascript.html#dropdowns">Get the javascript &rarr;</a></p>
<hr>
<h3>Text in the navbar</h3>
<p>Wrap strings of text in a <code>&lt;p&gt;</code> tag for proper leading and color.</p>
</div><!-- /.span --> </div><!-- /.span -->
</div><!-- /.row --> </div><!-- /.row -->
@ -953,9 +1092,7 @@
&lt;li&gt; &lt;li&gt;
&lt;a href="#"&gt;Library&lt;/a&gt; &lt;span class="divider"&gt;/&lt;/span&gt; &lt;a href="#"&gt;Library&lt;/a&gt; &lt;span class="divider"&gt;/&lt;/span&gt;
&lt;/li&gt; &lt;/li&gt;
&lt;li class="active"&gt; &lt;li class="active"&gt;Data&lt;/li&gt;
&lt;a href="#"&gt;Data&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt; &lt;/ul&gt;
</pre> </pre>
</div> </div>
@ -1144,12 +1281,116 @@
<code>&lt;span class="label label-info"&gt;Info&lt;/span&gt;</code> <code>&lt;span class="label label-info"&gt;Info&lt;/span&gt;</code>
</td> </td>
</tr> </tr>
<tr>
<td>
<span class="label label-inverse">Inverse</span>
</td>
<td>
<code>&lt;span class="label label-inverse"&gt;Inverse&lt;/span&gt;</code>
</td>
</tr>
</tbody> </tbody>
</table> </table>
</section> </section>
<!-- Badges
================================================== -->
<section id="badges">
<div class="page-header">
<h1>Badges <small>Indicators and unread counts</small></h1>
</div>
<div class="row">
<div class="span4">
<h3>About</h3>
<p>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.</p>
</div><!-- /.span -->
<div class="span8">
<h3>Available classes</h3>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>Name</th>
<th>Example</th>
<th>Markup</th>
</tr>
</thead>
<tbody>
<tr>
<td>
Default
</td>
<td>
<span class="badge">1</span>
</td>
<td>
<code>&lt;span class="badge"&gt;1&lt;/span&gt;</code>
</td>
</tr>
<tr>
<td>
Success
</td>
<td>
<span class="badge badge-success">2</span>
</td>
<td>
<code>&lt;span class="badge badge-success"&gt;2&lt;/span&gt;</code>
</td>
</tr>
<tr>
<td>
Warning
</td>
<td>
<span class="badge badge-warning">4</span>
</td>
<td>
<code>&lt;span class="badge badge-warning"&gt;4&lt;/span&gt;</code>
</td>
</tr>
<tr>
<td>
Error
</td>
<td>
<span class="badge badge-error">6</span>
</td>
<td>
<code>&lt;span class="badge badge-error"&gt;1&lt;/span&gt;</code>
</td>
</tr>
<tr>
<td>
Info
</td>
<td>
<span class="badge badge-info">8</span>
</td>
<td>
<code>&lt;span class="badge badge-info"&gt;8&lt;/span&gt;</code>
</td>
</tr>
<tr>
<td>
Inverse
</td>
<td>
<span class="badge badge-inverse">10</span>
</td>
<td>
<code>&lt;span class="badge badge-inverse"&gt;10&lt;/span&gt;</code>
</td>
</tr>
</tbody>
</table>
</div><!-- /.span -->
</div><!-- /.row -->
</section>
<!-- Typographic components <!-- Typographic components
================================================== --> ================================================== -->
<section id="typography"> <section id="typography">
@ -1188,8 +1429,11 @@
<p>A simple shell for an <code>h1</code> to appropratiely space out and segment sections of content on a page. It can utilize the <code>h1</code>'s default <code>small</code>, element as well most other components (with additional styles).</p> <p>A simple shell for an <code>h1</code> to appropratiely space out and segment sections of content on a page. It can utilize the <code>h1</code>'s default <code>small</code>, element as well most other components (with additional styles).</p>
</div> </div>
<div class="span8"> <div class="span8">
<div class="page-header">
<h1>Example page header <small>Subtext for header</small></h1>
</div>
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
&lt;div class="page-haeder"&gt; &lt;div class="page-header"&gt;
&lt;h1&gt;Example page header&lt;/h1&gt; &lt;h1&gt;Example page header&lt;/h1&gt;
&lt;/div&gt; &lt;/div&gt;
</pre> </pre>
@ -1525,7 +1769,7 @@
================================================== --> ================================================== -->
<section id="misc"> <section id="misc">
<div class="page-header"> <div class="page-header">
<h1>Miscellaneous <small>Wells, badges, and close icon</small></h1> <h1>Miscellaneous <small>Lightweight utility components</small></h1>
</div> </div>
<div class="row"> <div class="row">
<div class="span4"> <div class="span4">
@ -1539,11 +1783,6 @@
... ...
&lt;/div&gt; &lt;/div&gt;
</pre> </pre>
</div><!--/span-->
<div class="span4" style="display: none;">
<h2>Badges</h2>
<p>Use a badge on an element for an unread count or as a simple indicator.</p>
<pre class="prettyprint linenums">&lt;span class="badge"&gt;3&lt;/div&gt;</pre>
</div><!--/span--> </div><!--/span-->
<div class="span4"> <div class="span4">
<h2>Close icon</h2> <h2>Close icon</h2>

View File

@ -108,6 +108,7 @@
<label class="checkbox"><input checked="checked" type="checkbox" value="type.less"> Headings, body, etc</label> <label class="checkbox"><input checked="checked" type="checkbox" value="type.less"> Headings, body, etc</label>
<label class="checkbox"><input checked="checked" type="checkbox" value="code.less"> Code and pre</label> <label class="checkbox"><input checked="checked" type="checkbox" value="code.less"> Code and pre</label>
<label class="checkbox"><input checked="checked" type="checkbox" value="labels.less"> Labels</label> <label class="checkbox"><input checked="checked" type="checkbox" value="labels.less"> Labels</label>
<label class="checkbox"><input checked="checked" type="checkbox" value="badges.less"> Badges</label>
<label class="checkbox"><input checked="checked" type="checkbox" value="tables.less"> Tables</label> <label class="checkbox"><input checked="checked" type="checkbox" value="tables.less"> Tables</label>
<label class="checkbox"><input checked="checked" type="checkbox" value="forms.less"> Forms</label> <label class="checkbox"><input checked="checked" type="checkbox" value="forms.less"> Forms</label>
<label class="checkbox"><input checked="checked" type="checkbox" value="buttons.less"> Buttons</label> <label class="checkbox"><input checked="checked" type="checkbox" value="buttons.less"> Buttons</label>
@ -210,7 +211,7 @@
</div><!-- /span --> </div><!-- /span -->
<div class="span4"> <div class="span4">
<h4 class="muted">Heads up!</h4> <h4 class="muted">Heads up!</h4>
<p class="muted">All plugins require the latest version of <a href="http://jquery.com/" target="_blank">jQuery</a> to be included.</p> <p class="muted">All checked plugins will be compiled into a single file, bootstrap.js. All plugins require the latest version of <a href="http://jquery.com/" target="_blank">jQuery</a> to be included.</p>
</div><!-- /span --> </div><!-- /span -->
</div><!-- /row --> </div><!-- /row -->
</section> </section>

View File

@ -22,14 +22,14 @@
<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements --> <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
<!--[if lt IE 9]> <!--[if lt IE 9]>
<script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script> <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]--> <![endif]-->
<!-- Le fav and touch icons --> <!-- Le fav and touch icons -->
<link rel="shortcut icon" href="images/favicon.ico"> <link rel="shortcut icon" href="../assets/ico/favicon.ico">
<link rel="apple-touch-icon" href="images/apple-touch-icon.png"> <link rel="apple-touch-icon" href="../assets/ico/bootstrap-apple-57x57.png">
<link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png"> <link rel="apple-touch-icon" sizes="72x72" href="../assets/ico/bootstrap-apple-72x72.png">
<link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png"> <link rel="apple-touch-icon" sizes="114x114" href="../assets/ico/bootstrap-apple-114x114.png">
</head> </head>
<body> <body>

View File

@ -19,14 +19,14 @@
<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements --> <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
<!--[if lt IE 9]> <!--[if lt IE 9]>
<script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script> <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]--> <![endif]-->
<!-- Le fav and touch icons --> <!-- Le fav and touch icons -->
<link rel="shortcut icon" href="images/favicon.ico"> <link rel="shortcut icon" href="../assets/ico/favicon.ico">
<link rel="apple-touch-icon" href="images/apple-touch-icon.png"> <link rel="apple-touch-icon" href="../assets/ico/bootstrap-apple-57x57.png">
<link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png"> <link rel="apple-touch-icon" sizes="72x72" href="../assets/ico/bootstrap-apple-72x72.png">
<link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png"> <link rel="apple-touch-icon" sizes="114x114" href="../assets/ico/bootstrap-apple-114x114.png">
</head> </head>
<body> <body>

View File

@ -18,14 +18,14 @@
<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements --> <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
<!--[if lt IE 9]> <!--[if lt IE 9]>
<script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script> <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]--> <![endif]-->
<!-- Le fav and touch icons --> <!-- Le fav and touch icons -->
<link rel="shortcut icon" href="images/favicon.ico"> <link rel="shortcut icon" href="../assets/ico/favicon.ico">
<link rel="apple-touch-icon" href="images/apple-touch-icon.png"> <link rel="apple-touch-icon" href="../assets/ico/bootstrap-apple-57x57.png">
<link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png"> <link rel="apple-touch-icon" sizes="72x72" href="../assets/ico/bootstrap-apple-72x72.png">
<link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png"> <link rel="apple-touch-icon" sizes="114x114" href="../assets/ico/bootstrap-apple-114x114.png">
</head> </head>
<body> <body>

View File

@ -82,7 +82,7 @@
<p>Simple and flexible HTML, CSS, and Javascript for popular user interface components and interactions.</p> <p>Simple and flexible HTML, CSS, and Javascript for popular user interface components and interactions.</p>
<p class="download-info"> <p class="download-info">
<a href="https://github.com/twitter/bootstrap/" class="btn btn-primary btn-large">View project on GitHub</a> <a href="https://github.com/twitter/bootstrap/" class="btn btn-primary btn-large">View project on GitHub</a>
<a href="assets/bootstrap.zip" class="btn btn-large">Download Bootstrap</a> <a href="assets/bootstrap.zip" class="btn btn-large">Download Bootstrap <small>(v2.0.2)</small></a>
</p> </p>
</div> </div>

View File

@ -214,8 +214,8 @@
<p>One fine body…</p> <p>One fine body…</p>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<a href="#" class="btn btn-primary">Save changes</a>
<a href="#" class="btn">Close</a> <a href="#" class="btn">Close</a>
<a href="#" class="btn btn-primary">Save changes</a>
</div> </div>
</div> </div>
</div> <!-- /well --> </div> <!-- /well -->
@ -237,10 +237,21 @@
<h4>Tooltips in a modal</h4> <h4>Tooltips in a modal</h4>
<p><a href="#" class="tooltip-test" title="Tooltip">This link</a> and <a href="#" class="tooltip-test" title="Tooltip">that link</a> should have tooltips on hover.</p> <p><a href="#" class="tooltip-test" title="Tooltip">This link</a> and <a href="#" class="tooltip-test" title="Tooltip">that link</a> should have tooltips on hover.</p>
<hr>
<h4>Overflowing text to show optional scrollbar</h4>
<p>We set a fixed <code>max-height</code> on the <code>.modal-body</code>. Watch it overflow with all this extra lorem ipsum text we've included.</p>
<p>Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
<p>Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.</p>
<p>Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.</p>
<p>Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
<p>Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.</p>
<p>Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.</p>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<a href="#" class="btn btn-primary">Save changes</a>
<a href="#" class="btn" data-dismiss="modal" >Close</a> <a href="#" class="btn" data-dismiss="modal" >Close</a>
<a href="#" class="btn btn-primary">Save changes</a>
</div> </div>
</div> </div>
<a data-toggle="modal" href="#myModal" class="btn btn-primary btn-large">Launch demo modal</a> <a data-toggle="modal" href="#myModal" class="btn btn-primary btn-large">Launch demo modal</a>
@ -265,7 +276,7 @@
<td>backdrop</td> <td>backdrop</td>
<td>boolean</td> <td>boolean</td>
<td>true</td> <td>true</td>
<td>Includes a modal-backdrop element</td> <td>Includes a modal-backdrop element. Alternatively, specify <code>static</code> for a backdrop which doesn't close the modal on click.</td>
</tr> </tr>
<tr> <tr>
<td>keyboard</td> <td>keyboard</td>
@ -298,8 +309,8 @@
&lt;p&gt;One fine body…&lt;/p&gt; &lt;p&gt;One fine body…&lt;/p&gt;
&lt;/div&gt; &lt;/div&gt;
&lt;div class="modal-footer"&gt; &lt;div class="modal-footer"&gt;
&lt;a href="#" class="btn btn-primary"&gt;Save changes&lt;/a&gt;
&lt;a href="#" class="btn"&gt;Close&lt;/a&gt; &lt;a href="#" class="btn"&gt;Close&lt;/a&gt;
&lt;a href="#" class="btn btn-primary"&gt;Save changes&lt;/a&gt;
&lt;/div&gt; &lt;/div&gt;
&lt;/div&gt; &lt;/div&gt;
</pre> </pre>
@ -464,7 +475,7 @@ $('#myModal').on('hidden', function () {
</div> </div>
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
&lt;ul class="nav pills"&gt; &lt;ul class="nav nav-pills"&gt;
&lt;li class="active"&gt;&lt;a href="#"&gt;Regular link&lt;/a&gt;&lt;/li&gt; &lt;li class="active"&gt;&lt;a href="#"&gt;Regular link&lt;/a&gt;&lt;/li&gt;
&lt;li class="dropdown" id="menu1"&gt; &lt;li class="dropdown" id="menu1"&gt;
&lt;a class="dropdown-toggle" data-toggle="dropdown" href="#menu1"&gt; &lt;a class="dropdown-toggle" data-toggle="dropdown" href="#menu1"&gt;
@ -1299,10 +1310,16 @@ $('#myCollapsible').on('hidden', function () {
<td>5000</td> <td>5000</td>
<td>The amount of time to delay between automatically cycling an item.</td> <td>The amount of time to delay between automatically cycling an item.</td>
</tr> </tr>
<tr>
<td>pause</td>
<td>string</td>
<td>"hover"</td>
<td>Pauses the cycling of the carousel on mouseenter and resumes the cycling of the carousel on mouseleave.</td>
</tr>
</tbody> </tbody>
</table> </table>
<h3>Markup</h3> <h3>Markup</h3>
<p>Data attributes are integral to the carousel plugin. Check out the example code below for the various markup types.</p> <p>Data attributes are used for the previous and next conrols. Check out the example markup below.</p>
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
&lt;div id="myCarousel" class="carousel"&gt; &lt;div id="myCarousel" class="carousel"&gt;
&lt;!-- Carousel items --&gt; &lt;!-- Carousel items --&gt;
@ -1320,7 +1337,7 @@ $('#myCollapsible').on('hidden', function () {
<h4>.carousel(options)</h4> <h4>.carousel(options)</h4>
<p>Initializes the carousel with an optional options <code>object</code> and starts cycling through items.</p> <p>Initializes the carousel with an optional options <code>object</code> and starts cycling through items.</p>
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
$('.myCarousel').carousel({ $('.carousel').carousel({
interval: 2000 interval: 2000
}) })
</pre> </pre>
@ -1335,7 +1352,7 @@ $('.myCarousel').carousel({
<h4>.carousel('next')</h4> <h4>.carousel('next')</h4>
<p>Cycles to the next item.</p> <p>Cycles to the next item.</p>
<h3>Events</h3> <h3>Events</h3>
<p>Bootstrap's modal class exposes a few events for hooking into modal functionality.</p> <p>Bootstrap's carousel class exposes two events for hooking into carousel functionality.</p>
<table class="table table-bordered table-striped"> <table class="table table-bordered table-striped">
<thead> <thead>
<tr> <tr>

View File

@ -81,8 +81,9 @@
<p class="lead">Bootstrap is built on a responsive 12-column grid. We've also included fixed- and fluid-width layouts based on that system.</p> <p class="lead">Bootstrap is built on a responsive 12-column grid. We've also included fixed- and fluid-width layouts based on that system.</p>
<div class="subnav"> <div class="subnav">
<ul class="nav nav-pills"> <ul class="nav nav-pills">
<li><a href="#global">Global styles</a></li>
<li><a href="#gridSystem">Grid system</a></li> <li><a href="#gridSystem">Grid system</a></li>
<li><a href="#fluidGridSystem">Fluid gird system</a></li> <li><a href="#fluidGridSystem">Fluid grid system</a></li>
<li><a href="#gridCustomization">Customizing</a></li> <li><a href="#gridCustomization">Customizing</a></li>
<li><a href="#layouts">Layouts</a></li> <li><a href="#layouts">Layouts</a></li>
<li><a href="#responsive">Responsive design</a></li> <li><a href="#responsive">Responsive design</a></li>
@ -92,6 +93,45 @@
<!-- Global Bootstrap settings
================================================== -->
<section id="global">
<div class="page-header">
<h1>Global styles <small>for CSS reset, typography, and links</small></h1>
</div>
<div class="row">
<div class="span4">
<h2>Requires HTML5 doctype</h2>
<p>Bootstrap makes use of HTML elements and CSS properties that require the use of the HTML5 doctype. Be sure to include it at the beginning of every Bootstrapped page in your project.</p>
<pre class="prettyprint linenums">
&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
...
&lt;/html&gt;
</pre>
</div><!-- /.span -->
<div class="span4">
<h2>Typography and links</h2>
<p>Within the <strong>scaffolding.less</strong> file, we set basic global display, typography, and link styles. Specifically, we:</p>
<ul>
<li>Remove margin on the body</li>
<li>Set <code>background-color: white;</code> on the <code>body</code></li>
<li>Use the <code>@baseFontFamily</code>, <code>@baseFontSize</code>, and <code>@baseLineHeight</code> attributes as our typographyic base</li>
<li>Set the global link color via <code>@linkColor</code> and apply link underlines only on <code>:hover</code></li>
</ul>
</div><!-- /.span -->
<div class="span4">
<h2>Reset via Normalize</h2>
<p>As of Bootstrap 2, the traditional CSS reset has evolved to make use of elements from <a href="http://necolas.github.com/normalize.css/" target="_blank">Normalize.css</a>, a project by <a href="http://twitter.com/necolas" target="_blank">Nicolas Gallagher</a> that also powers the <a href="http://html5boilerplate.com" target="_blank">HTML5 Boilerplate</a>.</p>
<p>The new reset can still be found in <strong>reset.less</strong>, but with many elements removed for brevity and accuracy.</p>
</div><!-- /.span -->
</div><!-- /.row -->
</section>
<!-- Grid system <!-- Grid system
================================================== --> ================================================== -->
<section id="gridSystem"> <section id="gridSystem">
@ -133,7 +173,7 @@
<div class="span4"> <div class="span4">
<p>The default grid system provided as part of Bootstrap is a <strong>940px-wide, 12-column grid</strong>.</p> <p>The default grid system provided as part of Bootstrap is a <strong>940px-wide, 12-column grid</strong>.</p>
<p>It also has four responsive variations for various devices and resolutions: phone, tablet portrait, table landscape and small desktops, and large widescreen desktops.</p> <p>It also has four responsive variations for various devices and resolutions: phone, tablet portrait, table landscape and small desktops, and large widescreen desktops.</p>
</div> </div><!-- /.span -->
<div class="span4"> <div class="span4">
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
&lt;div class="row"&gt; &lt;div class="row"&gt;
@ -141,11 +181,11 @@
&lt;div class="span8"&gt;...&lt;/div&gt; &lt;div class="span8"&gt;...&lt;/div&gt;
&lt;/div&gt; &lt;/div&gt;
</pre> </pre>
</div> </div><!-- /.span -->
<div class="span4"> <div class="span4">
<p>As shown here, a basic layout can be created with two "columns," each spanning a number of the 12 foundational columns we defined as part of our grid system.</p> <p>As shown here, a basic layout can be created with two "columns," each spanning a number of the 12 foundational columns we defined as part of our grid system.</p>
</div> </div><!-- /.span -->
</div><!-- /row --> </div><!-- /.row -->
<br> <br>
@ -189,7 +229,7 @@
</div> </div>
</div> </div>
</div> </div>
</div><!-- /span6 --> </div><!-- /.span -->
<div class="span6"> <div class="span6">
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
&lt;div class="row"&gt; &lt;div class="row"&gt;
@ -202,8 +242,8 @@
&lt;/div&gt; &lt;/div&gt;
&lt;/div&gt; &lt;/div&gt;
</pre> </pre>
</div> </div><!-- /.span -->
</div> </div><!-- /.row -->
</section> </section>
@ -251,11 +291,11 @@
<div class="span4"> <div class="span4">
<h3>Percents, not pixels</h3> <h3>Percents, not pixels</h3>
<p>The fluid grid system uses percents for column widths instead of fixed pixels. It also has the same responsive variations as our fixed grid system, ensuring proper proportions for key screen resolutions and devices.</p> <p>The fluid grid system uses percents for column widths instead of fixed pixels. It also has the same responsive variations as our fixed grid system, ensuring proper proportions for key screen resolutions and devices.</p>
</div> </div><!-- /.span -->
<div class="span4"> <div class="span4">
<h3>Fluid rows</h3> <h3>Fluid rows</h3>
<p>Make any row fluid simply by changing <code>.row</code> to <code>.row-fluid</code>. The columns stay the exact same, making it super straightforward to flip between fixed and fluid layouts.</p> <p>Make any row fluid simply by changing <code>.row</code> to <code>.row-fluid</code>. The columns stay the exact same, making it super straightforward to flip between fixed and fluid layouts.</p>
</div> </div><!-- /.span -->
<div class="span4"> <div class="span4">
<h3>Markup</h3> <h3>Markup</h3>
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
@ -264,8 +304,8 @@
&lt;div class="span8"&gt;...&lt;/div&gt; &lt;div class="span8"&gt;...&lt;/div&gt;
&lt;/div&gt; &lt;/div&gt;
</pre> </pre>
</div> </div><!-- /.span -->
</div><!-- /row --> </div><!-- /.row -->
<h2>Fluid nesting</h2> <h2>Fluid nesting</h2>
<div class="row"> <div class="row">
@ -284,7 +324,7 @@
</div> </div>
</div> </div>
</div> </div>
</div> </div><!-- /.span -->
<div class="span6"> <div class="span6">
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
&lt;div class="row-fluid"&gt; &lt;div class="row-fluid"&gt;
@ -297,8 +337,8 @@
&lt;/div&gt; &lt;/div&gt;
&lt;/div&gt; &lt;/div&gt;
</pre> </pre>
</div> </div><!-- /.span -->
</div> </div><!-- /.row -->
</section> </section>
@ -345,16 +385,16 @@
<div class="span4"> <div class="span4">
<h3>Variables in LESS</h3> <h3>Variables in LESS</h3>
<p>Built into Bootstrap are a handful of variables for customizing the default 940px grid system, documented above. All variables for the grid are stored in variables.less.</p> <p>Built into Bootstrap are a handful of variables for customizing the default 940px grid system, documented above. All variables for the grid are stored in variables.less.</p>
</div> </div><!-- /.span -->
<div class="span4"> <div class="span4">
<h3>How to customize</h3> <h3>How to customize</h3>
<p>Modifying the grid means changing the three <code>@grid*</code> variables and recompiling Bootstrap. Change the grid variables in variables.less and use one of the <a href="less.html#compiling">four ways documented to recompile</a>. If you're adding more columns, be sure to add the CSS for those in grid.less.</p> <p>Modifying the grid means changing the three <code>@grid*</code> variables and recompiling Bootstrap. Change the grid variables in variables.less and use one of the <a href="less.html#compiling">four ways documented to recompile</a>. If you're adding more columns, be sure to add the CSS for those in grid.less.</p>
</div> </div><!-- /.span -->
<div class="span4"> <div class="span4">
<h3>Staying responsive</h3> <h3>Staying responsive</h3>
<p>Customization of the grid only works at the default level, the 940px grid. To maintain the responsive aspects of Bootstrap, you'll also have to customize the grids in responsive.less.</p> <p>Customization of the grid only works at the default level, the 940px grid. To maintain the responsive aspects of Bootstrap, you'll also have to customize the grids in responsive.less.</p>
</div> </div><!-- /.span -->
</div><!-- /row --> </div><!-- /.row -->
</section> </section>
@ -381,7 +421,7 @@
&lt;/div&gt; &lt;/div&gt;
&lt;/body&gt; &lt;/body&gt;
</pre> </pre>
</div><!-- /col --> </div><!-- /.span -->
<div class="span6"> <div class="span6">
<h2>Fluid layout</h2> <h2>Fluid layout</h2>
<p><code>&lt;div class="container-fluid"&gt;</code> gives flexible page structure, min- and max-widths, and a left-hand sidebar. It's great for apps and docs.</p> <p><code>&lt;div class="container-fluid"&gt;</code> gives flexible page structure, min- and max-widths, and a left-hand sidebar. It's great for apps and docs.</p>
@ -401,8 +441,8 @@
&lt;/div&gt; &lt;/div&gt;
&lt;/div&gt; &lt;/div&gt;
</pre> </pre>
</div><!-- /col --> </div><!-- /.span -->
</div><!-- /row --> </div><!-- /.row -->
</section> </section>
@ -417,8 +457,16 @@
<!-- Supported devices --> <!-- Supported devices -->
<div class="row"> <div class="row">
<div class="span4"> <div class="span4">
<img src="assets/img/responsive-illustrations.png" alt="Responsive devices"> <p><img src="assets/img/responsive-illustrations.png" alt="Responsive devices"></p>
</div> <h3>What they do</h3>
<p>Media queries allow for custom CSS based on a number of conditions&mdash;ratios, widths, display type, etc&mdash;but usually focuses around <code>min-width</code> and <code>max-width</code>.</p>
<ul>
<li>Modify the width of column in our grid</li>
<li>Stack elements instead of float wherever necessary</li>
<li>Resize headings and text to be more appropriate for devices</li>
</ul>
<p>Use media queries responsibly and only as a start to your mobile audiences. For larger projects, do consider dedicated code bases and not layers of media queries.</p>
</div><!-- /.span -->
<div class="span8"> <div class="span8">
<h2>Supported devices</h2> <h2>Supported devices</h2>
<p>Bootstrap supports a handful of media queries in a single file to help make your projects more appropriate on different devices and screen resolutions. Here's what's included:</p> <p>Bootstrap supports a handful of media queries in a single file to help make your projects more appropriate on different devices and screen resolutions. Here's what's included:</p>
@ -438,13 +486,13 @@
<td class="muted" colspan="2">Fluid columns, no fixed widths</td> <td class="muted" colspan="2">Fluid columns, no fixed widths</td>
</tr> </tr>
<tr> <tr>
<td>Portrait tablets</td> <td>Smartphones to tablets</td>
<td>480px to 768px</td> <td>767px and below</td>
<td class="muted" colspan="2">Fluid columns, no fixed widths</td> <td class="muted" colspan="2">Fluid columns, no fixed widths</td>
</tr> </tr>
<tr> <tr>
<td>Landscape tablets</td> <td>Portrait tablets</td>
<td>768px to 979px</td> <td>768px and above</td>
<td>42px</td> <td>42px</td>
<td>20px</td> <td>20px</td>
</tr> </tr>
@ -466,23 +514,15 @@
<h3>Requires meta tag</h3> <h3>Requires meta tag</h3>
<p>To ensure devices display responsive pages properly, include the viewport meta tag.</p> <p>To ensure devices display responsive pages properly, include the viewport meta tag.</p>
<pre class="prettyprint linenums">&lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;</pre> <pre class="prettyprint linenums">&lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;</pre>
</div><!-- /.span -->
<h3>What they do</h3> </div><!-- /.row -->
<p>Media queries allow for custom CSS based on a number of conditions&mdash;ratios, widths, display type, etc&mdash;but usually focuses around <code>min-width</code> and <code>max-width</code>.</p>
<ul>
<li>Modify the width of column in our grid</li>
<li>Stack elements instead of float wherever necessary</li>
<li>Resize headings and text to be more appropriate for devices</li>
</ul>
</div>
</div>
<br> <br>
<!-- Media query code --> <!-- Media query code -->
<h2>Using the media queries</h2> <h2>Using the media queries</h2>
<div class="row"> <div class="row">
<div class="span5"> <div class="span4">
<p>Bootstrap doesn't automatically include these media queries, but understanding and adding them is very easy and requires minimal setup. You have a few options for including the responsive features of Bootstrap:</p> <p>Bootstrap doesn't automatically include these media queries, but understanding and adding them is very easy and requires minimal setup. You have a few options for including the responsive features of Bootstrap:</p>
<ol> <ol>
<li>Use the compiled responsive version, bootstrap-responsive.css</li> <li>Use the compiled responsive version, bootstrap-responsive.css</li>
@ -490,8 +530,8 @@
<li>Modify and recompile responsive.less as a separate file</li> <li>Modify and recompile responsive.less as a separate file</li>
</ol> </ol>
<p><strong>Why not just include it?</strong> Truth be told, not everything needs to be responsive. Instead of encouraging developers to remove this feature, we figure it best to enable it.</p> <p><strong>Why not just include it?</strong> Truth be told, not everything needs to be responsive. Instead of encouraging developers to remove this feature, we figure it best to enable it.</p>
</div> </div><!-- /.span -->
<div class="span7"> <div class="span8">
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
// Landscape phones and down // Landscape phones and down
@media (max-width: 480px) { ... } @media (max-width: 480px) { ... }
@ -505,8 +545,93 @@
// Large desktop // Large desktop
@media (min-width: 1200px) { .. } @media (min-width: 1200px) { .. }
</pre> </pre>
</div> </div><!-- /.span -->
</div> </div><!-- /.row -->
<br>
<!-- Responsive utility classes -->
<h2>Responsive utility classes</h2>
<div class="row">
<div class="span4">
<h3>What are they</h2>
<p>For faster mobile-friendly development, use these basic utility classes for showing and hidding content by device.</p>
<h3>When to use</h2>
<p>Use on a limited basis and avoid creating entirely different versions of the same site. Instead, use them to complement each device's presentation.</p>
<p>For example, you might show a <code>&lt;select&gt;</code> element for nav on mobile layouts, but not on tablets or desktops.</p>
</div><!-- /.span -->
<div class="span8">
<h3>Support classes</h3>
<p>Shown here is a table of the classes we support and their effect on a given media query layout (labeled by device). They can be found in <code>responsive.less</code>.</p>
<table class="table table-bordered table-striped responsive-utilities">
<thead>
<tr>
<th>Class</th>
<th>Phones <small>480px and below</small></th>
<th>Tablets <small>767px and below</small></th>
<th>Desktops <small>768px and above</small></th>
</tr>
</thead>
<tbody>
<tr>
<th><code>.visible-phone</code></th>
<td class="is-visible">Visible</td>
<td class="is-hidden">Hidden</td>
<td class="is-hidden">Hidden</td>
</tr>
<tr>
<th><code>.visible-tablet</code></th>
<td class="is-hidden">Hidden</td>
<td class="is-visible">Visible</td>
<td class="is-hidden">Hidden</td>
</tr>
<tr>
<th><code>.visible-desktop</code></th>
<td class="is-hidden">Hidden</td>
<td class="is-hidden">Hidden</td>
<td class="is-visible">Visible</td>
</tr>
<tr>
<th><code>.hidden-phone</code></th>
<td class="is-hidden">Hidden</td>
<td class="is-visible">Visible</td>
<td class="is-visible">Visible</td>
</tr>
<tr>
<th><code>.hidden-tablet</code></th>
<td class="is-visible">Visible</td>
<td class="is-hidden">Hidden</td>
<td class="is-visible">Visible</td>
</tr>
<tr>
<th><code>.hidden-desktop</code></th>
<td class="is-visible">Visible</td>
<td class="is-visible">Visible</td>
<td class="is-hidden">Hidden</td>
</tr>
</tbody>
</table>
<h3>Test case</h3>
<p>Resize your browser or load on different devices to test the above clases.</p>
<h4>Visible on...</h4>
<ul class="responsive-utilities-test">
<li>Phone<span class="visible-phone">&#10004; Phone</span></li>
<li>Tablet<span class="visible-tablet">&#10004; Tablet</span></li>
<li>Desktop<span class="visible-desktop">&#10004; Desktop</span></li>
</ul>
<h4>Hidden on...</h4>
<ul class="responsive-utilities-test hidden-on">
<li>Phone<span class="hidden-phone">&#10004; Phone</span></li>
<li>Tablet<span class="hidden-tablet">&#10004; Tablet</span></li>
<li>Desktop<span class="hidden-desktop">&#10004; Desktop</span></li>
</ul>
</div><!-- /.span -->
</div><!-- /.row -->
<div class="row">
<div class="span4">
</div><!-- /.span -->
</div><!-- /.row -->
</section> </section>

View File

@ -90,7 +90,8 @@
{{_i}}Wraps abbreviations and acronyms to show the expanded version on hover{{/i}} {{_i}}Wraps abbreviations and acronyms to show the expanded version on hover{{/i}}
</td> </td>
<td> <td>
{{_i}}Include optional <code>title</code> for expanded text{{/i}} <p>{{_i}}Include optional <code>title</code> attribute for expanded text{{/i}}</p>
{{_i}}Use <code>.initialism</code> class for uppercase abbreviations.{{/i}}
</td> </td>
</tr> </tr>
<tr> <tr>
@ -129,8 +130,9 @@
</div> </div>
<div class="span4"> <div class="span4">
<h3>{{_i}}Example abbreviations{{/i}}</h3> <h3>{{_i}}Example abbreviations{{/i}}</h3>
<p>{{_i}}Abbreviations are styled with uppercase text and a light dotted bottom border. They also have a help cursor on hover so users have extra indication something will be shown on hover.{{/i}}</p> <p>{{_i}}Abbreviations with a <code>title</code> attribute have a light dotted bottom border and a help cursor on hover. This gives users extra indication something will be shown on hover.{{/i}}</p>
<p>{{_i}}<abbr title="HyperText Markup Language">HTML</abbr> is the best thing since sliced bread.{{/i}}</p> <p>{{_i}}Add the <code>initialism</code> class to an abbreviation to increase typographic harmony by giving it a slightly smaller text size.{{/i}}</p>
<p>{{_i}}<abbr title="HyperText Markup Language" class="initialism">HTML</abbr> is the best thing since sliced bread.{{/i}}</p>
<p>{{_i}}An abbreviation of the word attribute is <abbr title="attribute">attr</abbr>.{{/i}}</p> <p>{{_i}}An abbreviation of the word attribute is <abbr title="attribute">attr</abbr>.{{/i}}</p>
</div> </div>
</div> </div>
@ -493,7 +495,7 @@
<th>#</th> <th>#</th>
<th>{{_i}}First Name{{/i}}</th> <th>{{_i}}First Name{{/i}}</th>
<th>{{_i}}Last Name{{/i}}</th> <th>{{_i}}Last Name{{/i}}</th>
<th>{{_i}}Language{{/i}}</th> <th>{{_i}}Username{{/i}}</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@ -501,19 +503,19 @@
<td>1</td> <td>1</td>
<td>Mark</td> <td>Mark</td>
<td>Otto</td> <td>Otto</td>
<td>CSS</td> <td>@mdo</td>
</tr> </tr>
<tr> <tr>
<td>2</td> <td>2</td>
<td>Jacob</td> <td>Jacob</td>
<td>Thornton</td> <td>Thornton</td>
<td>Javascript</td> <td>@fat</td>
</tr> </tr>
<tr> <tr>
<td>3</td> <td>3</td>
<td>Stu</td> <td>Larry</td>
<td>Dent</td> <td>the Bird</td>
<td>HTML</td> <td>@twitter</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
@ -538,7 +540,7 @@
<th>#</th> <th>#</th>
<th>{{_i}}First Name{{/i}}</th> <th>{{_i}}First Name{{/i}}</th>
<th>{{_i}}Last Name{{/i}}</th> <th>{{_i}}Last Name{{/i}}</th>
<th>{{_i}}Language{{/i}}</th> <th>{{_i}}Username{{/i}}</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@ -546,19 +548,19 @@
<td>1</td> <td>1</td>
<td>Mark</td> <td>Mark</td>
<td>Otto</td> <td>Otto</td>
<td>CSS</td> <td>@mdo</td>
</tr> </tr>
<tr> <tr>
<td>2</td> <td>2</td>
<td>Jacob</td> <td>Jacob</td>
<td>Thornton</td> <td>Thornton</td>
<td>Javascript</td> <td>@fat</td>
</tr> </tr>
<tr> <tr>
<td>3</td> <td>3</td>
<td>Stu</td> <td>Larry</td>
<td>Dent</td> <td>the Bird</td>
<td>HTML</td> <td>@twitter</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
@ -582,31 +584,31 @@
<th>#</th> <th>#</th>
<th>{{_i}}First Name{{/i}}</th> <th>{{_i}}First Name{{/i}}</th>
<th>{{_i}}Last Name{{/i}}</th> <th>{{_i}}Last Name{{/i}}</th>
<th>{{_i}}Language{{/i}}</th> <th>{{_i}}Username{{/i}}</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<tr> <tr>
<td>1</td> <td rowspan="2">1</td>
<td colspan="2">Mark Otto</td> <td>Mark</td>
<td>CSS</td> <td>Otto</td>
<td>@mdo</td>
</tr>
<tr>
<td>Mark</td>
<td>Otto</td>
<td>@TwBootstrap</td>
</tr> </tr>
<tr> <tr>
<td>2</td> <td>2</td>
<td>Jacob</td> <td>Jacob</td>
<td>Thornton</td> <td>Thornton</td>
<td rowspan="2">Javascript</td> <td>@fat</td>
</tr>
</tr>
<td>3</td>
<td>Stu</td>
<td>Dent</td>
</tr> </tr>
<tr> <tr>
<td>3</td> <td>3</td>
<td>Brosef</td> <td colspan="2">Larry the Bird</td>
<td>Stalin</td> <td>@twitter</td>
<td>HTML</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
@ -630,7 +632,7 @@
<th>#</th> <th>#</th>
<th>{{_i}}First Name{{/i}}</th> <th>{{_i}}First Name{{/i}}</th>
<th>{{_i}}Last Name{{/i}}</th> <th>{{_i}}Last Name{{/i}}</th>
<th>{{_i}}Language{{/i}}</th> <th>{{_i}}Username{{/i}}</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@ -638,19 +640,18 @@
<td>1</td> <td>1</td>
<td>Mark</td> <td>Mark</td>
<td>Otto</td> <td>Otto</td>
<td>CSS</td> <td>@mdo</td>
</tr> </tr>
<tr> <tr>
<td>2</td> <td>2</td>
<td>Jacob</td> <td>Jacob</td>
<td>Thornton</td> <td>Thornton</td>
<td>Javascript</td> <td>@fat</td>
</tr> </tr>
<tr> <tr>
<td>3</td> <td>3</td>
<td>Stu</td> <td colspan="2">Larry the Bird</td>
<td>Dent</td> <td>@twitter</td>
<td>HTML</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
@ -671,37 +672,36 @@
<div class="span8"> <div class="span8">
<table class="table table-striped table-bordered table-condensed"> <table class="table table-striped table-bordered table-condensed">
<thead> <thead>
<tr>
<th></th>
<th colspan="2">{{_i}}Full name{{/i}}</th>
<th></th>
</tr>
<tr> <tr>
<th>#</th> <th>#</th>
<th class="yellow">{{_i}}First Name{{/i}}</th> <th>{{_i}}First Name{{/i}}</th>
<th class="blue">{{_i}}Last Name{{/i}}</th> <th>{{_i}}Last Name{{/i}}</th>
<th class="green">{{_i}}Language{{/i}}</th> <th>{{_i}}Username{{/i}}</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<tr>
<tr> <tr>
<td>1</td> <td>1</td>
<td>Mark</td> <td>Mark</td>
<td>Otto</td> <td>Otto</td>
<td>CSS</td> <td>@mdo</td>
</tr> </tr>
<tr> <tr>
<td>2</td> <td>2</td>
<td>Jacob</td> <td>Jacob</td>
<td>Thornton</td> <td>Thornton</td>
<td>Javascript</td> <td>@fat</td>
</tr> </tr>
<tr> <tr>
<td>3</td> <td>3</td>
<td>Stu</td> <td colspan="2">Larry the Bird</td>
<td>Dent</td> <td>@twitter</td>
<td>HTML</td>
</tr>
<tr>
<td>4</td>
<td>Brosef</td>
<td>Stalin</td>
<td>HTML</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
@ -786,6 +786,7 @@
<form class="well"> <form class="well">
<label>{{_i}}Label name{{/i}}</label> <label>{{_i}}Label name{{/i}}</label>
<input type="text" class="span3" placeholder="{{_i}}Type something…{{/i}}"> <span class="help-inline">Associated help text!</span> <input type="text" class="span3" placeholder="{{_i}}Type something…{{/i}}"> <span class="help-inline">Associated help text!</span>
<p class="help-block">{{_i}}Example block-level help text here.{{/i}}</p>
<label class="checkbox"> <label class="checkbox">
<input type="checkbox"> {{_i}}Check me out{{/i}} <input type="checkbox"> {{_i}}Check me out{{/i}}
</label> </label>
@ -832,7 +833,7 @@
<input type="text" class="input-small" placeholder="{{_i}}Email{{/i}}"> <input type="text" class="input-small" placeholder="{{_i}}Email{{/i}}">
<input type="password" class="input-small" placeholder="{{_i}}Password{{/i}}"> <input type="password" class="input-small" placeholder="{{_i}}Password{{/i}}">
<label class="checkbox"> <label class="checkbox">
<input type="checkbox"> {{_i}}Remember?{{/i}} <input type="checkbox"> {{_i}}Remember me{{/i}}
</label> </label>
<button type="submit" class="btn">{{_i}}Sign in{{/i}}</button> <button type="submit" class="btn">{{_i}}Sign in{{/i}}</button>
</form> </form>
@ -840,7 +841,10 @@
&lt;form class="well form-inline"&gt; &lt;form class="well form-inline"&gt;
&lt;input type="text" class="input-small" placeholder="{{_i}}Email{{/i}}"&gt; &lt;input type="text" class="input-small" placeholder="{{_i}}Email{{/i}}"&gt;
&lt;input type="password" class="input-small" placeholder="{{_i}}Password{{/i}}"&gt; &lt;input type="password" class="input-small" placeholder="{{_i}}Password{{/i}}"&gt;
&lt;button type="submit" class="btn"&gt;{{_i}}Go{{/i}}&lt;/button&gt; &lt;label class="checkbox"&gt;
&lt;input type="checkbox"&gt; {{_i}}Remember me{{/i}}
&lt;/label&gt;
&lt;button type="submit" class="btn"&gt;{{_i}}Sign in{{/i}}&lt;/button&gt;
&lt;/form&gt; &lt;/form&gt;
</pre> </pre>
</div> </div>
@ -1436,9 +1440,6 @@
</ul> </ul>
</div> </div>
</div> </div>
<div class="alert alert-info">
{{_i}}<strong>Heads up!</strong> Icon classes are echoed via CSS <code>:after</code>. In the docs, we show a light red background color on hover to highlight the icon's size.{{/i}}
</div>
<br> <br>
@ -1451,7 +1452,7 @@
</div> </div>
<div class="span4"> <div class="span4">
<h3>{{_i}}How to use{{/i}}</h3> <h3>{{_i}}How to use{{/i}}</h3>
<p>{{_i}}With v2.0.1, we have opted to use an <code>&lt;i&gt;</code> tag for all our icons, but they have no case class&mdash;only a shared prefix. To use, place the following code just about anywhere:{{/i}}</p> <p>{{_i}}Bootstrap uses an <code>&lt;i&gt;</code> tag for all icons, but they have no case class&mdash;only a shared prefix. To use, place the following code just about anywhere:{{/i}}</p>
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
&lt;i class="icon-search"&gt;&lt;/i&gt; &lt;i class="icon-search"&gt;&lt;/i&gt;
</pre> </pre>
@ -1460,6 +1461,10 @@
&lt;i class="icon-search icon-white"&gt;&lt;/i&gt; &lt;i class="icon-search icon-white"&gt;&lt;/i&gt;
</pre> </pre>
<p>{{_i}}There are 120 classes to choose from for your icons. Just add an <code>&lt;i&gt;</code> tag with the right classes and you're set. You can find the full list in <strong>sprites.less</strong> or right here in this document.{{/i}}</p> <p>{{_i}}There are 120 classes to choose from for your icons. Just add an <code>&lt;i&gt;</code> tag with the right classes and you're set. You can find the full list in <strong>sprites.less</strong> or right here in this document.{{/i}}</p>
<p>
<span class="label label-info">{{_i}}Heads up!{{/i}}</span>
{{_i}}When using beside strings of text, as in buttons or nav links, be sure to leave a space after the <code>&lt;i&gt;</code> tag for proper spacing.{{/i}}
</p>
</div> </div>
<div class="span4"> <div class="span4">
<h3>{{_i}}Use cases{{/i}}</h3> <h3>{{_i}}Use cases{{/i}}</h3>

View File

@ -22,6 +22,7 @@
</ul> </ul>
</li> </li>
<li><a href="#labels">{{_i}}Labels{{/i}}</a></li> <li><a href="#labels">{{_i}}Labels{{/i}}</a></li>
<li><a href="#badges">{{_i}}Badges{{/i}}</a></li>
<li><a href="#typography">{{_i}}Typography{{/i}}</a></li> <li><a href="#typography">{{_i}}Typography{{/i}}</a></li>
<li><a href="#thumbnails">{{_i}}Thumbnails{{/i}}</a></li> <li><a href="#thumbnails">{{_i}}Thumbnails{{/i}}</a></li>
<li><a href="#alerts">{{_i}}Alerts{{/i}}</a></li> <li><a href="#alerts">{{_i}}Alerts{{/i}}</a></li>
@ -99,9 +100,8 @@
<h3>{{_i}}Checkbox and radio flavors{{/i}}</h3> <h3>{{_i}}Checkbox and radio flavors{{/i}}</h3>
<p>{{_i}}Button groups can also function as radios, where only one button may be active, or checkboxes, where any number of buttons may be active. View <a href="./javascript.html#buttons">the Javascript docs</a> for that.{{/i}}</p> <p>{{_i}}Button groups can also function as radios, where only one button may be active, or checkboxes, where any number of buttons may be active. View <a href="./javascript.html#buttons">the Javascript docs</a> for that.{{/i}}</p>
<p><a class="btn js-btn" href="./javascript.html#buttons">{{_i}}Get the javascript &raquo;{{/i}}</a></p> <p><a class="btn js-btn" href="./javascript.html#buttons">{{_i}}Get the javascript &raquo;{{/i}}</a></p>
<hr> <h3>{{_i}}Dropdowns in button groups{{/i}}</h3>
<h4 class="muted">{{_i}}Heads up{{/i}}</h4> <p><span class="label label-info">{{_i}}Heads up!{{/i}}</span> {{_i}}Buttons with dropdowns must be individually wrapped in their own <code>.btn-group</code> within a <code>.btn-toolbar</code> for proper rendering.{{/i}}</p>
<p class="muted">{{_i}}CSS for button groups is in a separate file, button-groups.less.{{/i}}</p>
</div> </div>
</div> </div>
</section> </section>
@ -112,12 +112,13 @@
================================================== --> ================================================== -->
<section id="buttonDropdowns"> <section id="buttonDropdowns">
<div class="page-header"> <div class="page-header">
<h1>{{_i}}Buttons dropdowns{{/i}} <small>{{_i}}Contextual dropdown menus built on button groups{{/i}}</small></h1> <h1>{{_i}}Button dropdown menus{{/i}} <small>{{_i}}Built on button groups to provide contextual menus{{/i}}</small></h1>
</div> </div>
<h2>{{_i}}Button dropdowns{{/i}}</h2>
<div class="row"> <div class="row">
<div class="span4"> <div class="span4">
<h3>{{_i}}Button dropdowns{{/i}}</h3> <h3>{{_i}}Overview and examples{{/i}}</h3>
<p>{{_i}}Use any button to trigger a dropdown menu by placing it within a <code>.btn-group</code> and providing the proper menu markup.{{/i}}</p> <p>{{_i}}Use any button to trigger a dropdown menu by placing it within a <code>.btn-group</code> and providing the proper menu markup.{{/i}}</p>
<div class="btn-toolbar" style="margin-top: 18px;"> <div class="btn-toolbar" style="margin-top: 18px;">
<div class="btn-group"> <div class="btn-group">
@ -172,6 +173,16 @@
<li><a href="#">{{_i}}Separated link{{/i}}</a></li> <li><a href="#">{{_i}}Separated link{{/i}}</a></li>
</ul> </ul>
</div><!-- /btn-group --> </div><!-- /btn-group -->
<div class="btn-group">
<a class="btn btn-inverse dropdown-toggle" data-toggle="dropdown" href="#">{{_i}}Inverse{{/i}} <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="#">{{_i}}Action{{/i}}</a></li>
<li><a href="#">{{_i}}Another action{{/i}}</a></li>
<li><a href="#">{{_i}}Something else here{{/i}}</a></li>
<li class="divider"></li>
<li><a href="#">{{_i}}Separated link{{/i}}</a></li>
</ul>
</div><!-- /btn-group -->
</div><!-- /btn-toolbar --> </div><!-- /btn-toolbar -->
<hr> <hr>
<p><span class="label label-info">{{_i}}Heads up!{{/i}}</span> {{_i}}Button dropdowns require the <a href="./javascript.html#dropdowns">Bootstrap dropdown plugin</a> to function.{{/i}}</p> <p><span class="label label-info">{{_i}}Heads up!{{/i}}</span> {{_i}}Button dropdowns require the <a href="./javascript.html#dropdowns">Bootstrap dropdown plugin</a> to function.{{/i}}</p>
@ -192,10 +203,14 @@
</pre> </pre>
</div> </div>
</div> </div>
<div class="alert alert-info">
<strong>{{_i}}Heads up!{{/i}}</strong> {{_i}}In some cases&mdash;like mobile&mdash;dropdown menus will extend outside the viewport. You need to resolve the alignment manually or with custom javascript.{{/i}}
</div>
<h2>{{_i}}Split button dropdowns{{/i}}</h2>
<div class="row"> <div class="row">
<div class="span4"> <div class="span4">
<h3>{{_i}}Split button dropdowns{{/i}}</h3> <h3>{{_i}}Overview and examples{{/i}}</h3>
<p>{{_i}}Building on the button group styles and markup, we can easily create a split button. Split buttons feature a standard action on the left and a dropdown toggle on the right with contextual links.{{/i}}</p> <p>{{_i}}Building on the button group styles and markup, we can easily create a split button. Split buttons feature a standard action on the left and a dropdown toggle on the right with contextual links.{{/i}}</p>
<div class="btn-toolbar" style="margin-top: 18px;"> <div class="btn-toolbar" style="margin-top: 18px;">
<div class="btn-group"> <div class="btn-group">
@ -255,7 +270,41 @@
<li><a href="#">{{_i}}Separated link{{/i}}</a></li> <li><a href="#">{{_i}}Separated link{{/i}}</a></li>
</ul> </ul>
</div><!-- /btn-group --> </div><!-- /btn-group -->
</div> <div class="btn-group">
<a class="btn btn-inverse" href="#">{{_i}}Inverse{{/i}}</a>
<a class="btn btn-inverse dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="#">{{_i}}Action{{/i}}</a></li>
<li><a href="#">{{_i}}Another action{{/i}}</a></li>
<li><a href="#">{{_i}}Something else here{{/i}}</a></li>
<li class="divider"></li>
<li><a href="#">{{_i}}Separated link{{/i}}</a></li>
</ul>
</div><!-- /btn-group -->
</div><!-- /btn-toolbar -->
<h3>{{_i}}Right aligned menus{{/i}}</h3>
<p>{{_i}}Add <code>.pull-right</code> to the <code>.dropdown-menu</code> of any button dropdown for right aligned menus.{{/i}}</p>
<div class="btn-toolbar">
<div class="btn-group">
<a class="btn" href="#">{{_i}}Right{{/i}}</a>
<a class="btn dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
<ul class="dropdown-menu pull-right">
<li><a href="#">{{_i}}Action{{/i}}</a></li>
<li><a href="#">{{_i}}Another action{{/i}}</a></li>
<li><a href="#">{{_i}}Something else here{{/i}}</a></li>
<li class="divider"></li>
<li><a href="#">{{_i}}Separated link{{/i}}</a></li>
</ul>
</div><!-- /btn-group -->
</div><!-- /btn-toolbar -->
<pre class="prettyprint linenums">
&lt;div class="btn-group"&gt;
...
&lt;ul class="dropdown-menu pull-right"&gt;
&lt;!-- {{_i}}dropdown menu links{{/i}} --&gt;
&lt;/ul&gt;
&lt;/div&gt;
</pre>
</div> </div>
<div class="span8"> <div class="span8">
<h3>{{_i}}Example markup{{/i}}</h3> <h3>{{_i}}Example markup{{/i}}</h3>
@ -271,6 +320,44 @@
&lt;/ul&gt; &lt;/ul&gt;
&lt;/div&gt; &lt;/div&gt;
</pre> </pre>
<h3>{{_i}}Dropup menus{{/i}}</h3>
<p>{{_i}}Dropdown menus can also be toggled from the bottom up by adding a single class to the immediate parent of <code>.dropdown-menu</code>. It will flip the direction of the <code>.caret</code> and reposition the menu itself to move from the bottom up instead of top down.{{/i}}</p>
<div class="btn-toolbar" style="margin-top: 9px;">
<div class="btn-group dropup">
<a class="btn" href="#">{{_i}}Dropup{{/i}}</a>
<a class="btn dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="#">{{_i}}Action{{/i}}</a></li>
<li><a href="#">{{_i}}Another action{{/i}}</a></li>
<li><a href="#">{{_i}}Something else here{{/i}}</a></li>
<li class="divider"></li>
<li><a href="#">{{_i}}Separated link{{/i}}</a></li>
</ul>
</div><!-- /btn-group -->
<div class="btn-group dropup">
<a class="btn primary" href="#">{{_i}}Right dropup{{/i}}</a>
<a class="btn primary dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a>
<ul class="dropdown-menu pull-right">
<li><a href="#">{{_i}}Action{{/i}}</a></li>
<li><a href="#">{{_i}}Another action{{/i}}</a></li>
<li><a href="#">{{_i}}Something else here{{/i}}</a></li>
<li class="divider"></li>
<li><a href="#">{{_i}}Separated link{{/i}}</a></li>
</ul>
</div><!-- /btn-group -->
</div>
<pre class="prettyprint linenums">
&lt;div class="btn-group dropup"&gt;
&lt;a class="btn" href="#"&gt;{{_i}}Dropup{{/i}}&lt;/a&gt;
&lt;a class="btn dropdown-toggle" data-toggle="dropdown" href="#"&gt;
&lt;span class="caret"&gt;&lt;/span&gt;
&lt;/a&gt;
&lt;ul class="dropdown-menu"&gt;
&lt;!-- {{_i}}dropdown menu links{{/i}} --&gt;
&lt;/ul&gt;
&lt;/div&gt;
</pre>
</div> </div>
</div> </div>
</section> </section>
@ -377,7 +464,7 @@
<h3>{{_i}}Tabs with dropdowns{{/i}}</h3> <h3>{{_i}}Tabs with dropdowns{{/i}}</h3>
<ul class="nav nav-tabs"> <ul class="nav nav-tabs">
<li class="active"><a href="#">{{_i}}Home{{/i}}</a></li> <li class="active"><a href="#">{{_i}}Home{{/i}}</a></li>
<li><a href="#">{{_i}}Profile{{/i}}</a></li> <li><a href="#">{{_i}}Help{{/i}}</a></li>
<li class="dropdown"> <li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">{{_i}}Dropdown{{/i}} <b class="caret"></b></a> <a class="dropdown-toggle" data-toggle="dropdown" href="#">{{_i}}Dropdown{{/i}} <b class="caret"></b></a>
<ul class="dropdown-menu"> <ul class="dropdown-menu">
@ -388,6 +475,16 @@
<li><a href="#">{{_i}}Separated link{{/i}}</a></li> <li><a href="#">{{_i}}Separated link{{/i}}</a></li>
</ul> </ul>
</li> </li>
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">{{_i}}Dropup{{/i}} <b class="caret bottom-up"></b></a>
<ul class="dropdown-menu bottom-up pull-right">
<li><a href="#">{{_i}}Action{{/i}}</a></li>
<li><a href="#">{{_i}}Another action{{/i}}</a></li>
<li><a href="#">{{_i}}Something else here{{/i}}</a></li>
<li class="divider"></li>
<li><a href="#">{{_i}}Separated link{{/i}}</a></li>
</ul>
</li>
</ul> </ul>
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
&lt;ul class="nav nav-tabs"&gt; &lt;ul class="nav nav-tabs"&gt;
@ -409,7 +506,7 @@
<h3>{{_i}}Pills with dropdowns{{/i}}</h3> <h3>{{_i}}Pills with dropdowns{{/i}}</h3>
<ul class="nav nav-pills"> <ul class="nav nav-pills">
<li class="active"><a href="#">{{_i}}Home{{/i}}</a></li> <li class="active"><a href="#">{{_i}}Home{{/i}}</a></li>
<li><a href="#">{{_i}}Profile{{/i}}</a></li> <li><a href="#">{{_i}}Help{{/i}}</a></li>
<li class="dropdown"> <li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">{{_i}}Dropdown{{/i}} <b class="caret"></b></a> <a class="dropdown-toggle" data-toggle="dropdown" href="#">{{_i}}Dropdown{{/i}} <b class="caret"></b></a>
<ul class="dropdown-menu"> <ul class="dropdown-menu">
@ -420,6 +517,16 @@
<li><a href="#">{{_i}}Separated link{{/i}}</a></li> <li><a href="#">{{_i}}Separated link{{/i}}</a></li>
</ul> </ul>
</li> </li>
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">{{_i}}Dropup{{/i}} <b class="caret bottom-up"></b></a>
<ul class="dropdown-menu bottom-up pull-right">
<li><a href="#">{{_i}}Action{{/i}}</a></li>
<li><a href="#">{{_i}}Another action{{/i}}</a></li>
<li><a href="#">{{_i}}Something else here{{/i}}</a></li>
<li class="divider"></li>
<li><a href="#">{{_i}}Separated link{{/i}}</a></li>
</ul>
</li>
</ul> </ul>
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
&lt;ul class="nav nav-pills"&gt; &lt;ul class="nav nav-pills"&gt;
@ -445,8 +552,18 @@
<h3>{{_i}}Application-style navigation{{/i}}</h3> <h3>{{_i}}Application-style navigation{{/i}}</h3>
<p>{{_i}}Nav lists provide 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}}</p> <p>{{_i}}Nav lists provide 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}}</p>
<p>{{_i}}Structurally, they're built on the same core nav styles as tabs and pills, so usage and customization are straightforward.{{/i}}</p> <p>{{_i}}Structurally, they're built on the same core nav styles as tabs and pills, so usage and customization are straightforward.{{/i}}</p>
<hr>
<h4>{{_i}}With icons{{/i}}</h4> <h4>{{_i}}With icons{{/i}}</h4>
<p>{{_i}}Nav lists are also easy to equip with icons. Add the proper <code>&lt;i&gt;</code> tag with class and you're set.{{/i}}</p> <p>{{_i}}Nav lists are also easy to equip with icons. Add the proper <code>&lt;i&gt;</code> tag with class and you're set.{{/i}}</p>
<h4>{{_i}}Horizontal dividers{{/i}}</h4>
<p>{{_i}}Add a horizontal divider by creating an empty list item with the class <code>.divider</code>, like so:{{/i}}</p>
<pre class="prettyprint linenums">
&lt;ul class="nav nav-list"&gt;
...
&lt;li class="divider"&gt;&lt;/li&gt;
...
&lt;/ul&gt;
</pre>
</div> </div>
<div class="span4"> <div class="span4">
<h3>{{_i}}Example nav list{{/i}}</h3> <h3>{{_i}}Example nav list{{/i}}</h3>
@ -460,6 +577,7 @@
<li class="nav-header">{{_i}}Another list header{{/i}}</li> <li class="nav-header">{{_i}}Another list header{{/i}}</li>
<li><a href="#">{{_i}}Profile{{/i}}</a></li> <li><a href="#">{{_i}}Profile{{/i}}</a></li>
<li><a href="#">{{_i}}Settings{{/i}}</a></li> <li><a href="#">{{_i}}Settings{{/i}}</a></li>
<li class="divider"></li>
<li><a href="#">{{_i}}Help{{/i}}</a></li> <li><a href="#">{{_i}}Help{{/i}}</a></li>
</ul> </ul>
</div> <!-- /well --> </div> <!-- /well -->
@ -490,6 +608,7 @@
<li class="nav-header">{{_i}}Another list header{{/i}}</li> <li class="nav-header">{{_i}}Another list header{{/i}}</li>
<li><a href="#"><i class="icon-user"></i> {{_i}}Profile{{/i}}</a></li> <li><a href="#"><i class="icon-user"></i> {{_i}}Profile{{/i}}</a></li>
<li><a href="#"><i class="icon-cog"></i> {{_i}}Settings{{/i}}</a></li> <li><a href="#"><i class="icon-cog"></i> {{_i}}Settings{{/i}}</a></li>
<li class="divider"></li>
<li><a href="#"><i class="icon-flag"></i> {{_i}}Help{{/i}}</a></li> <li><a href="#"><i class="icon-flag"></i> {{_i}}Help{{/i}}</a></li>
</ul> </ul>
</div> <!-- /well --> </div> <!-- /well -->
@ -678,7 +797,7 @@
<p>{{_i}}An example of a static (not fixed to the top) navbar with project name, navigation, and search form.{{/i}}</p> <p>{{_i}}An example of a static (not fixed to the top) navbar with project name, navigation, and search form.{{/i}}</p>
<div class="navbar"> <div class="navbar">
<div class="navbar-inner"> <div class="navbar-inner">
<div class="container" style="width: auto;"> <div class="container">
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse"> <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span> <span class="icon-bar"></span>
<span class="icon-bar"></span> <span class="icon-bar"></span>
@ -740,13 +859,24 @@
&lt;/div&gt; &lt;/div&gt;
</pre> </pre>
<h3>{{_i}}Fixed navbar{{/i}}</h3> <h3>{{_i}}Fixed navbar{{/i}}</h3>
<p>{{_i}}To make the navbar fixed to the top of the viewport, add <code>.navbar-fixed-top</code> to the outermost div, <code>.navbar</code>.{{/i}}</p> <p>{{_i}}Fix the navbar to the top or bottom of the viewport with an additional class on the outermost div, <code>.navbar</code>.{{/i}}</p>
<div class="row">
<div class="span4">
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
&lt;div class="navbar navbar-fixed-top"&gt; &lt;div class="navbar navbar-fixed-top"&gt;
... ...
&lt;/div&gt; &lt;/div&gt;
</pre> </pre>
<p>{{_i}}In your CSS, you will also need to account for the overlap it causes by adding 40px or more of padding to your <code>&lt;body&gt;</code>. Be sure to add this after the core Bootstrap CSS and before the optional responsive CSS.{{/i}}</p> </div><!--/span-->
<div class="span4">
<pre class="prettyprint linenums">
&lt;div class="navbar navbar-fixed-bottom"&gt;
...
&lt;/div&gt;
</pre>
</div><!--/span-->
</div><!--/row-->
<p>{{_i}}When you affix the navbar, remember to account for the hidden area underneath. Add 40px or more of apdding to the <code>&lt;body&gt;</code>. Be sure to add this after the core Bootstrap CSS and before the optional responsive CSS.{{/i}}</p>
<h3>{{_i}}Brand name{{/i}}</h3> <h3>{{_i}}Brand name{{/i}}</h3>
<p>{{_i}}A simple link to show your brand or project name only requires an anchor tag.{{/i}}</p> <p>{{_i}}A simple link to show your brand or project name only requires an anchor tag.{{/i}}</p>
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
@ -754,8 +884,14 @@
{{_i}}Project name{{/i}} {{_i}}Project name{{/i}}
&lt;/a&gt; &lt;/a&gt;
</pre> </pre>
<h3>{{_i}}Search form{{/i}}</h3> <h3>{{_i}}Forms in navbar{{/i}}</h3>
<p>{{_i}}Search forms receive custom styles in the navbar with the <code>.navbar-search</code> class. Include <code>.pull-left</code> or <code>.pull-right</code> on the <code>form</code> to align it.{{/i}}</p> <p>{{_i}}To properly style and position a form within the navbar, add the appropriate classes as shown below. For a default form, include <code>.navbar-form</code> and either <code>.pull-left</code> or <code>.pull-right</code> to properly align it.{{/i}}</p>
<pre class="prettyprint linenums">
&lt;form class="navbar-form pull-left"&gt;
&lt;input type="text" class="span2"&gt;
&lt;/form&gt;
</pre>
<p>{{_i}}For a more customized search form, add the <code>.navbar-search</code> class to receive specialized styles in the navbar.{{/i}}</p>
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
&lt;form class="navbar-search pull-left"&gt; &lt;form class="navbar-search pull-left"&gt;
&lt;input type="text" class="search-query" placeholder="{{_i}}Search{{/i}}"&gt; &lt;input type="text" class="search-query" placeholder="{{_i}}Search{{/i}}"&gt;
@ -814,8 +950,8 @@
</pre> </pre>
<h3>{{_i}}Component alignment{{/i}}</h3> <h3>{{_i}}Component alignment{{/i}}</h3>
<p>{{_i}}To align a nav, search form, or text, use the <code>.pull-left</code> or <code>.pull-right</code> utility classes. Both classes will add a CSS float in the specified direction.{{/i}}</p> <p>{{_i}}To align a nav, search form, or text, use the <code>.pull-left</code> or <code>.pull-right</code> utility classes. Both classes will add a CSS float in the specified direction.{{/i}}</p>
<h3>{{_i}}Adding dropdowns{{/i}}</h3> <h3>{{_i}}Adding dropdown menus{{/i}}</h3>
<p>{{_i}}Adding dropdowns to the nav is super simple, but does require the use of <a href="./javascript.html#dropdowns">our javascript plugin</a>.{{/i}}</p> <p>{{_i}}Adding dropdowns and dropups to the nav is super simple, but does require the use of <a href="./javascript.html/#dropdown">our javascript plugin</a>.{{/i}}</p>
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
&lt;ul class="nav"&gt; &lt;ul class="nav"&gt;
&lt;li class="dropdown"&gt; &lt;li class="dropdown"&gt;
@ -832,6 +968,9 @@
&lt;/ul&gt; &lt;/ul&gt;
</pre> </pre>
<p><a class="btn" href="./javascript.html#dropdowns">{{_i}}Get the javascript &rarr;{{/i}}</a></p> <p><a class="btn" href="./javascript.html#dropdowns">{{_i}}Get the javascript &rarr;{{/i}}</a></p>
<hr>
<h3>{{_i}}Text in the navbar{{/i}}</h3>
<p>{{_i}}Wrap strings of text in a <code>&lt;p&gt;</code> tag for proper leading and color.{{/i}}</p>
</div><!-- /.span --> </div><!-- /.span -->
</div><!-- /.row --> </div><!-- /.row -->
@ -877,9 +1016,7 @@
&lt;li&gt; &lt;li&gt;
&lt;a href="#"&gt;{{_i}}Library{{/i}}&lt;/a&gt; &lt;span class="divider"&gt;/&lt;/span&gt; &lt;a href="#"&gt;{{_i}}Library{{/i}}&lt;/a&gt; &lt;span class="divider"&gt;/&lt;/span&gt;
&lt;/li&gt; &lt;/li&gt;
&lt;li class="active"&gt; &lt;li class="active"&gt;{{_i}}Data{{/i}}&lt;/li&gt;
&lt;a href="#"&gt;{{_i}}Data{{/i}}&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt; &lt;/ul&gt;
</pre> </pre>
</div> </div>
@ -1068,12 +1205,116 @@
<code>&lt;span class="label label-info"&gt;{{_i}}Info{{/i}}&lt;/span&gt;</code> <code>&lt;span class="label label-info"&gt;{{_i}}Info{{/i}}&lt;/span&gt;</code>
</td> </td>
</tr> </tr>
<tr>
<td>
<span class="label label-inverse">{{_i}}Inverse{{/i}}</span>
</td>
<td>
<code>&lt;span class="label label-inverse"&gt;{{_i}}Inverse{{/i}}&lt;/span&gt;</code>
</td>
</tr>
</tbody> </tbody>
</table> </table>
</section> </section>
<!-- Badges
================================================== -->
<section id="badges">
<div class="page-header">
<h1>{{_i}}Badges{{/i}} <small>{{_i}}Indicators and unread counts{{/i}}</small></h1>
</div>
<div class="row">
<div class="span4">
<h3>About</h3>
<p>{{_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}}</p>
</div><!-- /.span -->
<div class="span8">
<h3>Available classes</h3>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>{{_i}}Name{{/i}}</th>
<th>{{_i}}Example{{/i}}</th>
<th>{{_i}}Markup{{/i}}</th>
</tr>
</thead>
<tbody>
<tr>
<td>
{{_i}}Default{{/i}}
</td>
<td>
<span class="badge">1</span>
</td>
<td>
<code>&lt;span class="badge"&gt;1&lt;/span&gt;</code>
</td>
</tr>
<tr>
<td>
{{_i}}Success{{/i}}
</td>
<td>
<span class="badge badge-success">2</span>
</td>
<td>
<code>&lt;span class="badge badge-success"&gt;2&lt;/span&gt;</code>
</td>
</tr>
<tr>
<td>
{{_i}}Warning{{/i}}
</td>
<td>
<span class="badge badge-warning">4</span>
</td>
<td>
<code>&lt;span class="badge badge-warning"&gt;4&lt;/span&gt;</code>
</td>
</tr>
<tr>
<td>
{{_i}}Error{{/i}}
</td>
<td>
<span class="badge badge-error">6</span>
</td>
<td>
<code>&lt;span class="badge badge-error"&gt;1&lt;/span&gt;</code>
</td>
</tr>
<tr>
<td>
{{_i}}Info{{/i}}
</td>
<td>
<span class="badge badge-info">8</span>
</td>
<td>
<code>&lt;span class="badge badge-info"&gt;8&lt;/span&gt;</code>
</td>
</tr>
<tr>
<td>
{{_i}}Inverse{{/i}}
</td>
<td>
<span class="badge badge-inverse">10</span>
</td>
<td>
<code>&lt;span class="badge badge-inverse"&gt;10&lt;/span&gt;</code>
</td>
</tr>
</tbody>
</table>
</div><!-- /.span -->
</div><!-- /.row -->
</section>
<!-- Typographic components <!-- Typographic components
================================================== --> ================================================== -->
<section id="typography"> <section id="typography">
@ -1112,8 +1353,11 @@
<p>{{_i}}A simple shell for an <code>h1</code> to appropratiely space out and segment sections of content on a page. It can utilize the <code>h1</code>'s default <code>small</code>, element as well most other components (with additional styles).{{/i}}</p> <p>{{_i}}A simple shell for an <code>h1</code> to appropratiely space out and segment sections of content on a page. It can utilize the <code>h1</code>'s default <code>small</code>, element as well most other components (with additional styles).{{/i}}</p>
</div> </div>
<div class="span8"> <div class="span8">
<div class="page-header">
<h1>{{_i}}Example page header{{/i}} <small>{{_i}}Subtext for header{{/i}}</small></h1>
</div>
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
&lt;div class="page-haeder"&gt; &lt;div class="page-header"&gt;
&lt;h1&gt;{{_i}}Example page header{{/i}}&lt;/h1&gt; &lt;h1&gt;{{_i}}Example page header{{/i}}&lt;/h1&gt;
&lt;/div&gt; &lt;/div&gt;
</pre> </pre>
@ -1448,7 +1692,7 @@
================================================== --> ================================================== -->
<section id="misc"> <section id="misc">
<div class="page-header"> <div class="page-header">
<h1>{{_i}}Miscellaneous{{/i}} <small>{{_i}}Wells, badges, and close icon{{/i}}</small></h1> <h1>{{_i}}Miscellaneous{{/i}} <small>{{_i}}Lightweight utility components{{/i}}</small></h1>
</div> </div>
<div class="row"> <div class="row">
<div class="span4"> <div class="span4">
@ -1462,11 +1706,6 @@
... ...
&lt;/div&gt; &lt;/div&gt;
</pre> </pre>
</div><!--/span-->
<div class="span4" style="display: none;">
<h2>{{_i}}Badges{{/i}}</h2>
<p>{{_i}}Use a badge on an element for an unread count or as a simple indicator.{{/i}}</p>
<pre class="prettyprint linenums">&lt;span class="badge"&gt;3&lt;/div&gt;</pre>
</div><!--/span--> </div><!--/span-->
<div class="span4"> <div class="span4">
<h2>{{_i}}Close icon{{/i}}</h2> <h2>{{_i}}Close icon{{/i}}</h2>

View File

@ -32,6 +32,7 @@
<label class="checkbox"><input checked="checked" type="checkbox" value="type.less"> {{_i}}Headings, body, etc{{/i}}</label> <label class="checkbox"><input checked="checked" type="checkbox" value="type.less"> {{_i}}Headings, body, etc{{/i}}</label>
<label class="checkbox"><input checked="checked" type="checkbox" value="code.less"> {{_i}}Code and pre{{/i}}</label> <label class="checkbox"><input checked="checked" type="checkbox" value="code.less"> {{_i}}Code and pre{{/i}}</label>
<label class="checkbox"><input checked="checked" type="checkbox" value="labels.less"> {{_i}}Labels{{/i}}</label> <label class="checkbox"><input checked="checked" type="checkbox" value="labels.less"> {{_i}}Labels{{/i}}</label>
<label class="checkbox"><input checked="checked" type="checkbox" value="badges.less"> {{_i}}Badges{{/i}}</label>
<label class="checkbox"><input checked="checked" type="checkbox" value="tables.less"> {{_i}}Tables{{/i}}</label> <label class="checkbox"><input checked="checked" type="checkbox" value="tables.less"> {{_i}}Tables{{/i}}</label>
<label class="checkbox"><input checked="checked" type="checkbox" value="forms.less"> {{_i}}Forms{{/i}}</label> <label class="checkbox"><input checked="checked" type="checkbox" value="forms.less"> {{_i}}Forms{{/i}}</label>
<label class="checkbox"><input checked="checked" type="checkbox" value="buttons.less"> {{_i}}Buttons{{/i}}</label> <label class="checkbox"><input checked="checked" type="checkbox" value="buttons.less"> {{_i}}Buttons{{/i}}</label>
@ -134,7 +135,7 @@
</div><!-- /span --> </div><!-- /span -->
<div class="span4"> <div class="span4">
<h4 class="muted">{{_i}}Heads up!{{/i}}</h4> <h4 class="muted">{{_i}}Heads up!{{/i}}</h4>
<p class="muted">{{_i}}All plugins require the latest version of <a href="http://jquery.com/" target="_blank">jQuery</a> to be included.{{/i}}</p> <p class="muted">{{_i}}All checked plugins will be compiled into a single file, bootstrap.js. All plugins require the latest version of <a href="http://jquery.com/" target="_blank">jQuery</a> to be included.{{/i}}</p>
</div><!-- /span --> </div><!-- /span -->
</div><!-- /row --> </div><!-- /row -->
</section> </section>

View File

@ -6,7 +6,7 @@
<p>{{_i}}Simple and flexible HTML, CSS, and Javascript for popular user interface components and interactions.{{/i}}</p> <p>{{_i}}Simple and flexible HTML, CSS, and Javascript for popular user interface components and interactions.{{/i}}</p>
<p class="download-info"> <p class="download-info">
<a href="https://github.com/twitter/bootstrap/" class="btn btn-primary btn-large">{{_i}}View project on GitHub{{/i}}</a> <a href="https://github.com/twitter/bootstrap/" class="btn btn-primary btn-large">{{_i}}View project on GitHub{{/i}}</a>
<a href="assets/bootstrap.zip" class="btn btn-large">{{_i}}Download Bootstrap{{/i}}</a> <a href="assets/bootstrap.zip" class="btn btn-large">{{_i}}Download Bootstrap <small>(v2.0.2)</small>{{/i}}</a>
</p> </p>
</div> </div>

View File

@ -138,8 +138,8 @@
<p>{{_i}}One fine body…{{/i}}</p> <p>{{_i}}One fine body…{{/i}}</p>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<a href="#" class="btn btn-primary">{{_i}}Save changes{{/i}}</a>
<a href="#" class="btn">{{_i}}Close{{/i}}</a> <a href="#" class="btn">{{_i}}Close{{/i}}</a>
<a href="#" class="btn btn-primary">{{_i}}Save changes{{/i}}</a>
</div> </div>
</div> </div>
</div> <!-- /well --> </div> <!-- /well -->
@ -161,10 +161,21 @@
<h4>{{_i}}Tooltips in a modal{{/i}}</h4> <h4>{{_i}}Tooltips in a modal{{/i}}</h4>
<p>{{_i}}<a href="#" class="tooltip-test" title="Tooltip">This link</a> and <a href="#" class="tooltip-test" title="Tooltip">that link</a> should have tooltips on hover.{{/i}}</p> <p>{{_i}}<a href="#" class="tooltip-test" title="Tooltip">This link</a> and <a href="#" class="tooltip-test" title="Tooltip">that link</a> should have tooltips on hover.{{/i}}</p>
<hr>
<h4>{{_i}}Overflowing text to show optional scrollbar{{/i}}</h4>
<p>{{_i}}We set a fixed <code>max-height</code> on the <code>.modal-body</code>. Watch it overflow with all this extra lorem ipsum text we've included.{{/i}}</p>
<p>Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
<p>Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.</p>
<p>Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.</p>
<p>Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
<p>Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.</p>
<p>Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.</p>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<a href="#" class="btn btn-primary">{{_i}}Save changes{{/i}}</a>
<a href="#" class="btn" data-dismiss="modal" >{{_i}}Close{{/i}}</a> <a href="#" class="btn" data-dismiss="modal" >{{_i}}Close{{/i}}</a>
<a href="#" class="btn btn-primary">{{_i}}Save changes{{/i}}</a>
</div> </div>
</div> </div>
<a data-toggle="modal" href="#myModal" class="btn btn-primary btn-large">{{_i}}Launch demo modal{{/i}}</a> <a data-toggle="modal" href="#myModal" class="btn btn-primary btn-large">{{_i}}Launch demo modal{{/i}}</a>
@ -189,7 +200,7 @@
<td>{{_i}}backdrop{{/i}}</td> <td>{{_i}}backdrop{{/i}}</td>
<td>{{_i}}boolean{{/i}}</td> <td>{{_i}}boolean{{/i}}</td>
<td>{{_i}}true{{/i}}</td> <td>{{_i}}true{{/i}}</td>
<td>{{_i}}Includes a modal-backdrop element{{/i}}</td> <td>{{_i}}Includes a modal-backdrop element. Alternatively, specify <code>static</code> for a backdrop which doesn't close the modal on click.{{/i}}</td>
</tr> </tr>
<tr> <tr>
<td>{{_i}}keyboard{{/i}}</td> <td>{{_i}}keyboard{{/i}}</td>
@ -222,8 +233,8 @@
&lt;p&gt;{{_i}}One fine body…{{/i}}&lt;/p&gt; &lt;p&gt;{{_i}}One fine body…{{/i}}&lt;/p&gt;
&lt;/div&gt; &lt;/div&gt;
&lt;div class="modal-footer"&gt; &lt;div class="modal-footer"&gt;
&lt;a href="#" class="btn btn-primary"&gt;{{_i}}Save changes{{/i}}&lt;/a&gt;
&lt;a href="#" class="btn"&gt;{{_i}}Close{{/i}}&lt;/a&gt; &lt;a href="#" class="btn"&gt;{{_i}}Close{{/i}}&lt;/a&gt;
&lt;a href="#" class="btn btn-primary"&gt;{{_i}}Save changes{{/i}}&lt;/a&gt;
&lt;/div&gt; &lt;/div&gt;
&lt;/div&gt; &lt;/div&gt;
</pre> </pre>
@ -388,7 +399,7 @@ $('#myModal').on('hidden', function () {
</div> </div>
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
&lt;ul class="nav pills"&gt; &lt;ul class="nav nav-pills"&gt;
&lt;li class="active"&gt;&lt;a href="#"&gt;Regular link&lt;/a&gt;&lt;/li&gt; &lt;li class="active"&gt;&lt;a href="#"&gt;Regular link&lt;/a&gt;&lt;/li&gt;
&lt;li class="dropdown" id="menu1"&gt; &lt;li class="dropdown" id="menu1"&gt;
&lt;a class="dropdown-toggle" data-toggle="dropdown" href="#menu1"&gt; &lt;a class="dropdown-toggle" data-toggle="dropdown" href="#menu1"&gt;
@ -1223,10 +1234,16 @@ $('#myCollapsible').on('hidden', function () {
<td>5000</td> <td>5000</td>
<td>{{_i}}The amount of time to delay between automatically cycling an item.{{/i}}</td> <td>{{_i}}The amount of time to delay between automatically cycling an item.{{/i}}</td>
</tr> </tr>
<tr>
<td>{{_i}}pause{{/i}}</td>
<td>{{_i}}string{{/i}}</td>
<td>"hover"</td>
<td>{{_i}}Pauses the cycling of the carousel on mouseenter and resumes the cycling of the carousel on mouseleave.{{/i}}</td>
</tr>
</tbody> </tbody>
</table> </table>
<h3>{{_i}}Markup{{/i}}</h3> <h3>{{_i}}Markup{{/i}}</h3>
<p>{{_i}}Data attributes are integral to the carousel plugin. Check out the example code below for the various markup types.{{/i}}</p> <p>{{_i}}Data attributes are used for the previous and next conrols. Check out the example markup below.{{/i}}</p>
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
&lt;div id="myCarousel" class="carousel"&gt; &lt;div id="myCarousel" class="carousel"&gt;
&lt;!-- {{_i}}Carousel items{{/i}} --&gt; &lt;!-- {{_i}}Carousel items{{/i}} --&gt;
@ -1244,7 +1261,7 @@ $('#myCollapsible').on('hidden', function () {
<h4>.carousel({{_i}}options{{/i}})</h4> <h4>.carousel({{_i}}options{{/i}})</h4>
<p>{{_i}}Initializes the carousel with an optional options <code>object</code> and starts cycling through items.{{/i}}</p> <p>{{_i}}Initializes the carousel with an optional options <code>object</code> and starts cycling through items.{{/i}}</p>
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
$('.myCarousel').carousel({ $('.carousel').carousel({
interval: 2000 interval: 2000
}) })
</pre> </pre>
@ -1259,7 +1276,7 @@ $('.myCarousel').carousel({
<h4>.carousel('next')</h4> <h4>.carousel('next')</h4>
<p>{{_i}}Cycles to the next item.{{/i}}</p> <p>{{_i}}Cycles to the next item.{{/i}}</p>
<h3>{{_i}}Events{{/i}}</h3> <h3>{{_i}}Events{{/i}}</h3>
<p>{{_i}}Bootstrap's modal class exposes a few events for hooking into modal functionality.{{/i}}</p> <p>{{_i}}Bootstrap's carousel class exposes two events for hooking into carousel functionality.{{/i}}</p>
<table class="table table-bordered table-striped"> <table class="table table-bordered table-striped">
<thead> <thead>
<tr> <tr>

View File

@ -5,8 +5,9 @@
<p class="lead">{{_i}}Bootstrap is built on a responsive 12-column grid. We've also included fixed- and fluid-width layouts based on that system.{{/i}}</p> <p class="lead">{{_i}}Bootstrap is built on a responsive 12-column grid. We've also included fixed- and fluid-width layouts based on that system.{{/i}}</p>
<div class="subnav"> <div class="subnav">
<ul class="nav nav-pills"> <ul class="nav nav-pills">
<li><a href="#global">{{_i}}Global styles{{/i}}</a></li>
<li><a href="#gridSystem">{{_i}}Grid system{{/i}}</a></li> <li><a href="#gridSystem">{{_i}}Grid system{{/i}}</a></li>
<li><a href="#fluidGridSystem">{{_i}}Fluid gird system{{/i}}</a></li> <li><a href="#fluidGridSystem">{{_i}}Fluid grid system{{/i}}</a></li>
<li><a href="#gridCustomization">{{_i}}Customizing{{/i}}</a></li> <li><a href="#gridCustomization">{{_i}}Customizing{{/i}}</a></li>
<li><a href="#layouts">{{_i}}Layouts{{/i}}</a></li> <li><a href="#layouts">{{_i}}Layouts{{/i}}</a></li>
<li><a href="#responsive">{{_i}}Responsive design{{/i}}</a></li> <li><a href="#responsive">{{_i}}Responsive design{{/i}}</a></li>
@ -16,6 +17,45 @@
<!-- Global Bootstrap settings
================================================== -->
<section id="global">
<div class="page-header">
<h1>{{_i}}Global styles <small>for CSS reset, typography, and links</small>{{/i}}</h1>
</div>
<div class="row">
<div class="span4">
<h2>{{_i}}Requires HTML5 doctype{{/i}}</h2>
<p>{{_i}}Bootstrap makes use of HTML elements and CSS properties that require the use of the HTML5 doctype. Be sure to include it at the beginning of every Bootstrapped page in your project.{{/i}}</p>
<pre class="prettyprint linenums">
&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
...
&lt;/html&gt;
</pre>
</div><!-- /.span -->
<div class="span4">
<h2>{{_i}}Typography and links{{/i}}</h2>
<p>{{_i}}Within the <strong>scaffolding.less</strong> file, we set basic global display, typography, and link styles. Specifically, we:{{/i}}</p>
<ul>
<li>{{_i}}Remove margin on the body{{/i}}</li>
<li>{{_i}}Set <code>background-color: white;</code> on the <code>body</code>{{/i}}</li>
<li>{{_i}}Use the <code>@baseFontFamily</code>, <code>@baseFontSize</code>, and <code>@baseLineHeight</code> attributes as our typographyic base{{/i}}</li>
<li>{{_i}}Set the global link color via <code>@linkColor</code> and apply link underlines only on <code>:hover</code>{{/i}}</li>
</ul>
</div><!-- /.span -->
<div class="span4">
<h2>{{_i}}Reset via Normalize{{/i}}</h2>
<p>{{_i}}As of Bootstrap 2, the traditional CSS reset has evolved to make use of elements from <a href="http://necolas.github.com/normalize.css/" target="_blank">Normalize.css</a>, a project by <a href="http://twitter.com/necolas" target="_blank">Nicolas Gallagher</a> that also powers the <a href="http://html5boilerplate.com" target="_blank">HTML5 Boilerplate</a>.{{/i}}</p>
<p>{{_i}}The new reset can still be found in <strong>reset.less</strong>, but with many elements removed for brevity and accuracy.{{/i}}</p>
</div><!-- /.span -->
</div><!-- /.row -->
</section>
<!-- Grid system <!-- Grid system
================================================== --> ================================================== -->
<section id="gridSystem"> <section id="gridSystem">
@ -57,7 +97,7 @@
<div class="span4"> <div class="span4">
<p>{{_i}}The default grid system provided as part of Bootstrap is a <strong>940px-wide, 12-column grid</strong>.{{/i}}</p> <p>{{_i}}The default grid system provided as part of Bootstrap is a <strong>940px-wide, 12-column grid</strong>.{{/i}}</p>
<p>{{_i}}It also has four responsive variations for various devices and resolutions: phone, tablet portrait, table landscape and small desktops, and large widescreen desktops.{{/i}}</p> <p>{{_i}}It also has four responsive variations for various devices and resolutions: phone, tablet portrait, table landscape and small desktops, and large widescreen desktops.{{/i}}</p>
</div> </div><!-- /.span -->
<div class="span4"> <div class="span4">
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
&lt;div class="row"&gt; &lt;div class="row"&gt;
@ -65,11 +105,11 @@
&lt;div class="span8"&gt;...&lt;/div&gt; &lt;div class="span8"&gt;...&lt;/div&gt;
&lt;/div&gt; &lt;/div&gt;
</pre> </pre>
</div> </div><!-- /.span -->
<div class="span4"> <div class="span4">
<p>{{_i}}As shown here, a basic layout can be created with two "columns," each spanning a number of the 12 foundational columns we defined as part of our grid system.{{/i}}</p> <p>{{_i}}As shown here, a basic layout can be created with two "columns," each spanning a number of the 12 foundational columns we defined as part of our grid system.{{/i}}</p>
</div> </div><!-- /.span -->
</div><!-- /row --> </div><!-- /.row -->
<br> <br>
@ -113,7 +153,7 @@
</div> </div>
</div> </div>
</div> </div>
</div><!-- /span6 --> </div><!-- /.span -->
<div class="span6"> <div class="span6">
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
&lt;div class="row"&gt; &lt;div class="row"&gt;
@ -126,8 +166,8 @@
&lt;/div&gt; &lt;/div&gt;
&lt;/div&gt; &lt;/div&gt;
</pre> </pre>
</div> </div><!-- /.span -->
</div> </div><!-- /.row -->
</section> </section>
@ -175,11 +215,11 @@
<div class="span4"> <div class="span4">
<h3>{{_i}}Percents, not pixels{{/i}}</h3> <h3>{{_i}}Percents, not pixels{{/i}}</h3>
<p>{{_i}}The fluid grid system uses percents for column widths instead of fixed pixels. It also has the same responsive variations as our fixed grid system, ensuring proper proportions for key screen resolutions and devices.{{/i}}</p> <p>{{_i}}The fluid grid system uses percents for column widths instead of fixed pixels. It also has the same responsive variations as our fixed grid system, ensuring proper proportions for key screen resolutions and devices.{{/i}}</p>
</div> </div><!-- /.span -->
<div class="span4"> <div class="span4">
<h3>{{_i}}Fluid rows{{/i}}</h3> <h3>{{_i}}Fluid rows{{/i}}</h3>
<p>{{_i}}Make any row fluid simply by changing <code>.row</code> to <code>.row-fluid</code>. The columns stay the exact same, making it super straightforward to flip between fixed and fluid layouts.{{/i}}</p> <p>{{_i}}Make any row fluid simply by changing <code>.row</code> to <code>.row-fluid</code>. The columns stay the exact same, making it super straightforward to flip between fixed and fluid layouts.{{/i}}</p>
</div> </div><!-- /.span -->
<div class="span4"> <div class="span4">
<h3>{{_i}}Markup{{/i}}</h3> <h3>{{_i}}Markup{{/i}}</h3>
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
@ -188,8 +228,8 @@
&lt;div class="span8"&gt;...&lt;/div&gt; &lt;div class="span8"&gt;...&lt;/div&gt;
&lt;/div&gt; &lt;/div&gt;
</pre> </pre>
</div> </div><!-- /.span -->
</div><!-- /row --> </div><!-- /.row -->
<h2>{{_i}}Fluid nesting{{/i}}</h2> <h2>{{_i}}Fluid nesting{{/i}}</h2>
<div class="row"> <div class="row">
@ -208,7 +248,7 @@
</div> </div>
</div> </div>
</div> </div>
</div> </div><!-- /.span -->
<div class="span6"> <div class="span6">
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
&lt;div class="row-fluid"&gt; &lt;div class="row-fluid"&gt;
@ -221,8 +261,8 @@
&lt;/div&gt; &lt;/div&gt;
&lt;/div&gt; &lt;/div&gt;
</pre> </pre>
</div> </div><!-- /.span -->
</div> </div><!-- /.row -->
</section> </section>
@ -269,16 +309,16 @@
<div class="span4"> <div class="span4">
<h3>{{_i}}Variables in LESS{{/i}}</h3> <h3>{{_i}}Variables in LESS{{/i}}</h3>
<p>{{_i}}Built into Bootstrap are a handful of variables for customizing the default 940px grid system, documented above. All variables for the grid are stored in variables.less.{{/i}}</p> <p>{{_i}}Built into Bootstrap are a handful of variables for customizing the default 940px grid system, documented above. All variables for the grid are stored in variables.less.{{/i}}</p>
</div> </div><!-- /.span -->
<div class="span4"> <div class="span4">
<h3>{{_i}}How to customize{{/i}}</h3> <h3>{{_i}}How to customize{{/i}}</h3>
<p>{{_i}}Modifying the grid means changing the three <code>@grid*</code> variables and recompiling Bootstrap. Change the grid variables in variables.less and use one of the <a href="less.html#compiling">four ways documented to recompile</a>. If you're adding more columns, be sure to add the CSS for those in grid.less.{{/i}}</p> <p>{{_i}}Modifying the grid means changing the three <code>@grid*</code> variables and recompiling Bootstrap. Change the grid variables in variables.less and use one of the <a href="less.html#compiling">four ways documented to recompile</a>. If you're adding more columns, be sure to add the CSS for those in grid.less.{{/i}}</p>
</div> </div><!-- /.span -->
<div class="span4"> <div class="span4">
<h3>{{_i}}Staying responsive{{/i}}</h3> <h3>{{_i}}Staying responsive{{/i}}</h3>
<p>{{_i}}Customization of the grid only works at the default level, the 940px grid. To maintain the responsive aspects of Bootstrap, you'll also have to customize the grids in responsive.less.{{/i}}</p> <p>{{_i}}Customization of the grid only works at the default level, the 940px grid. To maintain the responsive aspects of Bootstrap, you'll also have to customize the grids in responsive.less.{{/i}}</p>
</div> </div><!-- /.span -->
</div><!-- /row --> </div><!-- /.row -->
</section> </section>
@ -305,7 +345,7 @@
&lt;/div&gt; &lt;/div&gt;
&lt;/body&gt; &lt;/body&gt;
</pre> </pre>
</div><!-- /col --> </div><!-- /.span -->
<div class="span6"> <div class="span6">
<h2>{{_i}}Fluid layout{{/i}}</h2> <h2>{{_i}}Fluid layout{{/i}}</h2>
<p>{{_i}}<code>&lt;div class="container-fluid"&gt;</code> gives flexible page structure, min- and max-widths, and a left-hand sidebar. It's great for apps and docs.{{/i}}</p> <p>{{_i}}<code>&lt;div class="container-fluid"&gt;</code> gives flexible page structure, min- and max-widths, and a left-hand sidebar. It's great for apps and docs.{{/i}}</p>
@ -325,8 +365,8 @@
&lt;/div&gt; &lt;/div&gt;
&lt;/div&gt; &lt;/div&gt;
</pre> </pre>
</div><!-- /col --> </div><!-- /.span -->
</div><!-- /row --> </div><!-- /.row -->
</section> </section>
@ -341,8 +381,16 @@
<!-- Supported devices --> <!-- Supported devices -->
<div class="row"> <div class="row">
<div class="span4"> <div class="span4">
<img src="assets/img/responsive-illustrations.png" alt="Responsive devices"> <p><img src="assets/img/responsive-illustrations.png" alt="Responsive devices"></p>
</div> <h3>{{_i}}What they do{{/i}}</h3>
<p>{{_i}}Media queries allow for custom CSS based on a number of conditions&mdash;ratios, widths, display type, etc&mdash;but usually focuses around <code>min-width</code> and <code>max-width</code>.{{/i}}</p>
<ul>
<li>{{_i}}Modify the width of column in our grid{{/i}}</li>
<li>{{_i}}Stack elements instead of float wherever necessary{{/i}}</li>
<li>{{_i}}Resize headings and text to be more appropriate for devices{{/i}}</li>
</ul>
<p>{{_i}}Use media queries responsibly and only as a start to your mobile audiences. For larger projects, do consider dedicated code bases and not layers of media queries.{{/i}}</p>
</div><!-- /.span -->
<div class="span8"> <div class="span8">
<h2>{{_i}}Supported devices{{/i}}</h2> <h2>{{_i}}Supported devices{{/i}}</h2>
<p>{{_i}}Bootstrap supports a handful of media queries in a single file to help make your projects more appropriate on different devices and screen resolutions. Here's what's included:{{/i}}</p> <p>{{_i}}Bootstrap supports a handful of media queries in a single file to help make your projects more appropriate on different devices and screen resolutions. Here's what's included:{{/i}}</p>
@ -362,13 +410,13 @@
<td class="muted" colspan="2">{{_i}}Fluid columns, no fixed widths{{/i}}</td> <td class="muted" colspan="2">{{_i}}Fluid columns, no fixed widths{{/i}}</td>
</tr> </tr>
<tr> <tr>
<td>{{_i}}Portrait tablets{{/i}}</td> <td>{{_i}}Smartphones to tablets{{/i}}</td>
<td>480px to 768px</td> <td>767px and below</td>
<td class="muted" colspan="2">{{_i}}Fluid columns, no fixed widths{{/i}}</td> <td class="muted" colspan="2">{{_i}}Fluid columns, no fixed widths{{/i}}</td>
</tr> </tr>
<tr> <tr>
<td>{{_i}}Landscape tablets{{/i}}</td> <td>{{_i}}Portrait tablets{{/i}}</td>
<td>768px to 979px</td> <td>768px and above</td>
<td>42px</td> <td>42px</td>
<td>20px</td> <td>20px</td>
</tr> </tr>
@ -390,23 +438,15 @@
<h3>{{_i}}Requires meta tag{{/i}}</h3> <h3>{{_i}}Requires meta tag{{/i}}</h3>
<p>{{_i}}To ensure devices display responsive pages properly, include the viewport meta tag.{{/i}}</p> <p>{{_i}}To ensure devices display responsive pages properly, include the viewport meta tag.{{/i}}</p>
<pre class="prettyprint linenums">&lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;</pre> <pre class="prettyprint linenums">&lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;</pre>
</div><!-- /.span -->
<h3>{{_i}}What they do{{/i}}</h3> </div><!-- /.row -->
<p>{{_i}}Media queries allow for custom CSS based on a number of conditions&mdash;ratios, widths, display type, etc&mdash;but usually focuses around <code>min-width</code> and <code>max-width</code>.{{/i}}</p>
<ul>
<li>{{_i}}Modify the width of column in our grid{{/i}}</li>
<li>{{_i}}Stack elements instead of float wherever necessary{{/i}}</li>
<li>{{_i}}Resize headings and text to be more appropriate for devices{{/i}}</li>
</ul>
</div>
</div>
<br> <br>
<!-- Media query code --> <!-- Media query code -->
<h2>{{_i}}Using the media queries{{/i}}</h2> <h2>{{_i}}Using the media queries{{/i}}</h2>
<div class="row"> <div class="row">
<div class="span5"> <div class="span4">
<p>{{_i}}Bootstrap doesn't automatically include these media queries, but understanding and adding them is very easy and requires minimal setup. You have a few options for including the responsive features of Bootstrap:{{/i}}</p> <p>{{_i}}Bootstrap doesn't automatically include these media queries, but understanding and adding them is very easy and requires minimal setup. You have a few options for including the responsive features of Bootstrap:{{/i}}</p>
<ol> <ol>
<li>{{_i}}Use the compiled responsive version, bootstrap-responsive.css{{/i}}</li> <li>{{_i}}Use the compiled responsive version, bootstrap-responsive.css{{/i}}</li>
@ -414,8 +454,8 @@
<li>{{_i}}Modify and recompile responsive.less as a separate file{{/i}}</li> <li>{{_i}}Modify and recompile responsive.less as a separate file{{/i}}</li>
</ol> </ol>
<p>{{_i}}<strong>Why not just include it?</strong> Truth be told, not everything needs to be responsive. Instead of encouraging developers to remove this feature, we figure it best to enable it.{{/i}}</p> <p>{{_i}}<strong>Why not just include it?</strong> Truth be told, not everything needs to be responsive. Instead of encouraging developers to remove this feature, we figure it best to enable it.{{/i}}</p>
</div> </div><!-- /.span -->
<div class="span7"> <div class="span8">
<pre class="prettyprint linenums"> <pre class="prettyprint linenums">
// {{_i}}Landscape phones and down{{/i}} // {{_i}}Landscape phones and down{{/i}}
@media (max-width: 480px) { ... } @media (max-width: 480px) { ... }
@ -429,6 +469,91 @@
// {{_i}}Large desktop{{/i}} // {{_i}}Large desktop{{/i}}
@media (min-width: 1200px) { .. } @media (min-width: 1200px) { .. }
</pre> </pre>
</div> </div><!-- /.span -->
</div> </div><!-- /.row -->
<br>
<!-- Responsive utility classes -->
<h2>{{_i}}Responsive utility classes{{/i}}</h2>
<div class="row">
<div class="span4">
<h3>{{_i}}What are they{{/i}}</h2>
<p>{{_i}}For faster mobile-friendly development, use these basic utility classes for showing and hidding content by device.{{/i}}</p>
<h3>{{_i}}When to use{{/i}}</h2>
<p>{{_i}}Use on a limited basis and avoid creating entirely different versions of the same site. Instead, use them to complement each device's presentation.{{/i}}</p>
<p>{{_i}}For example, you might show a <code>&lt;select&gt;</code> element for nav on mobile layouts, but not on tablets or desktops.{{/i}}</p>
</div><!-- /.span -->
<div class="span8">
<h3>{{_i}}Support classes{{/i}}</h3>
<p>{{_i}}Shown here is a table of the classes we support and their effect on a given media query layout (labeled by device). They can be found in <code>responsive.less</code>.{{/i}}</p>
<table class="table table-bordered table-striped responsive-utilities">
<thead>
<tr>
<th>{{_i}}Class{{/i}}</th>
<th>{{_i}}Phones <small>480px and below</small>{{/i}}</th>
<th>{{_i}}Tablets <small>767px and below</small>{{/i}}</th>
<th>{{_i}}Desktops <small>768px and above</small>{{/i}}</th>
</tr>
</thead>
<tbody>
<tr>
<th><code>.visible-phone</code></th>
<td class="is-visible">{{_i}}Visible{{/i}}</td>
<td class="is-hidden">{{_i}}Hidden{{/i}}</td>
<td class="is-hidden">{{_i}}Hidden{{/i}}</td>
</tr>
<tr>
<th><code>.visible-tablet</code></th>
<td class="is-hidden">{{_i}}Hidden{{/i}}</td>
<td class="is-visible">{{_i}}Visible{{/i}}</td>
<td class="is-hidden">{{_i}}Hidden{{/i}}</td>
</tr>
<tr>
<th><code>.visible-desktop</code></th>
<td class="is-hidden">{{_i}}Hidden{{/i}}</td>
<td class="is-hidden">{{_i}}Hidden{{/i}}</td>
<td class="is-visible">{{_i}}Visible{{/i}}</td>
</tr>
<tr>
<th><code>.hidden-phone</code></th>
<td class="is-hidden">{{_i}}Hidden{{/i}}</td>
<td class="is-visible">{{_i}}Visible{{/i}}</td>
<td class="is-visible">{{_i}}Visible{{/i}}</td>
</tr>
<tr>
<th><code>.hidden-tablet</code></th>
<td class="is-visible">{{_i}}Visible{{/i}}</td>
<td class="is-hidden">{{_i}}Hidden{{/i}}</td>
<td class="is-visible">{{_i}}Visible{{/i}}</td>
</tr>
<tr>
<th><code>.hidden-desktop</code></th>
<td class="is-visible">{{_i}}Visible{{/i}}</td>
<td class="is-visible">{{_i}}Visible{{/i}}</td>
<td class="is-hidden">{{_i}}Hidden{{/i}}</td>
</tr>
</tbody>
</table>
<h3>{{_i}}Test case{{/i}}</h3>
<p>{{_i}}Resize your browser or load on different devices to test the above clases.{{/i}}</p>
<h4>{{_i}}Visible on...{{/i}}</h4>
<ul class="responsive-utilities-test">
<li>Phone<span class="visible-phone">&#10004; Phone</span></li>
<li>Tablet<span class="visible-tablet">&#10004; Tablet</span></li>
<li>Desktop<span class="visible-desktop">&#10004; Desktop</span></li>
</ul>
<h4>{{_i}}Hidden on...{{/i}}</h4>
<ul class="responsive-utilities-test hidden-on">
<li>Phone<span class="hidden-phone">&#10004; Phone</span></li>
<li>Tablet<span class="hidden-tablet">&#10004; Tablet</span></li>
<li>Desktop<span class="hidden-desktop">&#10004; Desktop</span></li>
</ul>
</div><!-- /.span -->
</div><!-- /.row -->
<div class="row">
<div class="span4">
</div><!-- /.span -->
</div><!-- /.row -->
</section> </section>

View File

@ -29,6 +29,9 @@
this.$element = $(element) this.$element = $(element)
this.options = $.extend({}, $.fn.carousel.defaults, options) this.options = $.extend({}, $.fn.carousel.defaults, options)
this.options.slide && this.slide(this.options.slide) this.options.slide && this.slide(this.options.slide)
this.options.pause == 'hover' && this.$element
.on('mouseenter', $.proxy(this.pause, this))
.on('mouseleave', $.proxy(this.cycle, this))
} }
Carousel.prototype = { Carousel.prototype = {
@ -83,14 +86,14 @@
, fallback = type == 'next' ? 'first' : 'last' , fallback = type == 'next' ? 'first' : 'last'
, that = this , that = this
if (!$next.length) return
this.sliding = true this.sliding = true
isCycling && this.pause() isCycling && this.pause()
$next = $next.length ? $next : this.$element.find('.item')[fallback]() $next = $next.length ? $next : this.$element.find('.item')[fallback]()
if ($next.hasClass('active')) return
if (!$.support.transition && this.$element.hasClass('slide')) { if (!$.support.transition && this.$element.hasClass('slide')) {
this.$element.trigger('slide') this.$element.trigger('slide')
$active.removeClass('active') $active.removeClass('active')
@ -136,6 +139,7 @@
$.fn.carousel.defaults = { $.fn.carousel.defaults = {
interval: 5000 interval: 5000
, pause: 'hover'
} }
$.fn.carousel.Constructor = Carousel $.fn.carousel.Constructor = Carousel

View File

@ -206,7 +206,7 @@
title = $e.attr('data-original-title') title = $e.attr('data-original-title')
|| (typeof o.title == 'function' ? o.title.call($e[0]) : o.title) || (typeof o.title == 'function' ? o.title.call($e[0]) : o.title)
title = title.toString().replace(/(^\s*|\s*$)/, "") title = (title || '').toString().replace(/(^\s*|\s*$)/, "")
return title return title
} }

View File

@ -9,11 +9,11 @@
background-color: @warningBackground; background-color: @warningBackground;
border: 1px solid @warningBorder; border: 1px solid @warningBorder;
.border-radius(4px); .border-radius(4px);
}
.alert,
.alert-heading {
color: @warningText; color: @warningText;
} }
.alert-heading {
color: inherit;
}
// Adjust close link position // Adjust close link position
.alert .close { .alert .close {
@ -29,32 +29,20 @@
.alert-success { .alert-success {
background-color: @successBackground; background-color: @successBackground;
border-color: @successBorder; border-color: @successBorder;
}
.alert-success,
.alert-success .alert-heading {
color: @successText; color: @successText;
} }
.alert-danger, .alert-danger,
.alert-error { .alert-error {
background-color: @errorBackground; background-color: @errorBackground;
border-color: @errorBorder; border-color: @errorBorder;
}
.alert-danger,
.alert-error,
.alert-danger .alert-heading,
.alert-error .alert-heading {
color: @errorText; color: @errorText;
} }
.alert-info { .alert-info {
background-color: @infoBackground; background-color: @infoBackground;
border-color: @infoBorder; border-color: @infoBorder;
}
.alert-info,
.alert-info .alert-heading {
color: @infoText; color: @infoText;
} }
// Block alerts // Block alerts
// ------------------------ // ------------------------
.alert-block { .alert-block {

36
less/badges.less Normal file
View File

@ -0,0 +1,36 @@
// BADGES
// ------
// Base
.badge {
padding: 1px 9px 2px;
font-size: @baseFontSize * .925;
font-weight: bold;
white-space: nowrap;
color: @white;
background-color: @grayLight;
.border-radius(9px);
}
// Hover state
.badge:hover {
color: @white;
text-decoration: none;
cursor: pointer;
}
// Colors
.badge-error { background-color: @errorText; }
.badge-error:hover { background-color: darken(@errorText, 10%); }
.badge-warning { background-color: @orange; }
.badge-warning:hover { background-color: darken(@orange, 10%); }
.badge-success { background-color: @successText; }
.badge-success:hover { background-color: darken(@successText, 10%); }
.badge-info { background-color: @infoText; }
.badge-info:hover { background-color: darken(@infoText, 10%); }
.badge-inverse { background-color: @grayDark; }
.badge-inverse:hover { background-color: darken(@grayDark, 10%); }

1
less/bootstrap.less vendored
View File

@ -53,6 +53,7 @@
// Components: Misc // Components: Misc
@import "thumbnails.less"; @import "thumbnails.less";
@import "labels.less"; @import "labels.less";
@import "badges.less";
@import "progress-bars.less"; @import "progress-bars.less";
@import "accordion.less"; @import "accordion.less";
@import "carousel.less"; @import "carousel.less";

View File

@ -4,6 +4,7 @@
.breadcrumb { .breadcrumb {
padding: 7px 14px; padding: 7px 14px;
margin: 0 0 @baseLineHeight; margin: 0 0 @baseLineHeight;
list-style: none;
#gradient > .vertical(@white, #f5f5f5); #gradient > .vertical(@white, #f5f5f5);
border: 1px solid #ddd; border: 1px solid #ddd;
.border-radius(3px); .border-radius(3px);

View File

@ -137,6 +137,7 @@
.btn-inverse { .btn-inverse {
.caret { .caret {
border-top-color: @white; border-top-color: @white;
border-bottom-color: @white;
.opacity(75); .opacity(75);
} }
} }

View File

@ -25,7 +25,6 @@
cursor: pointer; cursor: pointer;
// Give IE7 some love // Give IE7 some love
.reset-filter();
.ie7-restore-left-whitespace(); .ie7-restore-left-whitespace();
} }
@ -126,7 +125,7 @@
.btn-danger.active, .btn-danger.active,
.btn-success.active, .btn-success.active,
.btn-info.active, .btn-info.active,
.btn-dark.active { .btn-inverse.active {
color: rgba(255,255,255,.75); color: rgba(255,255,255,.75);
} }
@ -153,7 +152,7 @@
} }
// Inverse appears as dark gray // Inverse appears as dark gray
.btn-inverse { .btn-inverse {
.buttonBackground(#454545, #262626); .buttonBackground(@gray, @grayDarker);
} }
@ -172,11 +171,11 @@ input[type="submit"].btn {
// IE7 has some default padding on button controls // IE7 has some default padding on button controls
*padding-top: 2px; *padding-top: 2px;
*padding-bottom: 2px; *padding-bottom: 2px;
&.large { &.btn-large {
*padding-top: 7px; *padding-top: 7px;
*padding-bottom: 7px; *padding-bottom: 7px;
} }
&.small { &.btn-small {
*padding-top: 3px; *padding-top: 3px;
*padding-bottom: 3px; *padding-bottom: 3px;
} }

View File

@ -14,7 +14,7 @@ pre {
// Inline code // Inline code
code { code {
padding: 3px 4px; padding: 2px 4px;
color: #d14; color: #d14;
background-color: #f7f7f9; background-color: #f7f7f9;
border: 1px solid #e1e1e8; border: 1px solid #e1e1e8;

View File

@ -13,7 +13,9 @@
.open .dropdown-toggle { .open .dropdown-toggle {
outline: 0; outline: 0;
} }
// Dropdown arrow/caret // Dropdown arrow/caret
// --------------------
.caret { .caret {
display: inline-block; display: inline-block;
width: 0; width: 0;
@ -29,6 +31,7 @@
.opacity(30); .opacity(30);
content: "\2193"; content: "\2193";
} }
.dropdown .caret { .dropdown .caret {
margin-top: 8px; margin-top: 8px;
margin-left: 2px; margin-left: 2px;
@ -37,7 +40,9 @@
.open.dropdown .caret { .open.dropdown .caret {
.opacity(100); .opacity(100);
} }
// The dropdown menu (ul) // The dropdown menu (ul)
// ----------------------
.dropdown-menu { .dropdown-menu {
position: absolute; position: absolute;
top: 100%; top: 100%;
@ -46,7 +51,6 @@
float: left; float: left;
display: none; // none by default, but block on "open" of the menu display: none; // none by default, but block on "open" of the menu
min-width: 160px; min-width: 160px;
_width: 160px;
padding: 4px 0; padding: 4px 0;
margin: 0; // override default ul margin: 0; // override default ul
list-style: none; list-style: none;
@ -63,27 +67,15 @@
*border-right-width: 2px; *border-right-width: 2px;
*border-bottom-width: 2px; *border-bottom-width: 2px;
// Allow for dropdowns to go bottom up (aka, dropup-menu) // Aligns the dropdown menu to right
&.bottom-up { &.pull-right {
top: auto; right: 0;
bottom: 100%; left: auto;
margin-bottom: 2px;
} }
// Dividers (basically an hr) within the dropdown // Dividers (basically an hr) within the dropdown
.divider { .divider {
height: 1px; .nav-divider();
margin: 5px 1px;
overflow: hidden;
background-color: #e5e5e5;
border-bottom: 1px solid @white;
// IE7 needs a set width since we gave a height. Restricting just
// to IE7 to keep the 1px left/right space in other browsers.
// It is unclear where IE is getting the extra space that we need
// to negative-margin away, but so it goes.
*width: 100%;
*margin: -5px 0 5px;
} }
// Links within the dropdown menu // Links within the dropdown menu
@ -99,6 +91,7 @@
} }
// Hover state // Hover state
// -----------
.dropdown-menu li > a:hover, .dropdown-menu li > a:hover,
.dropdown-menu .active > a, .dropdown-menu .active > a,
.dropdown-menu .active > a:hover { .dropdown-menu .active > a:hover {
@ -108,6 +101,7 @@
} }
// Open state for the dropdown // Open state for the dropdown
// ---------------------------
.dropdown.open { .dropdown.open {
// IE7's z-index only goes to the nearest positioned ancestor, which would // IE7's z-index only goes to the nearest positioned ancestor, which would
// make the menu appear below buttons that appeared later on the page // make the menu appear below buttons that appeared later on the page
@ -123,7 +117,34 @@
} }
} }
// Right aligned dropdowns
.pull-right .dropdown-menu {
left: auto;
right: 0;
}
// Allow for dropdowns to go bottom up (aka, dropup-menu)
// ------------------------------------------------------
// Just add .dropup after the standard .dropdown class and you're set, bro.
// TODO: abstract this so that the navbar fixed styles are not placed here?
.dropup,
.navbar-fixed-bottom .dropdown {
// Reverse the caret
.caret {
border-top: 0;
border-bottom: 4px solid @black;
content: "\2191";
}
// Different positioning for bottom up menu
.dropdown-menu {
top: auto;
bottom: 100%;
margin-bottom: 1px;
}
}
// Typeahead // Typeahead
// ---------
.typeahead { .typeahead {
margin-top: 2px; // give it some space to breathe margin-top: 2px; // give it some space to breathe
.border-radius(4px); .border-radius(4px);

View File

@ -253,7 +253,7 @@ textarea[class*="span"],
// GRID SIZING FOR INPUTS // GRID SIZING FOR INPUTS
// ---------------------- // ----------------------
#inputGridSystem > .generate(@gridColumns, @gridColumnWidth, @gridGutterWidth); #grid > .input (@gridColumnWidth, @gridGutterWidth);
@ -301,7 +301,7 @@ select:focus:required:invalid {
border-color: #ee5f5b; border-color: #ee5f5b;
&:focus { &:focus {
border-color: darken(#ee5f5b, 10%); border-color: darken(#ee5f5b, 10%);
.box-shadow(0 0 6px lighten(#ee5f5b, 20%)); .box-shadow(0 0 6px lighten(#ee5f5b, 20%));
} }
} }
@ -316,6 +316,7 @@ select:focus:required:invalid {
margin-bottom: @baseLineHeight; margin-bottom: @baseLineHeight;
background-color: #f5f5f5; background-color: #f5f5f5;
border-top: 1px solid #ddd; border-top: 1px solid #ddd;
.clearfix(); // Adding clearfix to allow for .pull-right button containers
} }
// For text that needs to appear as an input but should not be an input // For text that needs to appear as an input but should not be an input
@ -335,17 +336,19 @@ select:focus:required:invalid {
// HELP TEXT // HELP TEXT
// --------- // ---------
.help-block,
.help-inline {
color: @gray; // lighten the text some for contrast
}
.help-block { .help-block {
display: block; // account for any element using help-block display: block; // account for any element using help-block
margin-top: 5px; margin-bottom: @baseLineHeight / 2;
margin-bottom: 0;
color: @grayLight;
} }
.help-inline { .help-inline {
display: inline-block; display: inline-block;
.ie7-inline-block(); .ie7-inline-block();
margin-bottom: 9px;
vertical-align: middle; vertical-align: middle;
padding-left: 5px; padding-left: 5px;
} }
@ -361,6 +364,7 @@ select:focus:required:invalid {
margin-bottom: 5px; margin-bottom: 5px;
.clearfix(); // Clear the float to prevent wrapping .clearfix(); // Clear the float to prevent wrapping
input, input,
select,
.uneditable-input { .uneditable-input {
.border-radius(0 3px 3px 0); .border-radius(0 3px 3px 0);
&:focus { &:focus {
@ -381,7 +385,6 @@ select:focus:required:invalid {
padding: 4px 5px; padding: 4px 5px;
font-weight: normal; font-weight: normal;
line-height: @baseLineHeight; line-height: @baseLineHeight;
color: @grayLight;
text-align: center; text-align: center;
text-shadow: 0 1px 0 @white; text-shadow: 0 1px 0 @white;
background-color: #f5f5f5; background-color: #f5f5f5;
@ -400,13 +403,14 @@ select:focus:required:invalid {
} }
.input-append { .input-append {
input, input,
select
.uneditable-input { .uneditable-input {
float: left; float: left;
.border-radius(3px 0 0 3px); .border-radius(3px 0 0 3px);
} }
.uneditable-input { .uneditable-input {
border-left-color: #eee; border-left-color: #eee;
border-right-color: #ccc; border-right-color: #ccc;
} }
.add-on { .add-on {
margin-right: 0; margin-right: 0;
@ -470,19 +474,30 @@ select:focus:required:invalid {
} }
// Make the prepend and append add-on vertical-align: middle; // Make the prepend and append add-on vertical-align: middle;
.form-search .input-append .add-on, .form-search .input-append .add-on,
.form-inline .input-prepend .add-on, .form-search .input-prepend .add-on,
.form-search .input-append .add-on, .form-inline .input-append .add-on,
.form-inline .input-prepend .add-on { .form-inline .input-prepend .add-on {
vertical-align: middle; vertical-align: middle;
} }
// Inline checkbox/radio labels // Inline checkbox/radio labels (remove padding on left)
.form-search .radio, .form-search .radio,
.form-inline .radio,
.form-search .checkbox, .form-search .checkbox,
.form-inline .radio,
.form-inline .checkbox { .form-inline .checkbox {
padding-left: 0;
margin-bottom: 0; margin-bottom: 0;
vertical-align: middle; vertical-align: middle;
} }
// Remove float and margin, set to inline-block
.form-search .radio input[type="radio"],
.form-search .checkbox input[type="checkbox"],
.form-inline .radio input[type="radio"],
.form-inline .checkbox input[type="checkbox"] {
float: left;
margin-left: 0;
margin-right: 3px;
}
// Margin to space out fieldsets // Margin to space out fieldsets
.control-group { .control-group {
@ -515,6 +530,11 @@ legend + .control-group {
.controls { .controls {
margin-left: 160px; margin-left: 160px;
} }
// Remove bottom margin on block level help text since that's accounted for on .control-group
.help-block {
margin-top: @baseLineHeight / 2;
margin-bottom: 0;
}
// Move over buttons in .form-actions to align with .controls // Move over buttons in .form-actions to align with .controls
.form-actions { .form-actions {
padding-left: 160px; padding-left: 160px;

View File

@ -1,8 +1,5 @@
// GRID SYSTEM
// -----------
// Fixed (940px) // Fixed (940px)
#gridSystem > .generate(@gridColumns, @gridColumnWidth, @gridGutterWidth); #grid > .core(@gridColumnWidth, @gridGutterWidth);
// Fluid (940px) // Fluid (940px)
#fluidGridSystem > .generate(@gridColumns, @fluidGridColumnWidth, @fluidGridGutterWidth); #grid > .fluid(@fluidGridColumnWidth, @fluidGridGutterWidth);

View File

@ -3,10 +3,12 @@
// Base // Base
.label { .label {
padding: 2px 4px 3px; padding: 1px 4px 2px;
font-size: @baseFontSize * .85; font-size: @baseFontSize * .846;
font-weight: bold; font-weight: bold;
line-height: 13px; // ensure proper line-height if floated
color: @white; color: @white;
white-space: nowrap;
text-shadow: 0 -1px 0 rgba(0,0,0,.25); text-shadow: 0 -1px 0 rgba(0,0,0,.25);
background-color: @grayLight; background-color: @grayLight;
.border-radius(3px); .border-radius(3px);
@ -30,3 +32,6 @@
.label-info { background-color: @infoText; } .label-info { background-color: @infoText; }
.label-info:hover { background-color: darken(@infoText, 10%); } .label-info:hover { background-color: darken(@infoText, 10%); }
.label-inverse { background-color: @grayDark; }
.label-inverse:hover { background-color: darken(@grayDark, 10%); }

View File

@ -135,156 +135,6 @@
} }
// GRID SYSTEM
// --------------------------------------------------
// Site container
// -------------------------
.container-fixed() {
width: @gridRowWidth;
margin-left: auto;
margin-right: auto;
.clearfix();
}
// Le grid system
// -------------------------
#gridSystem {
// Setup the mixins to be used
.columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, @columns) {
width: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns - 1));
}
.offset(@gridColumnWidth, @gridGutterWidth, @columns) {
margin-left: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns - 1)) + (@gridGutterWidth * 2);
}
.gridColumn(@gridGutterWidth) {
float: left;
margin-left: @gridGutterWidth;
}
// Take these values and mixins, and make 'em do their thang
.generate(@gridColumns, @gridColumnWidth, @gridGutterWidth) {
// Row surrounds the columns
.row {
margin-left: @gridGutterWidth * -1;
.clearfix();
}
// Find all .span# classes within .row and give them the necessary properties for grid columns (supported by all browsers back to IE7, thanks @dhg)
[class*="span"] {
#gridSystem > .gridColumn(@gridGutterWidth);
}
// Default columns
.span1 { #gridSystem > .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 1); }
.span2 { #gridSystem > .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 2); }
.span3 { #gridSystem > .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 3); }
.span4 { #gridSystem > .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 4); }
.span5 { #gridSystem > .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 5); }
.span6 { #gridSystem > .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 6); }
.span7 { #gridSystem > .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 7); }
.span8 { #gridSystem > .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 8); }
.span9 { #gridSystem > .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 9); }
.span10 { #gridSystem > .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 10); }
.span11 { #gridSystem > .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 11); }
.span12,
.container { #gridSystem > .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 12); }
// Offset column options
.offset1 { #gridSystem > .offset(@gridColumnWidth, @gridGutterWidth, 1); }
.offset2 { #gridSystem > .offset(@gridColumnWidth, @gridGutterWidth, 2); }
.offset3 { #gridSystem > .offset(@gridColumnWidth, @gridGutterWidth, 3); }
.offset4 { #gridSystem > .offset(@gridColumnWidth, @gridGutterWidth, 4); }
.offset5 { #gridSystem > .offset(@gridColumnWidth, @gridGutterWidth, 5); }
.offset6 { #gridSystem > .offset(@gridColumnWidth, @gridGutterWidth, 6); }
.offset7 { #gridSystem > .offset(@gridColumnWidth, @gridGutterWidth, 7); }
.offset8 { #gridSystem > .offset(@gridColumnWidth, @gridGutterWidth, 8); }
.offset9 { #gridSystem > .offset(@gridColumnWidth, @gridGutterWidth, 9); }
.offset10 { #gridSystem > .offset(@gridColumnWidth, @gridGutterWidth, 10); }
.offset11 { #gridSystem > .offset(@gridColumnWidth, @gridGutterWidth, 11); }
}
}
// Fluid grid system
// -------------------------
#fluidGridSystem {
// Setup the mixins to be used
.columns(@fluidGridGutterWidth, @fluidGridColumnWidth, @columns) {
width: 1% * (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1));
}
.gridColumn(@fluidGridGutterWidth) {
float: left;
margin-left: @fluidGridGutterWidth;
}
// Take these values and mixins, and make 'em do their thang
.generate(@gridColumns, @fluidGridColumnWidth, @fluidGridGutterWidth) {
// Row surrounds the columns
.row-fluid {
width: 100%;
.clearfix();
// Find all .span# classes within .row and give them the necessary properties for grid columns (supported by all browsers back to IE7, thanks @dhg)
> [class*="span"] {
#fluidGridSystem > .gridColumn(@fluidGridGutterWidth);
}
> [class*="span"]:first-child {
margin-left: 0;
}
// Default columns
> .span1 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 1); }
> .span2 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 2); }
> .span3 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 3); }
> .span4 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 4); }
> .span5 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 5); }
> .span6 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 6); }
> .span7 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 7); }
> .span8 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 8); }
> .span9 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 9); }
> .span10 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 10); }
> .span11 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 11); }
> .span12 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 12); }
}
}
}
// Input grid system
// -------------------------
#inputGridSystem {
.inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, @columns) {
width: ((@gridColumnWidth) * @columns) + (@gridGutterWidth * (@columns - 1)) - 10;
}
.generate(@gridColumns, @gridColumnWidth, @gridGutterWidth) {
input,
textarea,
.uneditable-input {
&.span1 { #inputGridSystem > .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 1); }
&.span2 { #inputGridSystem > .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 2); }
&.span3 { #inputGridSystem > .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 3); }
&.span4 { #inputGridSystem > .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 4); }
&.span5 { #inputGridSystem > .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 5); }
&.span6 { #inputGridSystem > .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 6); }
&.span7 { #inputGridSystem > .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 7); }
&.span8 { #inputGridSystem > .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 8); }
&.span9 { #inputGridSystem > .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 9); }
&.span10 { #inputGridSystem > .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 10); }
&.span11 { #inputGridSystem > .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 11); }
&.span12 { #inputGridSystem > .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 12); }
}
}
}
// Make a Grid
// -------------------------
// Use .makeRow and .makeColumn to assign semantic layouts grid system behavior
.makeRow() {
margin-left: @gridGutterWidth * -1;
.clearfix();
}
.makeColumn(@columns: 1) {
float: left;
margin-left: @gridGutterWidth;
width: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns - 1));
}
// Form field states (used in forms.less) // Form field states (used in forms.less)
// -------------------------------------------------- // --------------------------------------------------
@ -509,8 +359,8 @@
background-image: -webkit-radial-gradient(circle, @innerColor, @outerColor); background-image: -webkit-radial-gradient(circle, @innerColor, @outerColor);
background-image: -moz-radial-gradient(circle, @innerColor, @outerColor); background-image: -moz-radial-gradient(circle, @innerColor, @outerColor);
background-image: -ms-radial-gradient(circle, @innerColor, @outerColor); background-image: -ms-radial-gradient(circle, @innerColor, @outerColor);
background-image: -o-radial-gradient(circle, @innerColor, @outerColor);
background-repeat: no-repeat; background-repeat: no-repeat;
// Opera cannot do radial gradients yet
} }
.striped(@color, @angle: -45deg) { .striped(@color, @angle: -45deg) {
background-color: @color; background-color: @color;
@ -528,8 +378,30 @@
} }
// Mixin for generating button backgrounds
// --------------------------------------- // COMPONENT MIXINS
// --------------------------------------------------
// Horizontal dividers
// -------------------------
// Dividers (basically an hr) within dropdowns and nav lists
.nav-divider() {
height: 1px;
margin: ((@baseLineHeight / 2) - 1) 1px; // 8px 1px
overflow: hidden;
background-color: #e5e5e5;
border-bottom: 1px solid @white;
// IE7 needs a set width since we gave a height. Restricting just
// to IE7 to keep the 1px left/right space in other browsers.
// It is unclear where IE is getting the extra space that we need
// to negative-margin away, but so it goes.
*width: 100%;
*margin: -5px 0 5px;
}
// Button backgrounds
// ------------------
.buttonBackground(@startColor, @endColor) { .buttonBackground(@startColor, @endColor) {
// gradientBar will set the background to a pleasing blend of these, to support IE<=9 // gradientBar will set the background to a pleasing blend of these, to support IE<=9
.gradientBar(@startColor, @endColor); .gradientBar(@startColor, @endColor);
@ -547,11 +419,15 @@
} }
} }
// Navbar vertical align
// -------------------------
// Vertically center elements in the navbar.
// Example: an element has a height of 30px, so write out `.navbarVerticalAlign(30px);` to calculate the appropriate top margin.
.navbarVerticalAlign(@elementHeight) {
margin-top: (@navbarHeight - @elementHeight) / 2;
}
// COMPONENT MIXINS // Popover arrows
// --------------------------------------------------
// POPOVER ARROWS
// ------------------------- // -------------------------
// For tipsies and popovers // For tipsies and popovers
#popoverArrow { #popoverArrow {
@ -588,3 +464,133 @@
border-right: @arrowWidth solid @black; border-right: @arrowWidth solid @black;
} }
} }
// Grid System
// -----------
.container-fixed() {
margin-left: auto;
margin-right: auto;
.clearfix();
}
.tableColumns(@columnSpan: 1) {
float: none; // undo default grid column styles
width: ((@gridColumnWidth) * @columnSpan) + (@gridGutterWidth * (@columnSpan - 1)) - 16; // 16 is total padding on left and right of table cells
margin-left: 0; // undo default grid column styles
}
#grid {
.core (@gridColumnWidth, @gridGutterWidth) {
.span (@columns) {
width: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns - 1));
}
.offset (@columns) {
margin-left: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns - 1)) + (@gridGutterWidth * 2);
}
.row {
margin-left: @gridGutterWidth * -1;
.clearfix();
}
[class*="span"] {
float: left;
margin-left: @gridGutterWidth;
}
// Set the container width, and override it for fixed navbars in media queries
.container,
.navbar-fixed-top .container,
.navbar-fixed-bottom .container { .span(12); }
.span1 { .span(1); }
.span2 { .span(2); }
.span3 { .span(3); }
.span4 { .span(4); }
.span5 { .span(5); }
.span6 { .span(6); }
.span7 { .span(7); }
.span8 { .span(8); }
.span9 { .span(9); }
.span10 { .span(10); }
.span11 { .span(11); }
.span12 { .span(12); }
.offset1 { .offset(1); }
.offset2 { .offset(2); }
.offset3 { .offset(3); }
.offset4 { .offset(4); }
.offset5 { .offset(5); }
.offset6 { .offset(6); }
.offset7 { .offset(7); }
.offset8 { .offset(8); }
.offset9 { .offset(9); }
.offset10 { .offset(10); }
.offset11 { .offset(11); }
.offset12 { .offset(12); }
}
.fluid (@fluidGridColumnWidth, @fluidGridGutterWidth) {
.span (@columns) {
width: 1% * (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1));
}
.row-fluid {
width: 100%;
.clearfix();
> [class*="span"] {
float: left;
margin-left: @fluidGridGutterWidth;
}
> [class*="span"]:first-child {
margin-left: 0;
}
> .span1 { .span(1); }
> .span2 { .span(2); }
> .span3 { .span(3); }
> .span4 { .span(4); }
> .span5 { .span(5); }
> .span6 { .span(6); }
> .span7 { .span(7); }
> .span8 { .span(8); }
> .span9 { .span(9); }
> .span10 { .span(10); }
> .span11 { .span(11); }
> .span12 { .span(12); }
}
}
.input(@gridColumnWidth, @gridGutterWidth) {
.span(@columns) {
width: ((@gridColumnWidth) * @columns) + (@gridGutterWidth * (@columns - 1)) - 10;
}
input,
textarea,
.uneditable-input {
margin-left: 0; // override margin-left from core grid system
> .span1 { .span(1); }
> .span2 { .span(2); }
> .span3 { .span(3); }
> .span4 { .span(4); }
> .span5 { .span(5); }
> .span6 { .span(6); }
> .span7 { .span(7); }
> .span8 { .span(8); }
> .span9 { .span(9); }
> .span10 { .span(10); }
> .span11 { .span(11); }
> .span12 { .span(12); }
}
}
}

View File

@ -33,7 +33,6 @@
top: 50%; top: 50%;
left: 50%; left: 50%;
z-index: @zindexModal; z-index: @zindexModal;
max-height: 500px;
overflow: auto; overflow: auto;
width: 560px; width: 560px;
margin: -250px 0 0 -280px; margin: -250px 0 0 -280px;
@ -59,10 +58,12 @@
// Body (where all modal content resises) // Body (where all modal content resises)
.modal-body { .modal-body {
overflow-y: auto;
max-height: 400px;
padding: 15px; padding: 15px;
} }
// Remove bottom margin if need be // Remove bottom margin if need be
.modal-body .modal-form { .modal-form {
margin-bottom: 0; margin-bottom: 0;
} }
@ -70,13 +71,15 @@
.modal-footer { .modal-footer {
padding: 14px 15px 15px; padding: 14px 15px 15px;
margin-bottom: 0; margin-bottom: 0;
text-align: right; // right align buttons
background-color: #f5f5f5; background-color: #f5f5f5;
border-top: 1px solid #ddd; border-top: 1px solid #ddd;
.border-radius(0 0 6px 6px); .border-radius(0 0 6px 6px);
.box-shadow(inset 0 1px 0 @white); .box-shadow(inset 0 1px 0 @white);
.clearfix(); .clearfix(); // clear it in case folks use .pull-* classes on buttons
.btn {
float: right; // Properly space out buttons
.btn + .btn {
margin-left: 5px; margin-left: 5px;
margin-bottom: 0; // account for input[type="submit"] which gets the bottom margin like all other inputs margin-bottom: 0; // account for input[type="submit"] which gets the bottom margin like all other inputs
} }

View File

@ -20,6 +20,12 @@
.box-shadow(@shadow); .box-shadow(@shadow);
} }
// Set width to auto for default container
// We then reset it for fixed navbars in the #gridSystem mixin
.navbar .container {
width: auto;
}
// Navbar button for toggling navbar items in responsive layouts // Navbar button for toggling navbar items in responsive layouts
.btn-navbar { .btn-navbar {
display: none; display: none;
@ -50,6 +56,7 @@
// Brand, links, text, and buttons // Brand, links, text, and buttons
.navbar { .navbar {
color: @navbarText;
// Hover and active states // Hover and active states
.brand:hover { .brand:hover {
text-decoration: none; text-decoration: none;
@ -69,16 +76,11 @@
.navbar-text { .navbar-text {
margin-bottom: 0; margin-bottom: 0;
line-height: 40px; line-height: 40px;
color: @navbarText;
a:hover {
color: @white;
background-color: transparent;
}
} }
// Buttons in navbar // Buttons in navbar
.btn, .btn,
.btn-group { .btn-group {
margin-top: 5px; // make buttons vertically centered in navbar .navbarVerticalAlign(30px); // Vertically center in navbar
} }
.btn-group .btn { .btn-group .btn {
margin-top: 0; // then undo the margin here so we don't accidentally double it margin-top: 0; // then undo the margin here so we don't accidentally double it
@ -90,14 +92,15 @@
margin-bottom: 0; // remove default bottom margin margin-bottom: 0; // remove default bottom margin
.clearfix(); .clearfix();
input, input,
select { select,
display: inline-block;
margin-top: 5px;
margin-bottom: 0;
}
.radio, .radio,
.checkbox { .checkbox {
margin-top: 5px; .navbarVerticalAlign(30px); // Vertically center in navbar
}
input,
select {
display: inline-block;
margin-bottom: 0;
} }
input[type="image"], input[type="image"],
input[type="checkbox"], input[type="checkbox"],
@ -118,7 +121,7 @@
.navbar-search { .navbar-search {
position: relative; position: relative;
float: left; float: left;
margin-top: 6px; .navbarVerticalAlign(28px); // Vertically center in navbar
margin-bottom: 0; margin-bottom: 0;
.search-query { .search-query {
padding: 4px 9px; padding: 4px 9px;
@ -156,22 +159,42 @@
} }
// FIXED NAVBAR // FIXED NAVBAR
// ------------ // ------------
.navbar-fixed-top { // Shared (top/bottom) styles
.navbar-fixed-top,
.navbar-fixed-bottom {
position: fixed; position: fixed;
top: 0;
right: 0; right: 0;
left: 0; left: 0;
z-index: @zindexFixedNavbar; z-index: @zindexFixedNavbar;
margin-bottom: 0; // remove 18px margin for static navbar
} }
.navbar-fixed-top .navbar-inner { .navbar-fixed-top .navbar-inner,
.navbar-fixed-bottom .navbar-inner {
padding-left: 0; padding-left: 0;
padding-right: 0; padding-right: 0;
.border-radius(0); .border-radius(0);
} }
.navbar-fixed-top .container,
.navbar-fixed-bottom .container {
#grid > .core > .span(@gridColumns);
}
// Fixed to top
.navbar-fixed-top {
top: 0;
}
// Fixed to bottom
.navbar-fixed-bottom {
bottom: 0;
}
// NAVIGATION // NAVIGATION
// ---------- // ----------
@ -262,11 +285,27 @@
left: 10px; left: 10px;
} }
} }
// Menu position and menu caret support for dropups via extra bottom-up class
.navbar-fixed-bottom .dropdown-menu {
&:before {
border-top: 7px solid #ccc;
border-top-color: rgba(0, 0, 0, 0.2);
border-bottom: 0;
bottom: -7px;
top: auto;
}
&:after {
border-top: 6px solid #ffffff;
border-bottom: 0;
bottom: -6px;
top: auto;
}
}
// Dropdown toggle caret // Dropdown toggle caret
.navbar .nav .dropdown-toggle .caret, .navbar .nav .dropdown-toggle .caret,
.navbar .nav .open.dropdown .caret { .navbar .nav .open.dropdown .caret {
border-top-color: @white; border-top-color: @white;
border-bottom-color: @white;
} }
.navbar .nav .active .caret { .navbar .nav .active .caret {
.opacity(100); .opacity(100);
@ -285,7 +324,9 @@
} }
// Right aligned menus need alt position // Right aligned menus need alt position
.navbar .nav.pull-right .dropdown-menu { // TODO: rejigger this at some point to simplify the selectors
.navbar .nav.pull-right .dropdown-menu,
.navbar .nav .dropdown-menu.pull-right {
left: auto; left: auto;
right: 0; right: 0;
&:before { &:before {

View File

@ -64,6 +64,10 @@
.nav-list [class^="icon-"] { .nav-list [class^="icon-"] {
margin-right: 2px; margin-right: 2px;
} }
// Dividers (basically an hr) within the dropdown
.nav-list .divider {
.nav-divider();
}
@ -102,8 +106,9 @@
// Actual tabs (as links) // Actual tabs (as links)
.nav-tabs > li > a { .nav-tabs > li > a {
padding-top: 9px; padding-top: 8px;
padding-bottom: 9px; padding-bottom: 8px;
line-height: @baseLineHeight;
border: 1px solid transparent; border: 1px solid transparent;
.border-radius(4px 4px 0 0); .border-radius(4px 4px 0 0);
&:hover { &:hover {
@ -200,11 +205,13 @@
.nav-tabs .dropdown-toggle .caret, .nav-tabs .dropdown-toggle .caret,
.nav-pills .dropdown-toggle .caret { .nav-pills .dropdown-toggle .caret {
border-top-color: @linkColor; border-top-color: @linkColor;
border-bottom-color: @linkColor;
margin-top: 6px; margin-top: 6px;
} }
.nav-tabs .dropdown-toggle:hover .caret, .nav-tabs .dropdown-toggle:hover .caret,
.nav-pills .dropdown-toggle:hover .caret { .nav-pills .dropdown-toggle:hover .caret {
border-top-color: @linkColorHover; border-top-color: @linkColorHover;
border-bottom-color: @linkColorHover;
} }
// Active dropdown links // Active dropdown links
@ -212,6 +219,7 @@
.nav-tabs .active .dropdown-toggle .caret, .nav-tabs .active .dropdown-toggle .caret,
.nav-pills .active .dropdown-toggle .caret { .nav-pills .active .dropdown-toggle .caret {
border-top-color: @grayDark; border-top-color: @grayDark;
border-bottom-color: @grayDark;
} }
// Active:hover dropdown links // Active:hover dropdown links
@ -234,6 +242,7 @@
.nav .open.active .caret, .nav .open.active .caret,
.nav .open a:hover .caret { .nav .open a:hover .caret {
border-top-color: @white; border-top-color: @white;
border-bottom-color: @white;
.opacity(100); .opacity(100);
} }
@ -256,7 +265,8 @@
.clearfix(); .clearfix();
} }
.tab-content { .tab-content {
overflow: hidden; // prevent content from running below tabs display: table; // prevent content from running below tabs
width: 100%;
} }
// Remove border on bottom, left, right // Remove border on bottom, left, right

View File

@ -32,6 +32,7 @@
color: @grayLight; color: @grayLight;
cursor: default; cursor: default;
} }
.pagination .disabled span,
.pagination .disabled a, .pagination .disabled a,
.pagination .disabled a:hover { .pagination .disabled a:hover {
color: @grayLight; color: @grayLight;

View File

@ -75,7 +75,6 @@ sub {
// ------------------------- // -------------------------
img { img {
max-width: 100%;
height: auto; height: auto;
border: 0; border: 0;
-ms-interpolation-mode: bicubic; -ms-interpolation-mode: bicubic;

View File

@ -31,6 +31,37 @@
visibility: hidden; visibility: hidden;
} }
// Visibility utilities
// For desktops
.visible-phone { display: none; }
.visible-tablet { display: none; }
.visible-desktop { display: block; }
.hidden-phone { display: block; }
.hidden-tablet { display: block; }
.hidden-desktop { display: none; }
// Phones only
@media (max-width: 767px) {
// Show
.visible-phone { display: block; }
// Hide
.hidden-phone { display: none; }
// Hide everything else
.hidden-desktop { display: block; }
.visible-desktop { display: none; }
}
// Tablets & small desktops only
@media (min-width: 768px) and (max-width: 979px) {
// Show
.visible-tablet { display: block; }
// Hide
.hidden-tablet { display: none; }
// Hide everything else
.hidden-desktop { display: block; }
.visible-desktop { display: none; }
}
// UP TO LANDSCAPE PHONE // UP TO LANDSCAPE PHONE
@ -157,13 +188,13 @@
@media (min-width: 768px) and (max-width: 979px) { @media (min-width: 768px) and (max-width: 979px) {
// Fixed grid // Fixed grid
#gridSystem > .generate(12, 42px, 20px); #grid > .core(42px, 20px);
// Fluid grid // Fluid grid
#fluidGridSystem > .generate(12, 5.801104972%, 2.762430939%); #grid > .fluid(5.801104972%, 2.762430939%);
// Input grid // Input grid
#inputGridSystem > .generate(12, 42px, 20px); #grid > .input(42px, 20px);
} }
@ -297,6 +328,7 @@
@media (min-width: 980px) { @media (min-width: 980px) {
.nav-collapse.collapse { .nav-collapse.collapse {
height: auto !important; height: auto !important;
overflow: visible !important;
} }
} }
@ -308,13 +340,13 @@
@media (min-width: 1200px) { @media (min-width: 1200px) {
// Fixed grid // Fixed grid
#gridSystem > .generate(12, 70px, 30px); #grid > .core(70px, 30px);
// Fluid grid // Fluid grid
#fluidGridSystem > .generate(12, 5.982905983%, 2.564102564%); #grid > .fluid(5.982905983%, 2.564102564%);
// Input grid // Input grid
#inputGridSystem > .generate(12, 70px, 30px); #grid > .input(70px, 30px);
// Thumbnails // Thumbnails
.thumbnails { .thumbnails {

View File

@ -3,8 +3,8 @@
// ------------------------------------------------------------------------------------------- // -------------------------------------------------------------------------------------------
// STRUCTURAL LAYOUT // Body reset
// ----------------- // ----------
body { body {
margin: 0; margin: 0;
@ -16,7 +16,7 @@ body {
} }
// LINKS // Links
// ----- // -----
a { a {

View File

@ -11,7 +11,7 @@
// and background-position. Your resulting HTML will look like // and background-position. Your resulting HTML will look like
// <i class="icon-inbox"></i>. // <i class="icon-inbox"></i>.
// For the white version of the icons, just add the .icon-white class: // For the white version of the icons, just add the .icon-white class:
// <i class="icon-inbox icon-white"></i> // <i class="icon-inbox icon-white"></i>
[class^="icon-"], [class^="icon-"],
@ -21,14 +21,14 @@
height: 14px; height: 14px;
line-height: 14px; line-height: 14px;
vertical-align: text-top; vertical-align: text-top;
background-image: url(@iconSpritePath); background-image: url("@{iconSpritePath}");
background-position: 14px 14px; background-position: 14px 14px;
background-repeat: no-repeat; background-repeat: no-repeat;
.ie7-restore-right-whitespace(); .ie7-restore-right-whitespace();
} }
.icon-white { .icon-white {
background-image: url(@iconWhiteSpritePath); background-image: url("@{iconWhiteSpritePath}");
} }
.icon-glass { background-position: 0 0; } .icon-glass { background-position: 0 0; }

View File

@ -64,13 +64,12 @@ table {
.table-bordered { .table-bordered {
border: 1px solid #ddd; border: 1px solid #ddd;
border-left: 0;
border-collapse: separate; // Done so we can round those corners! border-collapse: separate; // Done so we can round those corners!
*border-collapse: collapsed; // IE7 can't round corners anyway *border-collapse: collapsed; // IE7 can't round corners anyway
.border-radius(4px); .border-radius(4px);
th + th, th,
td + td, td {
th + td,
td + th {
border-left: 1px solid #ddd; border-left: 1px solid #ddd;
} }
// Prevent a double border // Prevent a double border
@ -78,6 +77,7 @@ table {
tbody:first-child tr:first-child th, tbody:first-child tr:first-child th,
tbody:first-child tr:first-child td { tbody:first-child tr:first-child td {
border-top: 0; border-top: 0;
border-bottom: 1px solid #ddd;
} }
// For first th or td in the first row in the first thead or tbody // For first th or td in the first row in the first thead or tbody
thead:first-child tr:first-child th:first-child, thead:first-child tr:first-child th:first-child,
@ -129,11 +129,6 @@ table {
// ----------------- // -----------------
// Change the columns // Change the columns
.tableColumns(@columnSpan: 1) {
float: none;
width: ((@gridColumnWidth) * @columnSpan) + (@gridGutterWidth * (@columnSpan - 1)) - 16;
margin-left: 0;
}
table { table {
.span1 { .tableColumns(1); } .span1 { .tableColumns(1); }
.span2 { .tableColumns(2); } .span2 { .tableColumns(2); }
@ -147,4 +142,16 @@ table {
.span10 { .tableColumns(10); } .span10 { .tableColumns(10); }
.span11 { .tableColumns(11); } .span11 { .tableColumns(11); }
.span12 { .tableColumns(12); } .span12 { .tableColumns(12); }
.span13 { .tableColumns(13); }
.span14 { .tableColumns(14); }
.span15 { .tableColumns(15); }
.span16 { .tableColumns(16); }
.span17 { .tableColumns(17); }
.span18 { .tableColumns(18); }
.span19 { .tableColumns(19); }
.span20 { .tableColumns(20); }
.span21 { .tableColumns(21); }
.span22 { .tableColumns(22); }
.span23 { .tableColumns(23); }
.span24 { .tableColumns(24); }
} }

View File

@ -154,12 +154,14 @@ em {
} }
// Abbreviations and acronyms // Abbreviations and acronyms
abbr { abbr[title] {
font-size: 90%;
text-transform: uppercase;
border-bottom: 1px dotted #ddd; border-bottom: 1px dotted #ddd;
cursor: help; cursor: help;
} }
abbr.initialism {
font-size: 90%;
text-transform: uppercase;
}
// Blockquotes // Blockquotes
blockquote { blockquote {