aboutsummaryrefslogtreecommitdiff
path: root/less
diff options
context:
space:
mode:
authorMark Otto <[email protected]>2012-09-25 22:00:41 -0700
committerMark Otto <[email protected]>2012-09-25 22:00:41 -0700
commitce19e63d5b068ba0698dee4e2d99c725f6799b0d (patch)
treebda8377cdc83204780bdf624833725a127ded586 /less
parent527d01ce99a0cae8eae7868c0649dca60cda338c (diff)
parentf4d3d7da2e3ddbd751e053729935df1f3dd4c051 (diff)
downloadbootstrap-ce19e63d5b068ba0698dee4e2d99c725f6799b0d.tar.xz
bootstrap-ce19e63d5b068ba0698dee4e2d99c725f6799b0d.zip
Merge branch '2.1.2-wip' into box-sizing-exercise
Conflicts: docs/assets/css/bootstrap-responsive.css docs/assets/css/bootstrap.css docs/base-css.html docs/templates/pages/base-css.mustache less/forms.less less/mixins.less
Diffstat (limited to 'less')
-rw-r--r--less/bootstrap.less1
-rw-r--r--less/button-groups.less13
-rw-r--r--less/buttons.less25
-rw-r--r--less/forms.less53
-rw-r--r--less/media.less55
-rw-r--r--less/mixins.less20
-rw-r--r--less/modals.less1
-rw-r--r--less/navbar.less10
-rw-r--r--less/navs.less2
-rw-r--r--less/pagination.less79
-rw-r--r--less/popovers.less4
-rw-r--r--less/progress-bars.less2
-rw-r--r--less/reset.less6
-rw-r--r--less/responsive-767px-max.less15
-rw-r--r--less/responsive-navbar.less4
-rw-r--r--less/tests/buttons.html139
-rw-r--r--less/tests/forms-responsive.html71
-rw-r--r--less/tests/navbar-fixed-top.html104
-rw-r--r--less/tests/navbar-static-top.html107
-rw-r--r--less/tests/navbar.html71
-rw-r--r--less/type.less52
-rw-r--r--less/variables.less24
22 files changed, 727 insertions, 131 deletions
diff --git a/less/bootstrap.less b/less/bootstrap.less
index 3055c5cc4..a09708173 100644
--- a/less/bootstrap.less
+++ b/less/bootstrap.less
@@ -52,6 +52,7 @@
// Components: Misc
@import "thumbnails.less";
+@import "media.less";
@import "labels-badges.less";
@import "progress-bars.less";
@import "accordion.less";
diff --git a/less/button-groups.less b/less/button-groups.less
index 62e53f373..46837e628 100644
--- a/less/button-groups.less
+++ b/less/button-groups.less
@@ -6,6 +6,8 @@
// Make the div behave like a button
.btn-group {
position: relative;
+ display: inline-block;
+ .ie7-inline-block();
font-size: 0; // remove as part 1 of font-size inline-block hack
vertical-align: middle; // match .btn alignment given font-size hack above
white-space: nowrap; // prevent buttons from wrapping when in tight spaces (e.g., the table on the tests page)
@@ -22,10 +24,6 @@
font-size: 0; // Hack to remove whitespace that results from using inline-block
margin-top: @baseLineHeight / 2;
margin-bottom: @baseLineHeight / 2;
- .btn-group {
- display: inline-block;
- .ie7-inline-block();
- }
.btn + .btn,
.btn-group + .btn,
.btn + .btn-group {
@@ -120,7 +118,7 @@
.btn-group > .btn + .dropdown-toggle {
padding-left: 8px;
padding-right: 8px;
- .box-shadow(inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05));
+ .box-shadow(~"inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05)");
*padding-top: 5px;
*padding-bottom: 5px;
}
@@ -147,7 +145,7 @@
// Remove the gradient and set the same inset shadow as the :active state
.dropdown-toggle {
background-image: none;
- .box-shadow(inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05));
+ .box-shadow(~"inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05)");
}
// Keep the hover's background when dropdown is open
@@ -193,8 +191,7 @@
}
// Upside down carets for .dropup
.dropup .btn-large .caret {
- border-bottom: 5px solid @black;
- border-top: 0;
+ border-bottom-width: 5px;
}
diff --git a/less/buttons.less b/less/buttons.less
index 3fd1e95f5..223d7439b 100644
--- a/less/buttons.less
+++ b/less/buttons.less
@@ -10,7 +10,7 @@
.btn {
display: inline-block;
.ie7-inline-block();
- padding: 4px 14px;
+ padding: 4px 12px;
margin-bottom: 0; // For input.btn
font-size: @baseFontSize;
line-height: @baseLineHeight;
@@ -24,7 +24,7 @@
border-bottom-color: darken(@btnBorder, 10%);
.border-radius(4px);
.ie7-restore-left-whitespace(); // Give IE7 some love
- .box-shadow(inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05));
+ .box-shadow(~"inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05)");
// Hover state
&:hover {
@@ -51,7 +51,7 @@
background-color: darken(@white, 15%) e("\9");
background-image: none;
outline: 0;
- .box-shadow(inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05));
+ .box-shadow(~"inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05)");
}
// Disabled state
@@ -73,10 +73,9 @@
// Large
.btn-large {
- padding: 9px 14px;
- font-size: @baseFontSize + 2px;
- line-height: normal;
- .border-radius(5px);
+ padding: @paddingLarge;
+ font-size: @fontSizeLarge;
+ .border-radius(@borderRadiusLarge);
}
.btn-large [class^="icon-"] {
margin-top: 2px;
@@ -84,9 +83,9 @@
// Small
.btn-small {
- padding: 3px 9px;
- font-size: @baseFontSize - 2px;
- line-height: @baseLineHeight - 2px;
+ padding: @paddingSmall;
+ font-size: @fontSizeSmall;
+ .border-radius(@borderRadiusSmall);
}
.btn-small [class^="icon-"] {
margin-top: 0;
@@ -94,9 +93,9 @@
// Mini
.btn-mini {
- padding: 2px 6px;
- font-size: @baseFontSize - 3px;
- line-height: @baseLineHeight - 3px;
+ padding: @paddingMini;
+ font-size: @fontSizeMini;
+ .border-radius(@borderRadiusSmall);
}
diff --git a/less/forms.less b/less/forms.less
index 0e656cc1d..d10d704b1 100644
--- a/less/forms.less
+++ b/less/forms.less
@@ -86,6 +86,7 @@ input[type="color"],
line-height: @baseLineHeight;
color: @gray;
.border-radius(@inputBorderRadius);
+ vertical-align: middle;
}
// Reset appearance properties for textual inputs and textarea
@@ -126,7 +127,7 @@ input[type="color"],
border-color: rgba(82,168,236,.8);
outline: 0;
outline: thin dotted \9; /* IE6-9 */
- .box-shadow(inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6));
+ .box-shadow(~"inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6)");
}
}
@@ -154,9 +155,9 @@ input[type="checkbox"] {
// Set the height of select and file controls to match text inputs
select,
input[type="file"] {
- height: 30px; /* In IE7, the height of the select element cannot be changed by height, only font-size */
+ height: @inputHeight; /* In IE7, the height of the select element cannot be changed by height, only font-size */
*margin-top: 4px; /* For IE7, add top margin to align select with labels */
- line-height: 30px;
+ line-height: @inputHeight;
}
// Make select elements obey height by applying a border
@@ -210,7 +211,7 @@ input[type="checkbox"]:focus {
// Placeholder
// -------------------------
-// Placeholder text gets special styles because when browsers invalidate entire lines if it doesn’t understand a selector
+// Placeholder text gets special styles because when browsers invalidate entire lines if it doesn't understand a selector
input,
textarea {
.placeholder();
@@ -223,13 +224,13 @@ textarea {
// Indent the labels to position radios/checkboxes as hanging
.radio,
.checkbox {
- min-height: 18px; // clear the floating input if there is no label text
- padding-left: 18px;
+ min-height: @baseLineHeight; // clear the floating input if there is no label text
+ padding-left: 20px;
}
.radio input[type="radio"],
.checkbox input[type="checkbox"] {
float: left;
- margin-left: -18px;
+ margin-left: -20px;
}
// Move the options list down to align with labels
@@ -302,8 +303,12 @@ textarea[class*="span"],
.controls-row {
.clearfix(); // Clear the float from controls
}
-.controls-row [class*="span"] {
- float: left; // Float to collapse white-space for proper grid alignment
+
+// Float to collapse white-space for proper grid alignment
+.controls-row [class*="span"],
+// Redeclare the fluid grid collapse since we undo the float for inputs
+.row-fluid .controls-row [class*="span"] {
+ float: left;
}
@@ -362,7 +367,8 @@ select:focus:required:invalid {
border-color: #ee5f5b;
&:focus {
border-color: darken(#ee5f5b, 10%);
- .box-shadow(0 0 6px lighten(#ee5f5b, 20%));
+ @shadow: 0 0 6px lighten(#ee5f5b, 20%);
+ .box-shadow(@shadow);
}
}
@@ -411,9 +417,17 @@ select:focus:required:invalid {
.input-append,
.input-prepend {
margin-bottom: 5px;
- font-size: 0;
+ font-size: 0; // white space collapse hack
white-space: nowrap; // Prevent span and input from separating
+ // Reset the white space collapse hack
+ input,
+ select,
+ .uneditable-input,
+ .dropdown-menu {
+ font-size: @baseFontSize;
+ }
+
input,
select,
.uneditable-input {
@@ -457,6 +471,7 @@ select:focus:required:invalid {
border-color: @green;
}
}
+
.input-prepend {
.add-on,
.btn {
@@ -464,17 +479,23 @@ select:focus:required:invalid {
}
.add-on:first-child,
.btn:first-child {
+ // FYI, `.btn:first-child` accounts for a button group that's prepended
.border-radius(@inputBorderRadius 0 0 @inputBorderRadius);
}
}
+
.input-append {
input,
select,
.uneditable-input {
.border-radius(@inputBorderRadius 0 0 @inputBorderRadius);
+ + .btn-group .btn {
+ .border-radius(0 @inputBorderRadius @inputBorderRadius 0);
+ }
}
.add-on,
- .btn {
+ .btn,
+ .btn-group {
margin-left: -1px;
}
.add-on:last-child,
@@ -482,12 +503,16 @@ select:focus:required:invalid {
.border-radius(0 @inputBorderRadius @inputBorderRadius 0);
}
}
+
// Remove all border-radius for inputs with both prepend and append
.input-prepend.input-append {
input,
select,
.uneditable-input {
.border-radius(0);
+ + .btn-group .btn {
+ .border-radius(0 @inputBorderRadius @inputBorderRadius 0);
+ }
}
.add-on:first-child,
.btn:first-child {
@@ -499,10 +524,14 @@ select:focus:required:invalid {
margin-left: -1px;
.border-radius(0 @inputBorderRadius @inputBorderRadius 0);
}
+ .btn-group:first-child {
+ margin-left: 0;
+ }
}
+
// SEARCH FORM
// -----------
diff --git a/less/media.less b/less/media.less
new file mode 100644
index 000000000..1decab71d
--- /dev/null
+++ b/less/media.less
@@ -0,0 +1,55 @@
+// Media objects
+// Source: http://stubbornella.org/content/?p=497
+// --------------------------------------------------
+
+
+// Common styles
+// -------------------------
+
+// Clear the floats
+.media,
+.media-body {
+ overflow: hidden;
+ *overflow: visible;
+ zoom: 1;
+}
+
+// Proper spacing between instances of .media
+.media,
+.media .media {
+ margin-top: 15px;
+}
+.media:first-child {
+ margin-top: 0;
+}
+
+// For images and videos, set to block
+.media-object {
+ display: block;
+}
+
+// Reset margins on headings for tighter default spacing
+.media-heading {
+ margin: 0 0 5px;
+}
+
+
+// Media image alignment
+// -------------------------
+
+.media .pull-left {
+ margin-right: 10px;
+}
+.media .pull-right {
+ margin-left: 10px;
+}
+
+
+// Media list variation
+// -------------------------
+
+// Undo default ul/ol styles
+.media-list {
+ margin-left: 0;
+ list-style: none;
+}
diff --git a/less/mixins.less b/less/mixins.less
index 8bf338c29..03ed7239e 100644
--- a/less/mixins.less
+++ b/less/mixins.less
@@ -154,7 +154,7 @@
.input-block-level {
display: block;
width: 100%;
- min-height: 30px; // Make inputs at least the height of their button counterpart
+ min-height: @inputHeight; // Make inputs at least the height of their button counterpart (base line-height + padding + border)
.box-sizing(border-box); // Makes inputs behave like true block-level elements
}
@@ -183,7 +183,8 @@
.box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); // Redeclare so transitions work
&:focus {
border-color: darken(@borderColor, 10%);
- .box-shadow(inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten(@borderColor, 20%));
+ @shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten(@borderColor, 20%);
+ .box-shadow(@shadow);
}
}
// Give a small background color for input-prepend/-append
@@ -248,12 +249,10 @@
}
// Drop shadows
-.box-shadow(@shadowA, @shadowB:X, ...){
- // Multiple shadow solution from http://toekneestuck.com/blog/2012/05/15/less-css-arguments-variable/
- @props: ~`"@{arguments}".replace(/[\[\]]|\,\sX/g, '')`;
- -webkit-box-shadow: @props;
- -moz-box-shadow: @props;
- box-shadow: @props;
+.box-shadow(@shadow) {
+ -webkit-box-shadow: @shadow;
+ -moz-box-shadow: @shadow;
+ box-shadow: @shadow;
}
// Transitions
@@ -325,7 +324,7 @@
}
// Background sizing
-.background-size(@size){
+.background-size(@size) {
-webkit-background-size: @size;
-moz-background-size: @size;
-o-background-size: @size;
@@ -447,7 +446,7 @@
background-repeat: no-repeat;
filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",argb(@startColor),argb(@endColor))); // IE9 and down, gets no color-stop at all for proper fallback
}
- .radial(@innerColor: #555, @outerColor: #333) {
+ .radial(@innerColor: #555, @outerColor: #333) {
background-color: @outerColor;
background-image: -webkit-gradient(radial, center center, 0, center center, 460, from(@innerColor), to(@outerColor));
background-image: -webkit-radial-gradient(circle, @innerColor, @outerColor);
@@ -618,7 +617,6 @@
}
.offsetX(0) {}
-
.span(@columns) {
// Part 1: Since inputs require padding *and* margin, we subtract the grid gutter width, as a percent of the row, from the default column width.
width: percentage(@columns / @gridColumns) - percentage(@gridGutterWidth / @gridRowWidth);
diff --git a/less/modals.less b/less/modals.less
index a0401c4d1..5f7b43ef6 100644
--- a/less/modals.less
+++ b/less/modals.less
@@ -36,7 +36,6 @@
top: 50%;
left: 50%;
z-index: @zindexModal;
- overflow: auto;
width: 560px;
margin: -250px 0 0 -280px;
background-color: @white;
diff --git a/less/navbar.less b/less/navbar.less
index 3514c40e0..58621b473 100644
--- a/less/navbar.less
+++ b/less/navbar.less
@@ -41,6 +41,7 @@
// Override the default collapsed state
.nav-collapse.collapse {
height: auto;
+ overflow: visible;
}
@@ -152,7 +153,6 @@
.navbar-static-top {
position: static;
- width: 100%;
margin-bottom: 0; // remove 18px margin for default navbar
.navbar-inner {
.border-radius(0);
@@ -202,7 +202,7 @@
.navbar-fixed-top,
.navbar-static-top {
.navbar-inner {
- .box-shadow(inset 0 -1px 0 rgba(0,0,0,.1), 0 1px 10px rgba(0,0,0,.1));
+ .box-shadow(~"inset 0 -1px 0 rgba(0,0,0,.1), 0 1px 10px rgba(0,0,0,.1)");
}
}
@@ -210,7 +210,7 @@
.navbar-fixed-bottom {
bottom: 0;
.navbar-inner {
- .box-shadow(inset 0 1px 0 rgba(0,0,0,.1), 0 -1px 10px rgba(0,0,0,.1));
+ .box-shadow(~"inset 0 1px 0 rgba(0,0,0,.1), 0 -1px 10px rgba(0,0,0,.1)");
}
}
@@ -274,7 +274,7 @@
margin-left: 5px;
margin-right: 5px;
.buttonBackground(darken(@navbarBackgroundHighlight, 5%), darken(@navbarBackground, 5%));
- .box-shadow(inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075));
+ .box-shadow(~"inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075)");
}
.navbar .btn-navbar .icon-bar {
display: block;
@@ -446,7 +446,7 @@
color: @white;
background-color: @navbarInverseSearchBackground;
border-color: @navbarInverseSearchBorder;
- .box-shadow(inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.15));
+ .box-shadow(~"inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.15)");
.transition(none);
.placeholder(@navbarInverseSearchPlaceholderColor);
diff --git a/less/navs.less b/less/navs.less
index 4c38f7dbf..0836cd512 100644
--- a/less/navs.less
+++ b/less/navs.less
@@ -123,7 +123,7 @@
.nav-tabs > .active > a,
.nav-tabs > .active > a:hover {
color: @gray;
- background-color: @white;
+ background-color: @bodyBackground;
border: 1px solid #ddd;
border-bottom-color: transparent;
cursor: default;
diff --git a/less/pagination.less b/less/pagination.less
index 61a760be5..88065aa22 100644
--- a/less/pagination.less
+++ b/less/pagination.less
@@ -2,27 +2,30 @@
// Pagination (multiple pages)
// --------------------------------------------------
-
+// Space out pagination from surrounding content
.pagination {
- height: @baseLineHeight * 2;
margin: @baseLineHeight 0;
- }
+}
+
.pagination ul {
+ // Allow for text-based alignment
display: inline-block;
.ie7-inline-block();
+ // Reset default ul styles
margin-left: 0;
margin-bottom: 0;
- .border-radius(3px);
+ // Visuals
+ .border-radius(@baseBorderRadius);
.box-shadow(0 1px 2px rgba(0,0,0,.05));
}
.pagination ul > li {
- display: inline;
+ display: inline; // Remove list-style and block-level defaults
}
.pagination ul > li > a,
.pagination ul > li > span {
- float: left;
- padding: 0 14px;
- line-height: (@baseLineHeight * 2) - 2;
+ float: left; // Collapse white-space
+ padding: 4px 12px;
+ line-height: @baseLineHeight;
text-decoration: none;
background-color: @paginationBackground;
border: 1px solid @paginationBorder;
@@ -48,17 +51,71 @@
.pagination ul > li:first-child > a,
.pagination ul > li:first-child > span {
border-left-width: 1px;
- .border-radius(3px 0 0 3px);
+ .border-left-radius(@baseBorderRadius);
}
.pagination ul > li:last-child > a,
.pagination ul > li:last-child > span {
- .border-radius(0 3px 3px 0);
+ .border-right-radius(@baseBorderRadius);
}
-// Centered
+
+// Alignment
+// --------------------------------------------------
+
.pagination-centered {
text-align: center;
}
.pagination-right {
text-align: right;
}
+
+
+// Sizing
+// --------------------------------------------------
+
+// Large
+.pagination-large {
+ ul > li > a,
+ ul > li > span {
+ padding: @paddingLarge;
+ font-size: @fontSizeLarge;
+ }
+ ul > li:first-child > a,
+ ul > li:first-child > span {
+ .border-left-radius(@borderRadiusLarge);
+ }
+ ul > li:last-child > a,
+ ul > li:last-child > span {
+ .border-right-radius(@borderRadiusLarge);
+ }
+}
+
+// Small and mini
+.pagination-mini,
+.pagination-small {
+ ul > li:first-child > a,
+ ul > li:first-child > span {
+ .border-left-radius(@borderRadiusSmall);
+ }
+ ul > li:last-child > a,
+ ul > li:last-child > span {
+ .border-right-radius(@borderRadiusSmall);
+ }
+}
+
+// Small
+.pagination-small {
+ ul > li > a,
+ ul > li > span {
+ padding: @paddingSmall;
+ font-size: @fontSizeSmall;
+ }
+}
+// Mini
+.pagination-mini {
+ ul > li > a,
+ ul > li > span {
+ padding: @paddingMini;
+ font-size: @fontSizeMini;
+ }
+}
diff --git a/less/popovers.less b/less/popovers.less
index 2b3f1b059..a4c4bb0e0 100644
--- a/less/popovers.less
+++ b/less/popovers.less
@@ -21,10 +21,10 @@
.box-shadow(0 5px 10px rgba(0,0,0,.2));
// Offset the popover to account for the popover arrow
- &.top { margin-bottom: 10px; }
+ &.top { margin-top: -10px; }
&.right { margin-left: 10px; }
&.bottom { margin-top: 10px; }
- &.left { margin-right: 10px; }
+ &.left { margin-left: -10px; }
}
diff --git a/less/progress-bars.less b/less/progress-bars.less
index 0486371aa..36744d89c 100644
--- a/less/progress-bars.less
+++ b/less/progress-bars.less
@@ -66,7 +66,7 @@
.transition(width .6s ease);
}
.progress .bar + .bar {
- .box-shadow(inset 1px 0 0 rgba(0,0,0,.15), inset 0 -1px 0 rgba(0,0,0,.15));
+ .box-shadow(~"inset 1px 0 0 rgba(0,0,0,.15), inset 0 -1px 0 rgba(0,0,0,.15)");
}
// Striped bars
diff --git a/less/reset.less b/less/reset.less
index 2901a85c8..ed3fecf41 100644
--- a/less/reset.less
+++ b/less/reset.less
@@ -115,11 +115,11 @@ input::-moz-focus-inner { // Inner padding and border oddities in FF3/4
border: 0;
}
button,
-input[type="button"],
+html input[type="button"], // Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls.
input[type="reset"],
input[type="submit"] {
- cursor: pointer; // Cursors on all buttons applied consistently
- -webkit-appearance: button; // Style clickable inputs in iOS
+ -webkit-appearance: button; // Corrects inability to style clickable `input` types in iOS.
+ cursor: pointer; // Improves usability and consistency of cursor style between image-type `input` and others.
}
input[type="search"] { // Appearance in Safari/Chrome
-webkit-box-sizing: content-box;
diff --git a/less/responsive-767px-max.less b/less/responsive-767px-max.less
index 6e4261047..45ce4ebc7 100644
--- a/less/responsive-767px-max.less
+++ b/less/responsive-767px-max.less
@@ -58,6 +58,7 @@
}
// Make all grid-sized elements block level again
[class*="span"],
+ .uneditable-input[class*="span"], // Makes uneditable inputs full-width when using grid sizing
.row-fluid [class*="span"] {
float: none;
display: block;
@@ -158,6 +159,20 @@
}
}
+ // Medias
+ // Reset float and spacing to stack
+ .media .pull-left,
+ .media .pull-right {
+ float: none;
+ display: block;
+ margin-bottom: 10px;
+ }
+ // Remove side margins since we stack instead of indent
+ .media-object {
+ margin-right: 0;
+ margin-left: 0;
+ }
+
// Modals
.modal {
top: 10px;
diff --git a/less/responsive-navbar.less b/less/responsive-navbar.less
index c454dd5e3..9cc6e258e 100644
--- a/less/responsive-navbar.less
+++ b/less/responsive-navbar.less
@@ -129,7 +129,7 @@
margin: (@baseLineHeight / 2) 0;
border-top: 1px solid @navbarBackground;
border-bottom: 1px solid @navbarBackground;
- .box-shadow(inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1));
+ .box-shadow(~"inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1)");
}
.navbar-inverse .nav-collapse .navbar-form,
.navbar-inverse .nav-collapse .navbar-search {
@@ -166,7 +166,7 @@
// DEFAULT DESKTOP
// ---------------
-@media (min-width: 980px) {
+@media (min-width: @navbarCollapseDesktopWidth) {
// Required to make the collapsing navbar work on regular desktops
.nav-collapse.collapse {
diff --git a/less/tests/buttons.html b/less/tests/buttons.html
new file mode 100644
index 000000000..5fe7f664b
--- /dev/null
+++ b/less/tests/buttons.html
@@ -0,0 +1,139 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Buttons &middot; Bootstrap</title>
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="description" content="">
+ <meta name="author" content="">
+
+ <!-- Le styles -->
+ <link href="../../docs/assets/css/bootstrap.css" rel="stylesheet">
+ <style>
+ body {
+ padding-top: 30px;
+ padding-bottom: 30px;
+ }
+ </style>
+ <link href="../../docs/assets/css/bootstrap-responsive.css" rel="stylesheet">
+
+ <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
+ <!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+ <![endif]-->
+
+ <!-- Le fav and touch icons -->
+ <link rel="shortcut icon" href="../../docs/assets/ico/favicon.ico">
+ <link rel="apple-touch-icon-precomposed" sizes="144x144" href="../../docs/assets/ico/apple-touch-icon-144-precomposed.png">
+ <link rel="apple-touch-icon-precomposed" sizes="114x114" href="../../docs/assets/ico/apple-touch-icon-114-precomposed.png">
+ <link rel="apple-touch-icon-precomposed" sizes="72x72" href="../../docs/assets/ico/apple-touch-icon-72-precomposed.png">
+ <link rel="apple-touch-icon-precomposed" href="../../docs/assets/ico/apple-touch-icon-57-precomposed.png">
+ </head>
+
+ <body>
+
+ <div class="container">
+
+ <h2>Dropups</h2>
+ <div class="btn-toolbar">
+ <div class="btn-group dropup">
+ <button class="btn">Dropup</button>
+ <button class="btn dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></button>
+ <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">
+ <button class="btn btn-primary">Dropup</button>
+ <button class="btn btn-primary dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></button>
+ <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">
+ <button class="btn btn-danger">Dropup</button>
+ <button class="btn btn-danger dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></button>
+ <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">
+ <button class="btn btn-warning">Dropup</button>
+ <button class="btn btn-warning dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></button>
+ <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">
+ <button class="btn btn-success">Dropup</button>
+ <button class="btn btn-success dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></button>
+ <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">
+ <button class="btn btn-info">Dropup</button>
+ <button class="btn btn-info dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></button>
+ <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">
+ <button class="btn btn-inverse">Dropup</button>
+ <button class="btn btn-inverse dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></button>
+ <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> <!-- /container -->
+
+ <!-- Le javascript
+ ================================================== -->
+ <!-- Placed at the end of the document so the pages load faster -->
+ <script src="../../docs/assets/js/jquery.js"></script>
+ <script src="../../docs/assets/js/bootstrap-transition.js"></script>
+ <script src="../../docs/assets/js/bootstrap-alert.js"></script>
+ <script src="../../docs/assets/js/bootstrap-modal.js"></script>
+ <script src="../../docs/assets/js/bootstrap-dropdown.js"></script>
+ <script src="../../docs/assets/js/bootstrap-scrollspy.js"></script>
+ <script src="../../docs/assets/js/bootstrap-tab.js"></script>
+ <script src="../../docs/assets/js/bootstrap-tooltip.js"></script>
+ <script src="../../docs/assets/js/bootstrap-popover.js"></script>
+ <script src="../../docs/assets/js/bootstrap-button.js"></script>
+ <script src="../../docs/assets/js/bootstrap-collapse.js"></script>
+ <script src="../../docs/assets/js/bootstrap-carousel.js"></script>
+ <script src="../../docs/assets/js/bootstrap-typeahead.js"></script>
+
+ </body>
+</html>
diff --git a/less/tests/forms-responsive.html b/less/tests/forms-responsive.html
new file mode 100644
index 000000000..846d5b43d
--- /dev/null
+++ b/less/tests/forms-responsive.html
@@ -0,0 +1,71 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Bootstrap, from Twitter</title>
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="description" content="">
+ <meta name="author" content="">
+
+ <!-- Le styles -->
+ <link href="../../docs/assets/css/bootstrap.css" rel="stylesheet">
+ <link href="../../docs/assets/css/bootstrap-responsive.css" rel="stylesheet">
+ <style>
+ body {
+ padding-top: 30px;
+ padding-bottom: 30px;
+ }
+ </style>
+
+ <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
+ <!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+ <![endif]-->
+
+ <!-- Le fav and touch icons -->
+ <link rel="shortcut icon" href="../../docs/assets/ico/favicon.ico">
+ <link rel="apple-touch-icon-precomposed" sizes="144x144" href="../../docs/assets/ico/apple-touch-icon-144-precomposed.png">
+ <link rel="apple-touch-icon-precomposed" sizes="114x114" href="../../docs/assets/ico/apple-touch-icon-114-precomposed.png">
+ <link rel="apple-touch-icon-precomposed" sizes="72x72" href="../../docs/assets/ico/apple-touch-icon-72-precomposed.png">
+ <link rel="apple-touch-icon-precomposed" href="../../docs/assets/ico/apple-touch-icon-57-precomposed.png">
+ </head>
+
+ <body>
+
+ <form class="container">
+
+ <div class="page-header">
+ <h1>Fixed grid</h1>
+ </div>
+
+ <h3>Vertical alignment</h3>
+ <input type="text" class="span2" placeholder="span2">
+ <select class="span2"><option>span2</option></select>
+ <span class="uneditable-input span2">span1</span>
+
+ <h3>Width across elements</h3>
+ <div>
+ <input type="text" class="span2" placeholder="span2">
+ </div>
+ <div>
+ <select class="span2"><option>span2</option></select>
+ </div>
+ <div>
+ <span class="uneditable-input span2">span2</span>
+ </div>
+
+
+ <div class="page-header">
+ <h1>Fluid grid</h1>
+ </div>
+
+ <div class="row-fluid">
+ <input type="text" class="span2" placeholder="span2">
+ <select class="span2"><option>span2</option></select>
+ <span class="uneditable-input span2">span1</span>
+ </div>
+
+ </form> <!-- /container -->
+
+ </body>
+</html>
diff --git a/less/tests/navbar-fixed-top.html b/less/tests/navbar-fixed-top.html
new file mode 100644
index 000000000..97b86fdef
--- /dev/null
+++ b/less/tests/navbar-fixed-top.html
@@ -0,0 +1,104 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Bootstrap, from Twitter</title>
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="description" content="">
+ <meta name="author" content="">
+
+ <!-- Le styles -->
+ <link href="../../docs/assets/css/bootstrap.css" rel="stylesheet">
+ <style>
+ body {
+ padding-top: 60px;
+ padding-bottom: 30px;
+ }
+ </style>
+ <link href="../../docs/assets/css/bootstrap-responsive.css" rel="stylesheet">
+
+ <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
+ <!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+ <![endif]-->
+
+ <!-- Le fav and touch icons -->
+ <link rel="shortcut icon" href="../../docs/assets/ico/favicon.ico">
+ <link rel="apple-touch-icon-precomposed" sizes="144x144" href="../../docs/assets/ico/apple-touch-icon-144-precomposed.png">
+ <link rel="apple-touch-icon-precomposed" sizes="114x114" href="../../docs/assets/ico/apple-touch-icon-114-precomposed.png">
+ <link rel="apple-touch-icon-precomposed" sizes="72x72" href="../../docs/assets/ico/apple-touch-icon-72-precomposed.png">
+ <link rel="apple-touch-icon-precomposed" href="../../docs/assets/ico/apple-touch-icon-57-precomposed.png">
+ </head>
+
+ <body>
+
+ <!-- Fixed navbar -->
+ <div class="navbar navbar-fixed-top">
+ <div class="navbar-inner">
+ <div class="container">
+ <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>
+ </a>
+ <a class="brand" href="#">Project name</a>
+ <div class="nav-collapse collapse">
+ <ul class="nav">
+ <li class="active"><a href="#">Home</a></li>
+ <li><a href="#about">About</a></li>
+ <li><a href="#contact">Contact</a></li>
+ <li class="dropdown">
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></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 class="nav-header">Nav header</li>
+ <li><a href="#">Separated link</a></li>
+ <li><a href="#">One more separated link</a></li>
+ </ul>
+ </li>
+ </ul>
+ <ul class="nav pull-right">
+ <li><a href="./navbar.html">Default</a></li>
+ <li><a href="./navbar-static-top.html">Static top</a></li>
+ <li class="active"><a href="./navbar-fixed-top.html">Fixed top</a></li>
+ </ul>
+ </div><!--/.nav-collapse -->
+ </div>
+ </div>
+ </div>
+
+ <div class="container">
+
+ <!-- Main hero unit for a primary marketing message or call to action -->
+ <div class="hero-unit">
+ <h1>Navbar example</h1>
+ <p>This example is a quick exercise to illustrate how the default, static navbar and fixed to top navbar work. It includes the responsive CSS and HTML, so it also adapts to your viewport and device.</p>
+ <p>
+ <a class="btn btn-large btn-primary" href="../components.html#navbar">View navbar docs &raquo;</a>
+ </p>
+ </div>
+
+ </div> <!-- /container -->
+
+ <!-- Le javascript
+ ================================================== -->
+ <!-- Placed at the end of the document so the pages load faster -->
+ <script src="../../docs/assets/js/jquery.js"></script>
+ <script src="../../docs/assets/js/bootstrap-transition.js"></script>
+ <script src="../../docs/assets/js/bootstrap-alert.js"></script>
+ <script src="../../docs/assets/js/bootstrap-modal.js"></script>
+ <script src="../../docs/assets/js/bootstrap-dropdown.js"></script>
+ <script src="../../docs/assets/js/bootstrap-scrollspy.js"></script>
+ <script src="../../docs/assets/js/bootstrap-tab.js"></script>
+ <script src="../../docs/assets/js/bootstrap-tooltip.js"></script>
+ <script src="../../docs/assets/js/bootstrap-popover.js"></script>
+ <script src="../../docs/assets/js/bootstrap-button.js"></script>
+ <script src="../../docs/assets/js/bootstrap-collapse.js"></script>
+ <script src="../../docs/assets/js/bootstrap-carousel.js"></script>
+ <script src="../../docs/assets/js/bootstrap-typeahead.js"></script>
+
+ </body>
+</html>
diff --git a/less/tests/navbar-static-top.html b/less/tests/navbar-static-top.html
new file mode 100644
index 000000000..505ecb608
--- /dev/null
+++ b/less/tests/navbar-static-top.html
@@ -0,0 +1,107 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Bootstrap, from Twitter</title>
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="description" content="">
+ <meta name="author" content="">
+
+ <!-- Le styles -->
+ <link href="../../docs/assets/css/bootstrap.css" rel="stylesheet">
+ <style>
+ body {
+ padding-bottom: 30px;
+ }
+ .hero-unit {
+ margin-top: 20px;
+ }
+ </style>
+ <link href="../../docs/assets/css/bootstrap-responsive.css" rel="stylesheet">
+
+ <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
+ <!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+ <![endif]-->
+
+ <!-- Le fav and touch icons -->
+ <link rel="shortcut icon" href="../../docs/assets/ico/favicon.ico">
+ <link rel="apple-touch-icon-precomposed" sizes="144x144" href="../../docs/assets/ico/apple-touch-icon-144-precomposed.png">
+ <link rel="apple-touch-icon-precomposed" sizes="114x114" href="../../docs/assets/ico/apple-touch-icon-114-precomposed.png">
+ <link rel="apple-touch-icon-precomposed" sizes="72x72" href="../../docs/assets/ico/apple-touch-icon-72-precomposed.png">
+ <link rel="apple-touch-icon-precomposed" href="../../docs/assets/ico/apple-touch-icon-57-precomposed.png">
+ </head>
+
+ <body>
+
+ <!-- Static navbar -->
+ <div class="navbar navbar-static-top">
+ <div class="navbar-inner">
+ <div class="container">
+ <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>
+ </a>
+ <a class="brand" href="#">Project name</a>
+ <div class="nav-collapse collapse">
+ <ul class="nav">
+ <li class="active"><a href="#">Home</a></li>
+ <li><a href="#about">About</a></li>
+ <li><a href="#contact">Contact</a></li>
+ <li class="dropdown">
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></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 class="nav-header">Nav header</li>
+ <li><a href="#">Separated link</a></li>
+ <li><a href="#">One more separated link</a></li>
+ </ul>
+ </li>
+ </ul>
+ <ul class="nav pull-right">
+ <li><a href="./navbar.html">Default</a></li>
+ <li class="active"><a href="./navbar-static-top.html">Static top</a></li>
+ <li><a href="./navbar-fixed-top.html">Fixed top</a></li>
+ </ul>
+ </div><!--/.nav-collapse -->
+ </div>
+ </div>
+ </div>
+
+
+ <div class="container">
+
+ <!-- Main hero unit for a primary marketing message or call to action -->
+ <div class="hero-unit">
+ <h1>Navbar example</h1>
+ <p>This example is a quick exercise to illustrate how the default, static navbar and fixed to top navbar work. It includes the responsive CSS and HTML, so it also adapts to your viewport and device.</p>
+ <p>
+ <a class="btn btn-large btn-primary" href="../components.html#navbar">View navbar docs &raquo;</a>
+ </p>
+ </div>
+
+ </div> <!-- /container -->
+
+ <!-- Le javascript
+ ================================================== -->
+ <!-- Placed at the end of the document so the pages load faster -->
+ <script src="../../docs/assets/js/jquery.js"></script>
+ <script src="../../docs/assets/js/bootstrap-transition.js"></script>
+ <script src="../../docs/assets/js/bootstrap-alert.js"></script>
+ <script src="../../docs/assets/js/bootstrap-modal.js"></script>
+ <script src="../../docs/assets/js/bootstrap-dropdown.js"></script>
+ <script src="../../docs/assets/js/bootstrap-scrollspy.js"></script>
+ <script src="../../docs/assets/js/bootstrap-tab.js"></script>
+ <script src="../../docs/assets/js/bootstrap-tooltip.js"></script>
+ <script src="../../docs/assets/js/bootstrap-popover.js"></script>
+ <script src="../../docs/assets/js/bootstrap-button.js"></script>
+ <script src="../../docs/assets/js/bootstrap-collapse.js"></script>
+ <script src="../../docs/assets/js/bootstrap-carousel.js"></script>
+ <script src="../../docs/assets/js/bootstrap-typeahead.js"></script>
+
+ </body>
+</html>
diff --git a/less/tests/navbar.html b/less/tests/navbar.html
index 17754bf6e..c72da71a4 100644
--- a/less/tests/navbar.html
+++ b/less/tests/navbar.html
@@ -11,9 +11,12 @@
<link href="../../docs/assets/css/bootstrap.css" rel="stylesheet">
<style>
body {
- padding-top: 60px;
+ padding-top: 0;
padding-bottom: 30px;
}
+ .navbar {
+ margin-top: 20px;
+ }
</style>
<link href="../../docs/assets/css/bootstrap-responsive.css" rel="stylesheet">
@@ -32,27 +35,6 @@
<body>
- <!-- Fixed navbar -->
- <div class="navbar navbar-fixed-top">
- <div class="navbar-inner">
- <div class="container">
- <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>
- </a>
- <a class="brand" href="#">Project name</a>
- <div class="nav-collapse">
- <ul class="nav">
- <li class="active"><a href="#">Home</a></li>
- <li><a href="#about">About</a></li>
- <li><a href="#contact">Contact</a></li>
- </ul>
- </div><!--/.nav-collapse -->
- </div>
- </div>
- </div>
-
<div class="container">
<!-- Static navbar -->
@@ -65,11 +47,28 @@
<span class="icon-bar"></span>
</a>
<a class="brand" href="#">Project name</a>
- <div class="nav-collapse">
+ <div class="nav-collapse collapse">
<ul class="nav">
<li class="active"><a href="#">Home</a></li>
<li><a href="#about">About</a></li>
<li><a href="#contact">Contact</a></li>
+ <li class="dropdown">
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></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 class="nav-header">Nav header</li>
+ <li><a href="#">Separated link</a></li>
+ <li><a href="#">One more separated link</a></li>
+ </ul>
+ </li>
+ </ul>
+ <ul class="nav pull-right">
+ <li class="active"><a href="./navbar.html">Default</a></li>
+ <li><a href="./navbar-static-top.html">Static top</a></li>
+ <li><a href="./navbar-fixed-top.html">Fixed top</a></li>
</ul>
</div><!--/.nav-collapse -->
</div>
@@ -90,19 +89,19 @@
<!-- Le javascript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
- <script src="../assets/js/jquery.js"></script>
- <script src="../assets/js/bootstrap-transition.js"></script>
- <script src="../assets/js/bootstrap-alert.js"></script>
- <script src="../assets/js/bootstrap-modal.js"></script>
- <script src="../assets/js/bootstrap-dropdown.js"></script>
- <script src="../assets/js/bootstrap-scrollspy.js"></script>
- <script src="../assets/js/bootstrap-tab.js"></script>
- <script src="../assets/js/bootstrap-tooltip.js"></script>
- <script src="../assets/js/bootstrap-popover.js"></script>
- <script src="../assets/js/bootstrap-button.js"></script>
- <script src="../assets/js/bootstrap-collapse.js"></script>
- <script src="../assets/js/bootstrap-carousel.js"></script>
- <script src="../assets/js/bootstrap-typeahead.js"></script>
+ <script src="../../docs/assets/js/jquery.js"></script>
+ <script src="../../docs/assets/js/bootstrap-transition.js"></script>
+ <script src="../../docs/assets/js/bootstrap-alert.js"></script>
+ <script src="../../docs/assets/js/bootstrap-modal.js"></script>
+ <script src="../../docs/assets/js/bootstrap-dropdown.js"></script>
+ <script src="../../docs/assets/js/bootstrap-scrollspy.js"></script>
+ <script src="../../docs/assets/js/bootstrap-tab.js"></script>
+ <script src="../../docs/assets/js/bootstrap-tooltip.js"></script>
+ <script src="../../docs/assets/js/bootstrap-popover.js"></script>
+ <script src="../../docs/assets/js/bootstrap-button.js"></script>
+ <script src="../../docs/assets/js/bootstrap-collapse.js"></script>
+ <script src="../../docs/assets/js/bootstrap-carousel.js"></script>
+ <script src="../../docs/assets/js/bootstrap-typeahead.js"></script>
</body>
</html>
diff --git a/less/type.less b/less/type.less
index 2e0f386ee..2d913dde3 100644
--- a/less/type.less
+++ b/less/type.less
@@ -37,18 +37,17 @@ cite {
.muted {
color: @grayLight;
}
-.text-warning {
- color: @warningText;
-}
-.text-error {
- color: @errorText;
-}
-.text-info {
- color: @infoText;
-}
-.text-success {
- color: @successText;
-}
+.text-warning { color: @warningText; }
+a.text-warning:hover { color: darken(@warningText, 10%); }
+
+.text-error { color: @errorText; }
+a.text-error:hover { color: darken(@errorText, 10%); }
+
+.text-info { color: @infoText; }
+a.text-info:hover { color: darken(@infoText, 10%); }
+
+.text-success { color: @successText; }
+a.text-success:hover { color: darken(@successText, 10%); }
// Headings
@@ -58,7 +57,7 @@ h1, h2, h3, h4, h5, h6 {
margin: (@baseLineHeight / 2) 0;
font-family: @headingsFontFamily;
font-weight: @headingsFontWeight;
- line-height: 1;
+ line-height: @baseLineHeight;
color: @headingsColor;
text-rendering: optimizelegibility; // Fix the character spacing for headings
small {
@@ -67,17 +66,22 @@ h1, h2, h3, h4, h5, h6 {
color: @grayLight;
}
}
-h1 { font-size: 36px; line-height: 40px; }
-h2 { font-size: 30px; line-height: 40px; }
-h3 { font-size: 24px; line-height: 40px; }
-h4 { font-size: 18px; line-height: 20px; }
-h5 { font-size: 14px; line-height: 20px; }
-h6 { font-size: 12px; line-height: 20px; }
-
-h1 small { font-size: 24px; }
-h2 small { font-size: 18px; }
-h3 small { font-size: 14px; }
-h4 small { font-size: 14px; }
+
+h1,
+h2,
+h3 { line-height: @baseLineHeight * 2; }
+
+h1 { font-size: @baseFontSize * 2.75; } // ~38px
+h2 { font-size: @baseFontSize * 2.25; } // ~32px
+h3 { font-size: @baseFontSize * 1.75; } // ~24px
+h4 { font-size: @baseFontSize * 1.25; } // ~18px
+h5 { font-size: @baseFontSize; }
+h6 { font-size: @baseFontSize * 0.85; } // ~12px
+
+h1 small { font-size: @baseFontSize * 1.75; } // ~24px
+h2 small { font-size: @baseFontSize * 1.25; } // ~18px
+h3 small { font-size: @baseFontSize; }
+h4 small { font-size: @baseFontSize; }
// Page header
diff --git a/less/variables.less b/less/variables.less
index 82871de1a..f66d1bcc1 100644
--- a/less/variables.less
+++ b/less/variables.less
@@ -57,6 +57,24 @@
@headingsFontWeight: bold; // instead of browser default, bold
@headingsColor: inherit; // empty to use BS default, @textColor
+
+// Component sizing
+// -------------------------
+// Based on 14px font-size and 20px line-height
+
+@fontSizeLarge: @baseFontSize * 1.25; // ~18px
+@fontSizeSmall: @baseFontSize * 0.85; // ~12px
+@fontSizeMini: @baseFontSize * 0.75; // ~11px
+
+@paddingLarge: 11px 19px; // 44px
+@paddingSmall: 2px 10px; // 26px
+@paddingMini: 1px 6px; // 24px
+
+@baseBorderRadius: 4px;
+@borderRadiusLarge: 5px;
+@borderRadiusSmall: 3px;
+
+
// Tables
// -------------------------
@tableBackground: transparent; // overall background-color
@@ -93,9 +111,11 @@
// -------------------------
@inputBackground: @white;
@inputBorder: #ccc;
-@inputBorderRadius: 3px;
+@inputBorderRadius: @baseBorderRadius;
@inputDisabledBackground: @grayLighter;
@formActionsBackground: #f5f5f5;
+@inputHeight: @baseLineHeight + 10px; // base line-height + 8px vertical padding + 2px top/bottom border
+
// Dropdowns
// -------------------------
@@ -116,6 +136,7 @@
// COMPONENT VARIABLES
// --------------------------------------------------
+
// Z-index master list
// -------------------------
// Used for a bird's eye view of components dependent on the z-axis
@@ -157,6 +178,7 @@
// Navbar
// -------------------------
@navbarCollapseWidth: 979px;
+@navbarCollapseDesktopWidth: @navbarCollapseWidth + 1;
@navbarHeight: 40px;
@navbarBackgroundHighlight: #ffffff;