aboutsummaryrefslogtreecommitdiff
path: root/less
diff options
context:
space:
mode:
authorMark Otto <[email protected]>2013-08-18 19:02:42 -0700
committerMark Otto <[email protected]>2013-08-18 19:02:42 -0700
commit9dcae610e97c5422652d7212fda5985de1653d4c (patch)
tree03f5f15fb5d3a1561f69ce97a1a9f651e816330c /less
parent578a14e14aa7c6ad37f307d5d78e9a2afb0e7bfb (diff)
parent5bd2d7ed7e5a2bae56de81bf550f2e4b1451ab25 (diff)
downloadbootstrap-9dcae610e97c5422652d7212fda5985de1653d4c.tar.xz
bootstrap-9dcae610e97c5422652d7212fda5985de1653d4c.zip
Merge branch '3.0.0-wip' into bs3_homepage
Conflicts: customize.html examples/justified-nav/justified-nav.css
Diffstat (limited to 'less')
-rw-r--r--less/bootstrap.less1
-rw-r--r--less/button-groups.less15
-rw-r--r--less/forms.less29
-rw-r--r--less/glyphicons.less232
-rw-r--r--less/mixins.less2
-rw-r--r--less/navbar.less241
-rw-r--r--less/panels.less20
-rw-r--r--less/scaffolding.less18
-rw-r--r--less/theme.less6
-rw-r--r--less/variables.less40
10 files changed, 462 insertions, 142 deletions
diff --git a/less/bootstrap.less b/less/bootstrap.less
index 635e0256c..1344b462f 100644
--- a/less/bootstrap.less
+++ b/less/bootstrap.less
@@ -27,6 +27,7 @@
// Components
@import "component-animations.less";
+@import "glyphicons.less";
@import "dropdowns.less";
@import "button-groups.less";
@import "input-groups.less";
diff --git a/less/button-groups.less b/less/button-groups.less
index e4a78cd4e..43ada11d9 100644
--- a/less/button-groups.less
+++ b/less/button-groups.less
@@ -22,11 +22,11 @@
& .btn-default .caret {
border-bottom-color: @btn-default-color;
}
- & .btn-primary,
- & .btn-success,
- & .btn-warning,
- & .btn-danger,
- & .btn-info {
+ .btn-primary,
+ .btn-success,
+ .btn-warning,
+ .btn-danger,
+ .btn-info {
.caret {
border-bottom-color: #fff;
}
@@ -159,11 +159,12 @@
}
// Carets in other button sizes
.btn-lg .caret {
- border-width: @caret-width-large;
+ border-width: @caret-width-large @caret-width-large 0;
+ border-bottom-width: 0;
}
// Upside down carets for .dropup
.dropup .btn-lg .caret {
- border-bottom-width: @caret-width-large;
+ border-width: 0 @caret-width-large @caret-width-large;
}
diff --git a/less/forms.less b/less/forms.less
index c59cdd4d7..0118e242c 100644
--- a/less/forms.less
+++ b/less/forms.less
@@ -326,21 +326,28 @@ input[type="checkbox"],
// Horizontal forms are built on grid classes and allow you to create forms with
// labels on the left and inputs on the right.
-.form-horizontal .control-label,
-.form-horizontal .radio-inline,
-.form-horizontal .checkbox-inline {
- padding-top: @padding-base-vertical;
-}
-
.form-horizontal {
+
+ // Consistent vertical alignment of labels, radios, and checkboxes
+ .control-label,
+ .radio,
+ .checkbox,
+ .radio-inline,
+ .checkbox-inline {
+ margin-top: 0;
+ margin-bottom: 0;
+ padding-top: (@padding-base-vertical + 1); // Default padding plus a border
+ }
+
+ // Make form groups behave like rows
.form-group {
.make-row();
}
-}
-// Only right align form labels here when the columns stop stacking
-@media (min-width: @screen-tablet) {
- .form-horizontal .control-label {
- text-align: right;
+ // Only right align form labels here when the columns stop stacking
+ @media (min-width: @screen-tablet) {
+ .control-label {
+ text-align: right;
+ }
}
}
diff --git a/less/glyphicons.less b/less/glyphicons.less
new file mode 100644
index 000000000..2eb07876b
--- /dev/null
+++ b/less/glyphicons.less
@@ -0,0 +1,232 @@
+//
+// Glyphicons for Bootstrap
+//
+// Since icons are fonts, they can be placed anywhere text is placed and are
+// thus automatically sized to match the surrounding child. To use, create an
+// inline element with the appropriate classes, like so:
+//
+// <a href="#"><span class="glyphicon glyphicon-star"></span> Star</a>
+
+// Import the fonts
+@font-face {
+ font-family: 'Glyphicons Halflings';
+ src: url('@{icon-font-path}@{icon-font-name}.eot');
+ src: url('@{icon-font-path}@{icon-font-name}.eot?#iefix') format('embedded-opentype'),
+ url('@{icon-font-path}@{icon-font-name}.woff') format('woff'),
+ url('@{icon-font-path}@{icon-font-name}.ttf') format('truetype'),
+ url('@{icon-font-path}@{icon-font-name}.svg#glyphicons-halflingsregular') format('svg');
+}
+
+// Catchall baseclass
+.glyphicon {
+ position: relative;
+ top: 2px;
+ display: inline-block;
+ font-family: 'Glyphicons Halflings';
+ font-style: normal;
+ font-weight: normal;
+ line-height: 1;
+ -webkit-font-smoothing: antialiased;
+}
+
+// Individual icons
+.glyphicon-asterisk { &:before { content: "\2a"; } }
+.glyphicon-plus { &:before { content: "\2b"; } }
+.glyphicon-euro { &:before { content: "\20ac"; } }
+.glyphicon-minus { &:before { content: "\2212"; } }
+.glyphicon-cloud { &:before { content: "\2601"; } }
+.glyphicon-envelope { &:before { content: "\2709"; } }
+.glyphicon-pencil { &:before { content: "\270f"; } }
+.glyphicon-glass { &:before { content: "\e001"; } }
+.glyphicon-music { &:before { content: "\e002"; } }
+.glyphicon-search { &:before { content: "\e003"; } }
+.glyphicon-heart { &:before { content: "\e005"; } }
+.glyphicon-star { &:before { content: "\e006"; } }
+.glyphicon-star-empty { &:before { content: "\e007"; } }
+.glyphicon-user { &:before { content: "\e008"; } }
+.glyphicon-film { &:before { content: "\e009"; } }
+.glyphicon-th-large { &:before { content: "\e010"; } }
+.glyphicon-th { &:before { content: "\e011"; } }
+.glyphicon-th-list { &:before { content: "\e012"; } }
+.glyphicon-ok { &:before { content: "\e013"; } }
+.glyphicon-remove { &:before { content: "\e014"; } }
+.glyphicon-zoom-in { &:before { content: "\e015"; } }
+.glyphicon-zoom-out { &:before { content: "\e016"; } }
+.glyphicon-off { &:before { content: "\e017"; } }
+.glyphicon-signal { &:before { content: "\e018"; } }
+.glyphicon-cog { &:before { content: "\e019"; } }
+.glyphicon-trash { &:before { content: "\e020"; } }
+.glyphicon-home { &:before { content: "\e021"; } }
+.glyphicon-file { &:before { content: "\e022"; } }
+.glyphicon-time { &:before { content: "\e023"; } }
+.glyphicon-road { &:before { content: "\e024"; } }
+.glyphicon-download-alt { &:before { content: "\e025"; } }
+.glyphicon-download { &:before { content: "\e026"; } }
+.glyphicon-upload { &:before { content: "\e027"; } }
+.glyphicon-inbox { &:before { content: "\e028"; } }
+.glyphicon-play-circle { &:before { content: "\e029"; } }
+.glyphicon-repeat { &:before { content: "\e030"; } }
+.glyphicon-refresh { &:before { content: "\e031"; } }
+.glyphicon-list-alt { &:before { content: "\e032"; } }
+.glyphicon-flag { &:before { content: "\e034"; } }
+.glyphicon-headphones { &:before { content: "\e035"; } }
+.glyphicon-volume-off { &:before { content: "\e036"; } }
+.glyphicon-volume-down { &:before { content: "\e037"; } }
+.glyphicon-volume-up { &:before { content: "\e038"; } }
+.glyphicon-qrcode { &:before { content: "\e039"; } }
+.glyphicon-barcode { &:before { content: "\e040"; } }
+.glyphicon-tag { &:before { content: "\e041"; } }
+.glyphicon-tags { &:before { content: "\e042"; } }
+.glyphicon-book { &:before { content: "\e043"; } }
+.glyphicon-print { &:before { content: "\e045"; } }
+.glyphicon-font { &:before { content: "\e047"; } }
+.glyphicon-bold { &:before { content: "\e048"; } }
+.glyphicon-italic { &:before { content: "\e049"; } }
+.glyphicon-text-height { &:before { content: "\e050"; } }
+.glyphicon-text-width { &:before { content: "\e051"; } }
+.glyphicon-align-left { &:before { content: "\e052"; } }
+.glyphicon-align-center { &:before { content: "\e053"; } }
+.glyphicon-align-right { &:before { content: "\e054"; } }
+.glyphicon-align-justify { &:before { content: "\e055"; } }
+.glyphicon-list { &:before { content: "\e056"; } }
+.glyphicon-indent-left { &:before { content: "\e057"; } }
+.glyphicon-indent-right { &:before { content: "\e058"; } }
+.glyphicon-facetime-video { &:before { content: "\e059"; } }
+.glyphicon-picture { &:before { content: "\e060"; } }
+.glyphicon-map-marker { &:before { content: "\e062"; } }
+.glyphicon-adjust { &:before { content: "\e063"; } }
+.glyphicon-tint { &:before { content: "\e064"; } }
+.glyphicon-edit { &:before { content: "\e065"; } }
+.glyphicon-share { &:before { content: "\e066"; } }
+.glyphicon-check { &:before { content: "\e067"; } }
+.glyphicon-move { &:before { content: "\e068"; } }
+.glyphicon-step-backward { &:before { content: "\e069"; } }
+.glyphicon-fast-backward { &:before { content: "\e070"; } }
+.glyphicon-backward { &:before { content: "\e071"; } }
+.glyphicon-play { &:before { content: "\e072"; } }
+.glyphicon-pause { &:before { content: "\e073"; } }
+.glyphicon-stop { &:before { content: "\e074"; } }
+.glyphicon-forward { &:before { content: "\e075"; } }
+.glyphicon-fast-forward { &:before { content: "\e076"; } }
+.glyphicon-step-forward { &:before { content: "\e077"; } }
+.glyphicon-eject { &:before { content: "\e078"; } }
+.glyphicon-chevron-left { &:before { content: "\e079"; } }
+.glyphicon-chevron-right { &:before { content: "\e080"; } }
+.glyphicon-plus-sign { &:before { content: "\e081"; } }
+.glyphicon-minus-sign { &:before { content: "\e082"; } }
+.glyphicon-remove-sign { &:before { content: "\e083"; } }
+.glyphicon-ok-sign { &:before { content: "\e084"; } }
+.glyphicon-question-sign { &:before { content: "\e085"; } }
+.glyphicon-info-sign { &:before { content: "\e086"; } }
+.glyphicon-screenshot { &:before { content: "\e087"; } }
+.glyphicon-remove-circle { &:before { content: "\e088"; } }
+.glyphicon-ok-circle { &:before { content: "\e089"; } }
+.glyphicon-ban-circle { &:before { content: "\e090"; } }
+.glyphicon-arrow-left { &:before { content: "\e091"; } }
+.glyphicon-arrow-right { &:before { content: "\e092"; } }
+.glyphicon-arrow-up { &:before { content: "\e093"; } }
+.glyphicon-arrow-down { &:before { content: "\e094"; } }
+.glyphicon-share-alt { &:before { content: "\e095"; } }
+.glyphicon-resize-full { &:before { content: "\e096"; } }
+.glyphicon-resize-small { &:before { content: "\e097"; } }
+.glyphicon-exclamation-sign { &:before { content: "\e101"; } }
+.glyphicon-gift { &:before { content: "\e102"; } }
+.glyphicon-leaf { &:before { content: "\e103"; } }
+.glyphicon-eye-open { &:before { content: "\e105"; } }
+.glyphicon-eye-close { &:before { content: "\e106"; } }
+.glyphicon-warning-sign { &:before { content: "\e107"; } }
+.glyphicon-plane { &:before { content: "\e108"; } }
+.glyphicon-random { &:before { content: "\e110"; } }
+.glyphicon-comment { &:before { content: "\e111"; } }
+.glyphicon-magnet { &:before { content: "\e112"; } }
+.glyphicon-chevron-up { &:before { content: "\e113"; } }
+.glyphicon-chevron-down { &:before { content: "\e114"; } }
+.glyphicon-retweet { &:before { content: "\e115"; } }
+.glyphicon-shopping-cart { &:before { content: "\e116"; } }
+.glyphicon-folder-close { &:before { content: "\e117"; } }
+.glyphicon-folder-open { &:before { content: "\e118"; } }
+.glyphicon-resize-vertical { &:before { content: "\e119"; } }
+.glyphicon-resize-horizontal { &:before { content: "\e120"; } }
+.glyphicon-hdd { &:before { content: "\e121"; } }
+.glyphicon-bullhorn { &:before { content: "\e122"; } }
+.glyphicon-certificate { &:before { content: "\e124"; } }
+.glyphicon-thumbs-up { &:before { content: "\e125"; } }
+.glyphicon-thumbs-down { &:before { content: "\e126"; } }
+.glyphicon-hand-right { &:before { content: "\e127"; } }
+.glyphicon-hand-left { &:before { content: "\e128"; } }
+.glyphicon-hand-up { &:before { content: "\e129"; } }
+.glyphicon-hand-down { &:before { content: "\e130"; } }
+.glyphicon-circle-arrow-right { &:before { content: "\e131"; } }
+.glyphicon-circle-arrow-left { &:before { content: "\e132"; } }
+.glyphicon-circle-arrow-up { &:before { content: "\e133"; } }
+.glyphicon-circle-arrow-down { &:before { content: "\e134"; } }
+.glyphicon-globe { &:before { content: "\e135"; } }
+.glyphicon-tasks { &:before { content: "\e137"; } }
+.glyphicon-filter { &:before { content: "\e138"; } }
+.glyphicon-fullscreen { &:before { content: "\e140"; } }
+.glyphicon-dashboard { &:before { content: "\e141"; } }
+.glyphicon-heart-empty { &:before { content: "\e143"; } }
+.glyphicon-link { &:before { content: "\e144"; } }
+.glyphicon-phone { &:before { content: "\e145"; } }
+.glyphicon-usd { &:before { content: "\e148"; } }
+.glyphicon-gbp { &:before { content: "\e149"; } }
+.glyphicon-sort { &:before { content: "\e150"; } }
+.glyphicon-sort-by-alphabet { &:before { content: "\e151"; } }
+.glyphicon-sort-by-alphabet-alt { &:before { content: "\e152"; } }
+.glyphicon-sort-by-order { &:before { content: "\e153"; } }
+.glyphicon-sort-by-order-alt { &:before { content: "\e154"; } }
+.glyphicon-sort-by-attributes { &:before { content: "\e155"; } }
+.glyphicon-sort-by-attributes-alt { &:before { content: "\e156"; } }
+.glyphicon-unchecked { &:before { content: "\e157"; } }
+.glyphicon-expand { &:before { content: "\e158"; } }
+.glyphicon-collapse-down { &:before { content: "\e159"; } }
+.glyphicon-collapse-up { &:before { content: "\e160"; } }
+.glyphicon-log-in { &:before { content: "\e161"; } }
+.glyphicon-flash { &:before { content: "\e162"; } }
+.glyphicon-log-out { &:before { content: "\e163"; } }
+.glyphicon-new-window { &:before { content: "\e164"; } }
+.glyphicon-record { &:before { content: "\e165"; } }
+.glyphicon-save { &:before { content: "\e166"; } }
+.glyphicon-open { &:before { content: "\e167"; } }
+.glyphicon-saved { &:before { content: "\e168"; } }
+.glyphicon-import { &:before { content: "\e169"; } }
+.glyphicon-export { &:before { content: "\e170"; } }
+.glyphicon-send { &:before { content: "\e171"; } }
+.glyphicon-floppy-disk { &:before { content: "\e172"; } }
+.glyphicon-floppy-saved { &:before { content: "\e173"; } }
+.glyphicon-floppy-remove { &:before { content: "\e174"; } }
+.glyphicon-floppy-save { &:before { content: "\e175"; } }
+.glyphicon-floppy-open { &:before { content: "\e176"; } }
+.glyphicon-credit-card { &:before { content: "\e177"; } }
+.glyphicon-transfer { &:before { content: "\e178"; } }
+.glyphicon-cutlery { &:before { content: "\e179"; } }
+.glyphicon-header { &:before { content: "\e180"; } }
+.glyphicon-compressed { &:before { content: "\e181"; } }
+.glyphicon-earphone { &:before { content: "\e182"; } }
+.glyphicon-phone-alt { &:before { content: "\e183"; } }
+.glyphicon-tower { &:before { content: "\e184"; } }
+.glyphicon-stats { &:before { content: "\e185"; } }
+.glyphicon-sd-video { &:before { content: "\e186"; } }
+.glyphicon-hd-video { &:before { content: "\e187"; } }
+.glyphicon-subtitles { &:before { content: "\e188"; } }
+.glyphicon-sound-stereo { &:before { content: "\e189"; } }
+.glyphicon-sound-dolby { &:before { content: "\e190"; } }
+.glyphicon-sound-5-1 { &:before { content: "\e191"; } }
+.glyphicon-sound-6-1 { &:before { content: "\e192"; } }
+.glyphicon-sound-7-1 { &:before { content: "\e193"; } }
+.glyphicon-copyright-mark { &:before { content: "\e194"; } }
+.glyphicon-registration-mark { &:before { content: "\e195"; } }
+.glyphicon-cloud-download { &:before { content: "\e197"; } }
+.glyphicon-cloud-upload { &:before { content: "\e198"; } }
+.glyphicon-tree-conifer { &:before { content: "\e199"; } }
+.glyphicon-tree-deciduous { &:before { content: "\e200"; } }
+.glyphicon-briefcase { &:before { content: "\1f4bc"; } }
+.glyphicon-calendar { &:before { content: "\1f4c5"; } }
+.glyphicon-pushpin { &:before { content: "\1f4cc"; } }
+.glyphicon-paperclip { &:before { content: "\1f4ce"; } }
+.glyphicon-camera { &:before { content: "\1f4f7"; } }
+.glyphicon-lock { &:before { content: "\1f512"; } }
+.glyphicon-bell { &:before { content: "\1f514"; } }
+.glyphicon-bookmark { &:before { content: "\1f516"; } }
+.glyphicon-fire { &:before { content: "\1f525"; } }
+.glyphicon-wrench { &:before { content: "\1f527"; } }
diff --git a/less/mixins.less b/less/mixins.less
index c4d1de5ff..633d02455 100644
--- a/less/mixins.less
+++ b/less/mixins.less
@@ -286,7 +286,7 @@
// Reset filters for IE
//
-// When you need to remove a gradient background, don't forget to use this to reset
+// When you need to remove a gradient background, do not forget to use this to reset
// the IE filter for IE9 and below.
.reset-filter() {
filter: e(%("progid:DXImageTransform.Microsoft.gradient(enabled = false)"));
diff --git a/less/navbar.less b/less/navbar.less
index ce598d0d2..55707ca01 100644
--- a/less/navbar.less
+++ b/less/navbar.less
@@ -12,8 +12,7 @@
position: relative;
min-height: @navbar-height; // Ensure a navbar always shows (e.g., without a .navbar-brand in collapsed mode)
margin-bottom: @navbar-margin-bottom;
- background-color: @navbar-bg;
- border: 1px solid @navbar-border;
+ border: 1px solid transparent;
// Prevent floats from breaking the navbar
.clearfix();
@@ -53,7 +52,7 @@
overflow-x: visible;
padding-right: @navbar-padding-horizontal;
padding-left: @navbar-padding-horizontal;
- border-top: 1px solid darken(@navbar-bg, 7%);
+ border-top: 1px solid transparent;
box-shadow: inset 0 1px 0 rgba(255,255,255,.1);
.clearfix();
-webkit-overflow-scrolling: touch;
@@ -77,6 +76,14 @@
&.in {
overflow-y: visible;
}
+
+ // Account for first and last children spacing
+ .navbar-nav.navbar-left:first-child {
+ margin-left: -@navbar-padding-horizontal;
+ }
+ .navbar-nav.navbar-right:last-child {
+ margin-right: -@navbar-padding-horizontal;
+ }
}
}
@@ -141,12 +148,9 @@
padding: @navbar-padding-vertical @navbar-padding-horizontal;
font-size: @font-size-large;
line-height: @line-height-computed;
- color: @navbar-brand-color;
&:hover,
&:focus {
- color: @navbar-brand-hover-color;
text-decoration: none;
- background-color: @navbar-brand-hover-bg;
}
@media (min-width: @grid-float-breakpoint) {
@@ -169,20 +173,14 @@
padding: 9px 10px;
.navbar-vertical-align(34px);
background-color: transparent;
- border: 1px solid @navbar-toggle-border-color;
+ border: 1px solid transparent;
border-radius: @border-radius-base;
- &:hover,
- &:focus {
- background-color: @navbar-toggle-hover-bg;
- }
-
// Bars
.icon-bar {
display: block;
width: 22px;
height: 2px;
- background-color: @navbar-toggle-icon-bar-bg;
border-radius: 1px;
}
.icon-bar + .icon-bar {
@@ -206,29 +204,7 @@
> li > a {
padding-top: 10px;
padding-bottom: 10px;
- color: @navbar-link-color;
line-height: @line-height-computed;
- &:hover,
- &:focus {
- color: @navbar-link-hover-color;
- background-color: @navbar-link-hover-bg;
- }
- }
- > .active > a {
- &,
- &:hover,
- &:focus {
- color: @navbar-link-active-color;
- background-color: @navbar-link-active-bg;
- }
- }
- > .disabled > a {
- &,
- &:hover,
- &:focus {
- color: @navbar-link-disabled-color;
- background-color: @navbar-link-disabled-bg;
- }
}
@media (max-width: @screen-xs-max) {
@@ -246,31 +222,12 @@
padding: 5px 15px 5px 25px;
}
> li > a {
- color: @navbar-link-color;
line-height: @line-height-computed;
&:hover,
&:focus {
- color: @navbar-link-hover-color;
- background-color: @navbar-link-hover-bg;
background-image: none;
}
}
- > .active > a {
- &,
- &:hover,
- &:focus {
- color: @navbar-link-active-color;
- background-color: @navbar-link-active-bg;
- }
- }
- > .disabled > a {
- &,
- &:hover,
- &:focus {
- color: @navbar-link-disabled-color;
- background-color: @navbar-link-disabled-bg;
- }
- }
}
}
@@ -317,8 +274,8 @@
margin-left: -@navbar-padding-horizontal;
margin-right: -@navbar-padding-horizontal;
padding: 10px @navbar-padding-horizontal;
- border-top: 1px solid darken(@navbar-bg, 7%);
- border-bottom: 1px solid darken(@navbar-bg, 7%);
+ border-top: 1px solid transparent;
+ border-bottom: 1px solid transparent;
@shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1);
.box-shadow(@shadow);
@@ -359,34 +316,6 @@
.border-bottom-radius(0);
}
-// Dropdown menu items and carets
-.navbar-nav {
- // Caret should match text color on hover
- > .dropdown > a:hover .caret,
- > .dropdown > a:focus .caret {
- border-top-color: @navbar-link-hover-color;
- border-bottom-color: @navbar-link-hover-color;
- }
-
- // Remove background color from open dropdown
- > .open > a {
- &,
- &:hover,
- &:focus {
- background-color: @navbar-link-active-bg;
- color: @navbar-link-active-color;
- .caret {
- border-top-color: @navbar-link-active-color;
- border-bottom-color: @navbar-link-active-color;
- }
- }
- }
- > .dropdown > a .caret {
- border-top-color: @navbar-link-color;
- border-bottom-color: @navbar-link-color;
- }
-}
-
// Right aligned menus need alt position
.navbar-nav.pull-right > li > .dropdown-menu,
.navbar-nav > li > .dropdown-menu.pull-right {
@@ -410,7 +339,6 @@
.navbar-text {
float: left;
- color: @navbar-color;
.navbar-vertical-align(@line-height-computed);
@media (min-width: @grid-float-breakpoint) {
@@ -419,22 +347,145 @@
}
}
+// Alternate navbars
+// --------------------------------------------------
-// Links in navbars
-//
-// Add a class to ensure links outside the navbar nav are colored correctly.
+// Default navbar
+.navbar-default {
+ background-color: @navbar-default-bg;
+ border-color: @navbar-default-border;
-// Default navbar variables
-.navbar-link {
- color: @navbar-link-color;
- &:hover {
- color: @navbar-link-hover-color;
+ .navbar-brand {
+ color: @navbar-default-brand-color;
+ &:hover,
+ &:focus {
+ color: @navbar-default-brand-hover-color;
+ background-color: @navbar-default-brand-hover-bg;
+ }
}
-}
+ .navbar-text {
+ color: @navbar-default-color;
+ }
+
+ .navbar-nav {
+ > li > a {
+ color: @navbar-default-link-color;
+
+ &:hover,
+ &:focus {
+ color: @navbar-default-link-hover-color;
+ background-color: @navbar-default-link-hover-bg;
+ }
+ }
+ > .active > a {
+ &,
+ &:hover,
+ &:focus {
+ color: @navbar-default-link-active-color;
+ background-color: @navbar-default-link-active-bg;
+ }
+ }
+ > .disabled > a {
+ &,
+ &:hover,
+ &:focus {
+ color: @navbar-default-link-disabled-color;
+ background-color: @navbar-default-link-disabled-bg;
+ }
+ }
+ }
+
+ .navbar-toggle {
+ border-color: @navbar-default-toggle-border-color;
+ &:hover,
+ &:focus {
+ background-color: @navbar-default-toggle-hover-bg;
+ }
+ .icon-bar {
+ background-color: @navbar-default-toggle-icon-bar-bg;
+ }
+ }
+
+ .navbar-collapse,
+ .navbar-form {
+ border-color: darken(@navbar-default-bg, 7%);
+ }
+
+ // Dropdown menu items and carets
+ .navbar-nav {
+ // Caret should match text color on hover
+ > .dropdown > a:hover .caret,
+ > .dropdown > a:focus .caret {
+ border-top-color: @navbar-default-link-hover-color;
+ border-bottom-color: @navbar-default-link-hover-color;
+ }
+
+ // Remove background color from open dropdown
+ > .open > a {
+ &,
+ &:hover,
+ &:focus {
+ background-color: @navbar-default-link-active-bg;
+ color: @navbar-default-link-active-color;
+ .caret {
+ border-top-color: @navbar-default-link-active-color;
+ border-bottom-color: @navbar-default-link-active-color;
+ }
+ }
+ }
+ > .dropdown > a .caret {
+ border-top-color: @navbar-default-link-color;
+ border-bottom-color: @navbar-default-link-color;
+ }
+
+
+ @media (max-width: @screen-xs-max) {
+ // Dropdowns get custom display when collapsed
+ .open .dropdown-menu {
+ > li > a {
+ color: @navbar-default-link-color;
+ &:hover,
+ &:focus {
+ color: @navbar-default-link-hover-color;
+ background-color: @navbar-default-link-hover-bg;
+ }
+ }
+ > .active > a {
+ &,
+ &:hover,
+ &:focus {
+ color: @navbar-default-link-active-color;
+ background-color: @navbar-default-link-active-bg;
+ }
+ }
+ > .disabled > a {
+ &,
+ &:hover,
+ &:focus {
+ color: @navbar-default-link-disabled-color;
+ background-color: @navbar-default-link-disabled-bg;
+ }
+ }
+ }
+ }
+ }
+
+
+ // Links in navbars
+ //
+ // Add a class to ensure links outside the navbar nav are colored correctly.
+
+ .navbar-link {
+ color: @navbar-default-link-color;
+ &:hover {
+ color: @navbar-default-link-hover-color;
+ }
+ }
+
+}
// Inverse navbar
-// --------------------------------------------------
.navbar-inverse {
background-color: @navbar-inverse-bg;
diff --git a/less/panels.less b/less/panels.less
index 9d1b21389..e39fa3adf 100644
--- a/less/panels.less
+++ b/less/panels.less
@@ -18,12 +18,16 @@
.clearfix();
}
+
// List groups in panels
//
// By default, space out list group content from panel headings to account for
// any kind of custom content between the two.
.panel {
+ > .table {
+ margin-bottom: 0;
+ }
> .list-group {
margin-bottom: 0;
@@ -48,6 +52,22 @@
}
}
+
+// Tables in panels
+//
+// Place a non-bordered `.table` within a panel (not within a `.panel-body`) and
+// watch it go full width.
+
+.panel {
+ > .table {
+ margin-bottom: 0;
+ }
+ > .panel-body + .table {
+ border-top: 1px solid @table-border-color;
+ }
+}
+
+
// Optional heading
.panel-heading {
padding: 10px 15px;
diff --git a/less/scaffolding.less b/less/scaffolding.less
index 3a6ed3d99..7f6d3bf3a 100644
--- a/less/scaffolding.less
+++ b/less/scaffolding.less
@@ -54,14 +54,16 @@ textarea {
a {
color: @link-color;
text-decoration: none;
-}
-a:hover,
-a:focus {
- color: @link-hover-color;
- text-decoration: underline;
-}
-a:focus {
- .tab-focus();
+
+ &:hover,
+ &:focus {
+ color: @link-hover-color;
+ text-decoration: underline;
+ }
+
+ &:focus {
+ .tab-focus();
+ }
}
diff --git a/less/theme.less b/less/theme.less
index 52e2d239a..d2f98f2fb 100644
--- a/less/theme.less
+++ b/less/theme.less
@@ -93,13 +93,13 @@
// Basic navbar
.navbar {
- #gradient > .vertical(@start-color: lighten(@navbar-bg, 10%); @end-color: @navbar-bg;);
- border-radius: @border-radius-base;
+ #gradient > .vertical(@start-color: lighten(@navbar-default-bg, 10%); @end-color: @navbar-default-bg;);
+ border-radius: @navbar-border-radius;
@shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 5px rgba(0,0,0,.075);
.box-shadow(@shadow);
.navbar-nav > .active > a {
- background-color: @navbar-bg;
+ background-color: @navbar-default-bg;
}
}
.navbar-brand,
diff --git a/less/variables.less b/less/variables.less
index a46ad4fb6..53aad251b 100644
--- a/less/variables.less
+++ b/less/variables.less
@@ -55,6 +55,12 @@
@headings-font-weight: 500;
@headings-line-height: 1.1;
+// Iconography
+// -------------------------
+
+@icon-font-path: "../fonts/";
+@icon-font-name: "glyphicons-halflings-regular";
+
// Components
// -------------------------
@@ -98,7 +104,7 @@
// Buttons
// -------------------------
-@btn-font-weight: bold;
+@btn-font-weight: normal;
@btn-default-color: #333;
@btn-default-bg: #fff;
@@ -231,31 +237,31 @@
// Basics of a navbar
@navbar-height: 50px;
@navbar-margin-bottom: @line-height-computed;
-@navbar-color: #777;
-@navbar-bg: #f8f8f8;
-@navbar-border: darken(@navbar-bg, 6.5%);
+@navbar-default-color: #777;
+@navbar-default-bg: #f8f8f8;
+@navbar-default-border: darken(@navbar-default-bg, 6.5%);
@navbar-border-radius: @border-radius-base;
@navbar-padding-horizontal: floor(@grid-gutter-width / 2);
@navbar-padding-vertical: ((@navbar-height - @line-height-computed) / 2);
// Navbar links
-@navbar-link-color: #777;
-@navbar-link-hover-color: #333;
-@navbar-link-hover-bg: transparent;
-@navbar-link-active-color: #555;
-@navbar-link-active-bg: darken(@navbar-bg, 6.5%);
-@navbar-link-disabled-color: #ccc;
-@navbar-link-disabled-bg: transparent;
+@navbar-default-link-color: #777;
+@navbar-default-link-hover-color: #333;
+@navbar-default-link-hover-bg: transparent;
+@navbar-default-link-active-color: #555;
+@navbar-default-link-active-bg: darken(@navbar-default-bg, 6.5%);
+@navbar-default-link-disabled-color: #ccc;
+@navbar-default-link-disabled-bg: transparent;
// Navbar brand label
-@navbar-brand-color: @navbar-link-color;
-@navbar-brand-hover-color: darken(@navbar-link-color, 10%);
-@navbar-brand-hover-bg: transparent;
+@navbar-default-brand-color: @navbar-default-link-color;
+@navbar-default-brand-hover-color: darken(@navbar-default-link-color, 10%);
+@navbar-default-brand-hover-bg: transparent;
// Navbar toggle
-@navbar-toggle-hover-bg: #ddd;
-@navbar-toggle-icon-bar-bg: #ccc;
-@navbar-toggle-border-color: #ddd;
+@navbar-default-toggle-hover-bg: #ddd;
+@navbar-default-toggle-icon-bar-bg: #ccc;
+@navbar-default-toggle-border-color: #ddd;
// Inverted navbar