From 02899f720a782840ab5822529fcbef50acff535e Mon Sep 17 00:00:00 2001 From: albertogg Date: Thu, 30 Jan 2014 14:17:50 -0430 Subject: [PATCH 1/5] =?UTF-8?q?Actualizar=20a=20la=20versi=C3=B3n=20oficia?= =?UTF-8?q?l=20de=20twbs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Se actualizó a la versión oficial de twitter bootstrap, esta versión es la misma que teníamos pero el proyecto se volvió el "port" oficial de bootstrap. --- Gemfile | 2 +- Gemfile.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Gemfile b/Gemfile index 1cec71d..e6bb431 100644 --- a/Gemfile +++ b/Gemfile @@ -1,7 +1,7 @@ source 'https://rubygems.org' gem 'jekyll', '~> 1.4.0' -gem 'bootstrap-sass', '~> 3.0.3.0', github: 'thomas-mcdonald/bootstrap-sass' +gem 'bootstrap-sass', '~> 3.1.0', github: 'twbs/bootstrap-sass' gem 'sass', '~> 3.2.12' gem 'rb-fsevent', '~> 0.9.3' gem 'liquid', '~> 2.5.3' diff --git a/Gemfile.lock b/Gemfile.lock index cb53961..b2f1a07 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,8 +1,8 @@ GIT - remote: git://github.com/thomas-mcdonald/bootstrap-sass.git - revision: 99d5746f653e4d5fdccc5cb8d278b32b0b2c6bce + remote: git://github.com/twbs/bootstrap-sass.git + revision: 02a611e88a037370cb4b310117a8a5e6b03176a9 specs: - bootstrap-sass (3.0.3.0) + bootstrap-sass (3.1.0.0) sass (~> 3.2) GEM @@ -88,7 +88,7 @@ GEM redcarpet (2.3.0) ref (1.0.5) safe_yaml (0.9.7) - sass (3.2.12) + sass (3.2.14) sass-rails (4.0.1) railties (>= 4.0.0, < 5.0) sass (>= 3.1.10) @@ -121,7 +121,7 @@ PLATFORMS ruby DEPENDENCIES - bootstrap-sass (~> 3.0.3.0)! + bootstrap-sass (~> 3.1.0)! dotenv (~> 0.9.0) font-awesome-sass (~> 4.0.2) iconv (~> 1.0.3) From c7a0e5eb06fd5055c355449c6bfa61eeaea0b9f8 Mon Sep 17 00:00:00 2001 From: albertogg Date: Thu, 30 Jan 2014 14:33:43 -0430 Subject: [PATCH 2/5] =?UTF-8?q?Actualizaci=C3=B3n=20de=20scss=20de=20boost?= =?UTF-8?q?rap?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _assets/stylesheets/bootstrap/_badges.scss | 4 + _assets/stylesheets/bootstrap/_bootstrap.scss | 76 +-- .../stylesheets/bootstrap/_breadcrumbs.scss | 5 +- .../stylesheets/bootstrap/_button-groups.scss | 17 +- _assets/stylesheets/bootstrap/_buttons.scss | 16 +- _assets/stylesheets/bootstrap/_code.scss | 10 + _assets/stylesheets/bootstrap/_dropdowns.scss | 31 +- _assets/stylesheets/bootstrap/_forms.scss | 119 ++-- .../stylesheets/bootstrap/_glyphicons.scss | 14 +- _assets/stylesheets/bootstrap/_grid.scss | 31 +- .../stylesheets/bootstrap/_input-groups.scss | 57 +- _assets/stylesheets/bootstrap/_jumbotron.scss | 8 +- .../stylesheets/bootstrap/_list-group.scss | 28 +- _assets/stylesheets/bootstrap/_mixins.scss | 165 ++++-- _assets/stylesheets/bootstrap/_modals.scss | 21 +- _assets/stylesheets/bootstrap/_navbar.scss | 38 +- _assets/stylesheets/bootstrap/_navs.scss | 2 +- _assets/stylesheets/bootstrap/_normalize.scss | 261 ++++----- _assets/stylesheets/bootstrap/_pager.scss | 8 +- .../stylesheets/bootstrap/_pagination.scss | 9 +- _assets/stylesheets/bootstrap/_panels.scss | 78 ++- _assets/stylesheets/bootstrap/_print.scss | 4 - .../bootstrap/_responsive-utilities.scss | 130 +---- .../stylesheets/bootstrap/_scaffolding.scss | 19 +- _assets/stylesheets/bootstrap/_tables.scss | 4 +- _assets/stylesheets/bootstrap/_theme.scss | 6 +- .../stylesheets/bootstrap/_thumbnails.scss | 8 +- _assets/stylesheets/bootstrap/_tooltip.scss | 2 +- _assets/stylesheets/bootstrap/_type.scss | 139 ++--- _assets/stylesheets/bootstrap/_variables.scss | 513 ++++++++++++------ _assets/stylesheets/bootstrap/_wells.scss | 2 +- 31 files changed, 1119 insertions(+), 706 deletions(-) diff --git a/_assets/stylesheets/bootstrap/_badges.scss b/_assets/stylesheets/bootstrap/_badges.scss index 1190d4e..4014a80 100644 --- a/_assets/stylesheets/bootstrap/_badges.scss +++ b/_assets/stylesheets/bootstrap/_badges.scss @@ -28,6 +28,10 @@ position: relative; top: -1px; } + .btn-xs & { + top: 0; + padding: 1px 5px; + } } // Hover state, but only for links diff --git a/_assets/stylesheets/bootstrap/_bootstrap.scss b/_assets/stylesheets/bootstrap/_bootstrap.scss index ece2a0c..cb5147d 100644 --- a/_assets/stylesheets/bootstrap/_bootstrap.scss +++ b/_assets/stylesheets/bootstrap/_bootstrap.scss @@ -1,49 +1,49 @@ // Core variables and mixins -@import "bootstrap/variables"; -@import "bootstrap/mixins"; +@import "variables"; +@import "mixins"; // Reset -@import "bootstrap/normalize"; -@import "bootstrap/print"; +@import "normalize"; +@import "print"; // Core CSS -@import "bootstrap/scaffolding"; -@import "bootstrap/type"; -@import "bootstrap/code"; -@import "bootstrap/grid"; -@import "bootstrap/tables"; -@import "bootstrap/forms"; -@import "bootstrap/buttons"; +@import "scaffolding"; +@import "type"; +@import "code"; +@import "grid"; +@import "tables"; +@import "forms"; +@import "buttons"; // Components -@import "bootstrap/component-animations"; -@import "bootstrap/glyphicons"; -@import "bootstrap/dropdowns"; -@import "bootstrap/button-groups"; -@import "bootstrap/input-groups"; -@import "bootstrap/navs"; -@import "bootstrap/navbar"; -@import "bootstrap/breadcrumbs"; -@import "bootstrap/pagination"; -@import "bootstrap/pager"; -@import "bootstrap/labels"; -@import "bootstrap/badges"; -@import "bootstrap/jumbotron"; -@import "bootstrap/thumbnails"; -@import "bootstrap/alerts"; -@import "bootstrap/progress-bars"; -@import "bootstrap/media"; -@import "bootstrap/list-group"; -@import "bootstrap/panels"; -@import "bootstrap/wells"; -@import "bootstrap/close"; +@import "component-animations"; +@import "glyphicons"; +@import "dropdowns"; +@import "button-groups"; +@import "input-groups"; +@import "navs"; +@import "navbar"; +@import "breadcrumbs"; +@import "pagination"; +@import "pager"; +@import "labels"; +@import "badges"; +@import "jumbotron"; +@import "thumbnails"; +@import "alerts"; +@import "progress-bars"; +@import "media"; +@import "list-group"; +@import "panels"; +@import "wells"; +@import "close"; // Components w/ JavaScript -@import "bootstrap/modals"; -@import "bootstrap/tooltip"; -@import "bootstrap/popovers"; -@import "bootstrap/carousel"; +@import "modals"; +@import "tooltip"; +@import "popovers"; +@import "carousel"; // Utility classes -@import "bootstrap/utilities"; -@import "bootstrap/responsive-utilities"; +@import "utilities"; +@import "responsive-utilities"; diff --git a/_assets/stylesheets/bootstrap/_breadcrumbs.scss b/_assets/stylesheets/bootstrap/_breadcrumbs.scss index c35ef94..3641e33 100644 --- a/_assets/stylesheets/bootstrap/_breadcrumbs.scss +++ b/_assets/stylesheets/bootstrap/_breadcrumbs.scss @@ -4,19 +4,22 @@ .breadcrumb { - padding: 8px 15px; + padding: $breadcrumb-padding-vertical $breadcrumb-padding-horizontal; margin-bottom: $line-height-computed; list-style: none; background-color: $breadcrumb-bg; border-radius: $border-radius-base; + > li { display: inline-block; + + li:before { content: "#{$breadcrumb-separator}\00a0"; // Unicode space added since inline-block means non-collapsing white-space padding: 0 5px; color: $breadcrumb-color; } } + > .active { color: $breadcrumb-active-color; } diff --git a/_assets/stylesheets/bootstrap/_button-groups.scss b/_assets/stylesheets/bootstrap/_button-groups.scss index 1fc6ae8..066b4d7 100644 --- a/_assets/stylesheets/bootstrap/_button-groups.scss +++ b/_assets/stylesheets/bootstrap/_button-groups.scss @@ -37,18 +37,17 @@ // Optional: Group multiple button groups together for a toolbar .btn-toolbar { + margin-left: -5px; // Offset the first child's margin @include clearfix(); - .btn-group { + .btn-group, + .input-group { float: left; } - // Space out series of button groups > .btn, - > .btn-group { - + .btn, - + .btn-group { - margin-left: 5px; - } + > .btn-group, + > .input-group { + margin-left: 5px; } } @@ -188,13 +187,13 @@ .btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { border-radius: 0; } -.btn-group-vertical > .btn-group:first-child { +.btn-group-vertical > .btn-group:first-child:not(:last-child) { > .btn:last-child, > .dropdown-toggle { @include border-bottom-radius(0); } } -.btn-group-vertical > .btn-group:last-child > .btn:first-child { +.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { @include border-top-radius(0); } diff --git a/_assets/stylesheets/bootstrap/_buttons.scss b/_assets/stylesheets/bootstrap/_buttons.scss index 0e862f5..cf0af09 100644 --- a/_assets/stylesheets/bootstrap/_buttons.scss +++ b/_assets/stylesheets/bootstrap/_buttons.scss @@ -56,14 +56,6 @@ .btn-primary { @include button-variant($btn-primary-color, $btn-primary-bg, $btn-primary-border); } -// Warning appears as orange -.btn-warning { - @include button-variant($btn-warning-color, $btn-warning-bg, $btn-warning-border); -} -// Danger and error appear as red -.btn-danger { - @include button-variant($btn-danger-color, $btn-danger-bg, $btn-danger-border); -} // Success appears as green .btn-success { @include button-variant($btn-success-color, $btn-success-bg, $btn-success-border); @@ -72,6 +64,14 @@ .btn-info { @include button-variant($btn-info-color, $btn-info-bg, $btn-info-border); } +// Warning appears as orange +.btn-warning { + @include button-variant($btn-warning-color, $btn-warning-bg, $btn-warning-border); +} +// Danger and error appear as red +.btn-danger { + @include button-variant($btn-danger-color, $btn-danger-bg, $btn-danger-border); +} // Link buttons diff --git a/_assets/stylesheets/bootstrap/_code.scss b/_assets/stylesheets/bootstrap/_code.scss index 240dc1d..8953616 100644 --- a/_assets/stylesheets/bootstrap/_code.scss +++ b/_assets/stylesheets/bootstrap/_code.scss @@ -21,6 +21,16 @@ code { border-radius: $border-radius-base; } +// User input typically entered via keyboard +kbd { + padding: 2px 4px; + font-size: 90%; + color: $kbd-color; + background-color: $kbd-bg; + border-radius: $border-radius-small; + box-shadow: inset 0 -1px 0 rgba(0,0,0,.25); +} + // Blocks of code pre { display: block; diff --git a/_assets/stylesheets/bootstrap/_dropdowns.scss b/_assets/stylesheets/bootstrap/_dropdowns.scss index 74502ce..526be5b 100644 --- a/_assets/stylesheets/bootstrap/_dropdowns.scss +++ b/_assets/stylesheets/bootstrap/_dropdowns.scss @@ -46,6 +46,8 @@ background-clip: padding-box; // Aligns the dropdown menu to right + // + // Deprecated as of 3.1.0 in favor of `.dropdown-menu-[dir]` &.pull-right { right: 0; left: auto; @@ -126,6 +128,25 @@ } } +// Menu positioning +// +// Add extra class to `.dropdown-menu` to flip the alignment of the dropdown +// menu with the parent. +.dropdown-menu-right { + left: auto; // Reset the default from `.dropdown-menu` + right: 0; +} +// With v3, we enabled auto-flipping if you have a dropdown within a right +// aligned nav component. To enable the undoing of that, we provide an override +// to restore the default dropdown menu alignment. +// +// This is only for left-aligning a dropdown menu within a `.navbar-right` or +// `.pull-right` nav component. +.dropdown-menu-left { + left: 0; + right: auto; +} + // Dropdown section headers .dropdown-header { display: block; @@ -142,7 +163,7 @@ right: 0; bottom: 0; top: 0; - z-index: $zindex-dropdown - 10; + z-index: ($zindex-dropdown - 10); } // Right aligned dropdowns @@ -180,8 +201,12 @@ @media (min-width: $grid-float-breakpoint) { .navbar-right { .dropdown-menu { - right: 0; - left: auto; + right: 0; left: auto; + } + // Necessary for overrides of the default right aligned menu. + // Will remove come v4 in all likelihood. + .dropdown-menu-left { + left: 0; right: auto; } } } diff --git a/_assets/stylesheets/bootstrap/_forms.scss b/_assets/stylesheets/bootstrap/_forms.scss index 6f1383e..5d8d3d9 100644 --- a/_assets/stylesheets/bootstrap/_forms.scss +++ b/_assets/stylesheets/bootstrap/_forms.scss @@ -11,6 +11,10 @@ fieldset { padding: 0; margin: 0; border: 0; + // Chrome and Firefox set a `min-width: -webkit-min-content;` on fieldsets, + // so we reset that to ensure it behaves more like a standard block element. + // See https://github.com/twbs/bootstrap/issues/12359. + min-width: 0; } legend { @@ -33,6 +37,10 @@ label { // Normalize form controls +// +// While most of our form styles require extra classes, some basic normalization +// is required to ensure optimum display with or without those classes to better +// address browser inconsistencies. // Override content-box in Normalize (* isn't specific enough) input[type="search"] { @@ -47,41 +55,30 @@ input[type="checkbox"] { line-height: normal; } -// Set the height of select and file controls to match text inputs +// Set the height of file controls to match text inputs input[type="file"] { display: block; } +// Make range inputs behave like textual form controls +input[type="range"] { + display: block; + width: 100%; +} + // Make multiple select elements height not fixed select[multiple], select[size] { height: auto; } -// Fix optgroup Firefox bug per https://github.com/twbs/bootstrap/issues/7611 -select optgroup { - font-size: inherit; - font-style: inherit; - font-family: inherit; -} - -// Focus for select, file, radio, and checkbox +// Focus for file, radio, and checkbox input[type="file"]:focus, input[type="radio"]:focus, input[type="checkbox"]:focus { @include tab-focus(); } -// Fix for Chrome number input -// Setting certain font-sizes causes the `I` bar to appear on hover of the bottom increment button. -// See https://github.com/twbs/bootstrap/issues/8350 for more. -input[type="number"] { - &::-webkit-outer-spin-button, - &::-webkit-inner-spin-button { - height: auto; - } -} - // Adjust output element output { display: block; @@ -89,7 +86,6 @@ output { font-size: $font-size-base; line-height: $line-height-base; color: $input-color; - vertical-align: middle; } @@ -123,7 +119,6 @@ output { font-size: $font-size-base; line-height: $line-height-base; color: $input-color; - vertical-align: middle; background-color: $input-bg; background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214 border: 1px solid $input-border; @@ -135,9 +130,6 @@ output { @include form-control-focus(); // Placeholder - // - // Placeholder text gets special styles because when browsers invalidate entire - // lines if it doesn't understand a selector/ @include placeholder(); // Disabled and read-only inputs @@ -149,6 +141,7 @@ output { fieldset[disabled] & { cursor: not-allowed; background-color: $input-bg-disabled; + opacity: 1; // iOS fix for unreadable disabled content } // [converter] extracted textarea& to textarea.form-control @@ -159,6 +152,14 @@ textarea.form-control { height: auto; } +// Special styles for iOS date input +// +// In Mobile Safari, date inputs require a pixel line-height that matches the +// given height of the input. +input[type="date"] { + line-height: $input-height-base; +} + // Form groups // @@ -181,10 +182,8 @@ textarea.form-control { margin-top: 10px; margin-bottom: 10px; padding-left: 20px; - vertical-align: middle; label { display: inline; - margin-bottom: 0; font-weight: normal; cursor: pointer; } @@ -232,7 +231,11 @@ input[type="checkbox"], } } + // Form control sizing +// +// Build on `.form-control` with modifier classes to decrease or increase the +// height and font-size of form controls. @include input-size('.input-sm', $input-height-small, $padding-small-vertical, $padding-small-horizontal, $font-size-small, $line-height-small, $border-radius-small); @@ -243,18 +246,38 @@ input[type="checkbox"], // // Apply contextual and semantic states to individual form controls. -// Warning +.has-feedback { + // Enable absolute positioning + position: relative; + + // Ensure icons don't overlap text + .form-control { + padding-right: ($input-height-base * 1.25); + } + + // Feedback icon (requires .glyphicon classes) + .form-control-feedback { + position: absolute; + top: ($line-height-computed + 5); // Height of the `label` and its margin + right: 0; + display: block; + width: $input-height-base; + height: $input-height-base; + line-height: $input-height-base; + text-align: center; + } +} + +// Feedback states +.has-success { + @include form-control-validation($state-success-text, $state-success-text, $state-success-bg); +} .has-warning { @include form-control-validation($state-warning-text, $state-warning-text, $state-warning-bg); } -// Error .has-error { @include form-control-validation($state-danger-text, $state-danger-text, $state-danger-bg); } -// Success -.has-success { - @include form-control-validation($state-success-text, $state-success-text, $state-success-bg); -} // Static form control text @@ -295,9 +318,9 @@ input[type="checkbox"], .form-inline { // Kick in the inline - @media (min-width: $screen-sm) { + @media (min-width: $screen-sm-min) { // Inline-block all the things for "inline" - .form-group { + .form-group { display: inline-block; margin-bottom: 0; vertical-align: middle; @@ -306,11 +329,13 @@ input[type="checkbox"], // In navbar-form, allow folks to *not* use `.form-group` .form-control { display: inline-block; + width: auto; // Prevent labels from stacking above inputs in `.form-group` + vertical-align: middle; } - // Override `width: 100%;` when not within a `.form-group` - select.form-control { - width: auto; + .control-label { + margin-bottom: 0; + vertical-align: middle; } // Remove default margin on radios/checkboxes that were used for stacking, and @@ -322,12 +347,21 @@ input[type="checkbox"], margin-top: 0; margin-bottom: 0; padding-left: 0; + vertical-align: middle; } .radio input[type="radio"], .checkbox input[type="checkbox"] { float: none; margin-left: 0; } + + // Validation states + // + // Reposition the icon because it's now within a grid column and columns have + // `position: relative;` on them. Also accounts for the grid gutter padding. + .has-feedback .form-control-feedback { + top: 0; + } } } @@ -353,7 +387,7 @@ input[type="checkbox"], // and other content below items .radio, .checkbox { - min-height: $line-height-computed + ($padding-base-vertical + 1); + min-height: ($line-height-computed + ($padding-base-vertical + 1)); } // Make form groups behave like rows @@ -371,4 +405,13 @@ input[type="checkbox"], text-align: right; } } + + // Validation states + // + // Reposition the icon because it's now within a grid column and columns have + // `position: relative;` on them. Also accounts for the grid gutter padding. + .has-feedback .form-control-feedback { + top: 0; + right: ($grid-gutter-width / 2); + } } diff --git a/_assets/stylesheets/bootstrap/_glyphicons.scss b/_assets/stylesheets/bootstrap/_glyphicons.scss index caff993..c508835 100644 --- a/_assets/stylesheets/bootstrap/_glyphicons.scss +++ b/_assets/stylesheets/bootstrap/_glyphicons.scss @@ -7,6 +7,16 @@ // // Star +// Import the fonts +@font-face { + font-family: 'Glyphicons Halflings'; + src: url(if($bootstrap-sass-asset-helper, twbs-font-path('#{$icon-font-path}#{$icon-font-name}.eot'), '#{$icon-font-path}#{$icon-font-name}.eot')); + src: url(if($bootstrap-sass-asset-helper, twbs-font-path('#{$icon-font-path}#{$icon-font-name}.eot?#iefix'), '#{$icon-font-path}#{$icon-font-name}.eot?#iefix')) format('embedded-opentype'), + url(if($bootstrap-sass-asset-helper, twbs-font-path('#{$icon-font-path}#{$icon-font-name}.woff'), '#{$icon-font-path}#{$icon-font-name}.woff')) format('woff'), + url(if($bootstrap-sass-asset-helper, twbs-font-path('#{$icon-font-path}#{$icon-font-name}.ttf'), '#{$icon-font-path}#{$icon-font-name}.ttf')) format('truetype'), + url(if($bootstrap-sass-asset-helper, twbs-font-path('#{$icon-font-path}#{$icon-font-name}.svg##{$icon-font-svg-id}'), '#{$icon-font-path}#{$icon-font-name}.svg##{$icon-font-svg-id}')) format('svg'); +} + // Catchall baseclass .glyphicon { position: relative; @@ -18,10 +28,6 @@ line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; - - &:empty { - width: 1em; - } } // Individual icons diff --git a/_assets/stylesheets/bootstrap/_grid.scss b/_assets/stylesheets/bootstrap/_grid.scss index 3763e02..10d4a6c 100644 --- a/_assets/stylesheets/bootstrap/_grid.scss +++ b/_assets/stylesheets/bootstrap/_grid.scss @@ -2,14 +2,18 @@ // Grid system // -------------------------------------------------- -// Set the container width, and override it for fixed navbars in media queries + +// Container widths +// +// Set the container width, and override it for fixed navbars in media queries. + .container { @include container-fixed(); - @media (min-width: $screen-sm) { + @media (min-width: $screen-sm-min) { width: $container-sm; } - @media (min-width: $screen-md) { + @media (min-width: $screen-md-min) { width: $container-md; } @media (min-width: $screen-lg-min) { @@ -17,12 +21,30 @@ } } -// mobile first defaults + +// Fluid container +// +// Utilizes the mixin meant for fixed width containers, but without any defined +// width for fluid, full width layouts. + +.container-fluid { + @include container-fixed(); +} + + +// Row +// +// Rows contain and clear the floats of your columns. + .row { @include make-row(); } + +// Columns +// // Common styles for small and large grid columns + @include make-grid-columns(); @@ -76,4 +98,3 @@ @include make-grid($grid-columns, lg, push); @include make-grid($grid-columns, lg, offset); } - diff --git a/_assets/stylesheets/bootstrap/_input-groups.scss b/_assets/stylesheets/bootstrap/_input-groups.scss index 4be458a..0455a49 100644 --- a/_assets/stylesheets/bootstrap/_input-groups.scss +++ b/_assets/stylesheets/bootstrap/_input-groups.scss @@ -17,6 +17,11 @@ } .form-control { + // IE9 fubars the placeholder attribute in text inputs and the arrows on + // select elements in input groups. To fix it, we float the input. Details: + // https://github.com/twbs/bootstrap/issues/11561#issuecomment-28936855 + float: left; + width: 100%; margin-bottom: 0; } @@ -90,8 +95,10 @@ .input-group .form-control:first-child, .input-group-addon:first-child, .input-group-btn:first-child > .btn, +.input-group-btn:first-child > .btn-group > .btn, .input-group-btn:first-child > .dropdown-toggle, -.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle) { +.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), +.input-group-btn:last-child > .btn-group:not(:last-child) > .btn { @include border-right-radius(0); } .input-group-addon:first-child { @@ -100,8 +107,10 @@ .input-group .form-control:last-child, .input-group-addon:last-child, .input-group-btn:last-child > .btn, +.input-group-btn:last-child > .btn-group > .btn, .input-group-btn:last-child > .dropdown-toggle, -.input-group-btn:first-child > .btn:not(:first-child) { +.input-group-btn:first-child > .btn:not(:first-child), +.input-group-btn:first-child > .btn-group:not(:first-child) > .btn { @include border-left-radius(0); } .input-group-addon:last-child { @@ -112,25 +121,37 @@ // ------------------------- .input-group-btn { position: relative; + // Jankily prevent input button groups from wrapping with `white-space` and + // `font-size` in combination with `inline-block` on buttons. + font-size: 0; white-space: nowrap; - // Negative margin to only have a 1px border between the two - &:first-child > .btn { - margin-right: -1px; + // Negative margin for spacing, position for bringing hovered/focused/actived + // element above the siblings. + > .btn { + position: relative; + + .btn { + margin-left: -1px; + } + // Bring the "active" button to the front + &:hover, + &:focus, + &:active { + z-index: 2; + } } - &:last-child > .btn { - margin-left: -1px; - } -} -.input-group-btn > .btn { - position: relative; - // Jankily prevent input button groups from wrapping - + .btn { - margin-left: -4px; + + // Negative margin to only have a 1px border between the two + &:first-child { + > .btn, + > .btn-group { + margin-right: -1px; + } } - // Bring the "active" button to the front - &:hover, - &:active { - z-index: 2; + &:last-child { + > .btn, + > .btn-group { + margin-left: -1px; + } } } diff --git a/_assets/stylesheets/bootstrap/_jumbotron.scss b/_assets/stylesheets/bootstrap/_jumbotron.scss index 221a65d..4e401e7 100644 --- a/_assets/stylesheets/bootstrap/_jumbotron.scss +++ b/_assets/stylesheets/bootstrap/_jumbotron.scss @@ -6,19 +6,17 @@ .jumbotron { padding: $jumbotron-padding; margin-bottom: $jumbotron-padding; - font-size: $jumbotron-font-size; - font-weight: 200; - line-height: ($line-height-base * 1.5); color: $jumbotron-color; background-color: $jumbotron-bg; h1, .h1 { - line-height: 1; color: $jumbotron-heading-color; } p { - line-height: 1.4; + margin-bottom: ($jumbotron-padding / 2); + font-size: $jumbotron-font-size; + font-weight: 200; } .container & { diff --git a/_assets/stylesheets/bootstrap/_list-group.scss b/_assets/stylesheets/bootstrap/_list-group.scss index 19f85d4..b608991 100644 --- a/_assets/stylesheets/bootstrap/_list-group.scss +++ b/_assets/stylesheets/bootstrap/_list-group.scss @@ -2,17 +2,21 @@ // List groups // -------------------------------------------------- + // Base class // // Easily usable on