1
0
Fork 0
mirror of https://github.com/twbs/bootstrap-sass.git synced 2022-11-09 12:27:02 -05:00

Merge pull request #270 from trisweb/tristan_2.2.2

Update bootstrap to 2.2.2 (our 2.2.2.0) :shipit:
This commit is contained in:
Thomas McDonald 2012-12-22 04:42:34 -08:00
commit ce312e5b1d
36 changed files with 529 additions and 249 deletions

View file

@ -13,7 +13,7 @@ Enjoy.
In your Gemfile: In your Gemfile:
gem 'sass-rails', '~> 3.2' gem 'sass-rails', '~> 3.2'
gem 'bootstrap-sass', '~> 2.2.1.1' gem 'bootstrap-sass', '~> 2.2.2.0'
#### CSS #### CSS
@ -94,7 +94,7 @@ Basically this means you should expect to append a separate patch version to the
### Bundler? ### Bundler?
gem 'bootstrap-sass', '~> 2.2.1.1' gem 'bootstrap-sass', '~> 2.2.2.0'
Don't use the standard `~> 2.x.y`. Your apps may break. Don't use the standard `~> 2.x.y`. Your apps may break.

View file

@ -1,6 +1,6 @@
Gem::Specification.new do |s| Gem::Specification.new do |s|
s.name = "bootstrap-sass" s.name = "bootstrap-sass"
s.version = '2.2.1.1' s.version = '2.2.2.0'
s.authors = ["Thomas McDonald"] s.authors = ["Thomas McDonald"]
s.email = 'tom@conceptcoding.co.uk' s.email = 'tom@conceptcoding.co.uk'
s.summary = "Twitter's Bootstrap, converted to Sass and ready to drop into Rails or Compass" s.summary = "Twitter's Bootstrap, converted to Sass and ready to drop into Rails or Compass"

View file

@ -13,9 +13,13 @@ cp -r $TMP/js/* $ROOT/javascripts
cp -r $TMP/img/* $ROOT/images cp -r $TMP/img/* $ROOT/images
# Remove tests # Remove tests
rm -r $ROOT/javascripts/tests rm -r $ROOT/javascripts/tests
rm -r $ROOT/stylesheets/tests rm -r $ROOT/stylesheets/bootstrap/tests
# Patch the asset-url in _variables.scss # Patch the asset-url in _variables.scss
patch -f vendor/assets/stylesheets/bootstrap/_variables.scss < asseturl.patch patch -f vendor/assets/stylesheets/bootstrap/_variables.scss < asseturl.patch
# Patch paths in bootstrap.scss and responsive.scss
sed -i .bak 's_@import \"_@import \"bootstrap/_g' $ROOT/stylesheets/bootstrap/{bootstrap,responsive}.scss
rm $ROOT/stylesheets/bootstrap/*.bak
rm -rf $TMP rm -rf $TMP

View file

@ -1,5 +1,5 @@
/* ========================================================== /* ==========================================================
* bootstrap-affix.js v2.2.1 * bootstrap-affix.js v2.2.2
* http://twitter.github.com/bootstrap/javascript.html#affix * http://twitter.github.com/bootstrap/javascript.html#affix
* ========================================================== * ==========================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@ -68,6 +68,8 @@
/* AFFIX PLUGIN DEFINITION /* AFFIX PLUGIN DEFINITION
* ======================= */ * ======================= */
var old = $.fn.affix
$.fn.affix = function (option) { $.fn.affix = function (option) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
@ -85,6 +87,15 @@
} }
/* AFFIX NO CONFLICT
* ================= */
$.fn.affix.noConflict = function () {
$.fn.affix = old
return this
}
/* AFFIX DATA-API /* AFFIX DATA-API
* ============== */ * ============== */

View file

@ -1,5 +1,5 @@
/* ========================================================== /* ==========================================================
* bootstrap-alert.js v2.2.1 * bootstrap-alert.js v2.2.2
* http://twitter.github.com/bootstrap/javascript.html#alerts * http://twitter.github.com/bootstrap/javascript.html#alerts
* ========================================================== * ==========================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@ -68,6 +68,8 @@
/* ALERT PLUGIN DEFINITION /* ALERT PLUGIN DEFINITION
* ======================= */ * ======================= */
var old = $.fn.alert
$.fn.alert = function (option) { $.fn.alert = function (option) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
@ -80,6 +82,15 @@
$.fn.alert.Constructor = Alert $.fn.alert.Constructor = Alert
/* ALERT NO CONFLICT
* ================= */
$.fn.alert.noConflict = function () {
$.fn.alert = old
return this
}
/* ALERT DATA-API /* ALERT DATA-API
* ============== */ * ============== */

View file

@ -1,5 +1,5 @@
/* ============================================================ /* ============================================================
* bootstrap-button.js v2.2.1 * bootstrap-button.js v2.2.2
* http://twitter.github.com/bootstrap/javascript.html#buttons * http://twitter.github.com/bootstrap/javascript.html#buttons
* ============================================================ * ============================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@ -64,6 +64,8 @@
/* BUTTON PLUGIN DEFINITION /* BUTTON PLUGIN DEFINITION
* ======================== */ * ======================== */
var old = $.fn.button
$.fn.button = function (option) { $.fn.button = function (option) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
@ -82,6 +84,15 @@
$.fn.button.Constructor = Button $.fn.button.Constructor = Button
/* BUTTON NO CONFLICT
* ================== */
$.fn.button.noConflict = function () {
$.fn.button = old
return this
}
/* BUTTON DATA-API /* BUTTON DATA-API
* =============== */ * =============== */

View file

@ -1,5 +1,5 @@
/* ========================================================== /* ==========================================================
* bootstrap-carousel.js v2.2.1 * bootstrap-carousel.js v2.2.2
* http://twitter.github.com/bootstrap/javascript.html#carousel * http://twitter.github.com/bootstrap/javascript.html#carousel
* ========================================================== * ==========================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@ -29,7 +29,6 @@
var Carousel = function (element, options) { var Carousel = function (element, options) {
this.$element = $(element) this.$element = $(element)
this.options = options this.options = options
this.options.slide && this.slide(this.options.slide)
this.options.pause == 'hover' && this.$element this.options.pause == 'hover' && this.$element
.on('mouseenter', $.proxy(this.pause, this)) .on('mouseenter', $.proxy(this.pause, this))
.on('mouseleave', $.proxy(this.cycle, this)) .on('mouseleave', $.proxy(this.cycle, this))
@ -141,6 +140,8 @@
/* CAROUSEL PLUGIN DEFINITION /* CAROUSEL PLUGIN DEFINITION
* ========================== */ * ========================== */
var old = $.fn.carousel
$.fn.carousel = function (option) { $.fn.carousel = function (option) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
@ -162,6 +163,14 @@
$.fn.carousel.Constructor = Carousel $.fn.carousel.Constructor = Carousel
/* CAROUSEL NO CONFLICT
* ==================== */
$.fn.carousel.noConflict = function () {
$.fn.carousel = old
return this
}
/* CAROUSEL DATA-API /* CAROUSEL DATA-API
* ================= */ * ================= */

View file

@ -1,5 +1,5 @@
/* ============================================================= /* =============================================================
* bootstrap-collapse.js v2.2.1 * bootstrap-collapse.js v2.2.2
* http://twitter.github.com/bootstrap/javascript.html#collapse * http://twitter.github.com/bootstrap/javascript.html#collapse
* ============================================================= * =============================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@ -120,8 +120,10 @@
} }
/* COLLAPSIBLE PLUGIN DEFINITION /* COLLAPSE PLUGIN DEFINITION
* ============================== */ * ========================== */
var old = $.fn.collapse
$.fn.collapse = function (option) { $.fn.collapse = function (option) {
return this.each(function () { return this.each(function () {
@ -140,9 +142,18 @@
$.fn.collapse.Constructor = Collapse $.fn.collapse.Constructor = Collapse
/* COLLAPSIBLE DATA-API /* COLLAPSE NO CONFLICT
* ==================== */ * ==================== */
$.fn.collapse.noConflict = function () {
$.fn.collapse = old
return this
}
/* COLLAPSE DATA-API
* ================= */
$(document).on('click.collapse.data-api', '[data-toggle=collapse]', function (e) { $(document).on('click.collapse.data-api', '[data-toggle=collapse]', function (e) {
var $this = $(this), href var $this = $(this), href
, target = $this.attr('data-target') , target = $this.attr('data-target')

View file

@ -1,5 +1,5 @@
/* ============================================================ /* ============================================================
* bootstrap-dropdown.js v2.2.1 * bootstrap-dropdown.js v2.2.2
* http://twitter.github.com/bootstrap/javascript.html#dropdowns * http://twitter.github.com/bootstrap/javascript.html#dropdowns
* ============================================================ * ============================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@ -53,9 +53,10 @@
if (!isActive) { if (!isActive) {
$parent.toggleClass('open') $parent.toggleClass('open')
$this.focus()
} }
$this.focus()
return false return false
} }
@ -82,7 +83,7 @@
if (!isActive || (isActive && e.keyCode == 27)) return $this.click() if (!isActive || (isActive && e.keyCode == 27)) return $this.click()
$items = $('[role=menu] li:not(.divider) a', $parent) $items = $('[role=menu] li:not(.divider):visible a', $parent)
if (!$items.length) return if (!$items.length) return
@ -124,6 +125,8 @@
/* DROPDOWN PLUGIN DEFINITION /* DROPDOWN PLUGIN DEFINITION
* ========================== */ * ========================== */
var old = $.fn.dropdown
$.fn.dropdown = function (option) { $.fn.dropdown = function (option) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
@ -136,12 +139,22 @@
$.fn.dropdown.Constructor = Dropdown $.fn.dropdown.Constructor = Dropdown
/* DROPDOWN NO CONFLICT
* ==================== */
$.fn.dropdown.noConflict = function () {
$.fn.dropdown = old
return this
}
/* APPLY TO STANDARD DROPDOWN ELEMENTS /* APPLY TO STANDARD DROPDOWN ELEMENTS
* =================================== */ * =================================== */
$(document) $(document)
.on('click.dropdown.data-api touchstart.dropdown.data-api', clearMenus) .on('click.dropdown.data-api touchstart.dropdown.data-api', clearMenus)
.on('click.dropdown touchstart.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() }) .on('click.dropdown touchstart.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
.on('touchstart.dropdown.data-api', '.dropdown-menu', function (e) { e.stopPropagation() })
.on('click.dropdown.data-api touchstart.dropdown.data-api' , toggle, Dropdown.prototype.toggle) .on('click.dropdown.data-api touchstart.dropdown.data-api' , toggle, Dropdown.prototype.toggle)
.on('keydown.dropdown.data-api touchstart.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown) .on('keydown.dropdown.data-api touchstart.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown)

View file

@ -1,5 +1,5 @@
/* ========================================================= /* =========================================================
* bootstrap-modal.js v2.2.1 * bootstrap-modal.js v2.2.2
* http://twitter.github.com/bootstrap/javascript.html#modals * http://twitter.github.com/bootstrap/javascript.html#modals
* ========================================================= * =========================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@ -193,6 +193,8 @@
/* MODAL PLUGIN DEFINITION /* MODAL PLUGIN DEFINITION
* ======================= */ * ======================= */
var old = $.fn.modal
$.fn.modal = function (option) { $.fn.modal = function (option) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
@ -213,6 +215,15 @@
$.fn.modal.Constructor = Modal $.fn.modal.Constructor = Modal
/* MODAL NO CONFLICT
* ================= */
$.fn.modal.noConflict = function () {
$.fn.modal = old
return this
}
/* MODAL DATA-API /* MODAL DATA-API
* ============== */ * ============== */

View file

@ -1,5 +1,5 @@
/* =========================================================== /* ===========================================================
* bootstrap-popover.js v2.2.1 * bootstrap-popover.js v2.2.2
* http://twitter.github.com/bootstrap/javascript.html#popovers * http://twitter.github.com/bootstrap/javascript.html#popovers
* =========================================================== * ===========================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@ -44,7 +44,7 @@
, content = this.getContent() , content = this.getContent()
$tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title) $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title)
$tip.find('.popover-content > *')[this.options.html ? 'html' : 'text'](content) $tip.find('.popover-content')[this.options.html ? 'html' : 'text'](content)
$tip.removeClass('fade top bottom left right in') $tip.removeClass('fade top bottom left right in')
} }
@ -81,6 +81,8 @@
/* POPOVER PLUGIN DEFINITION /* POPOVER PLUGIN DEFINITION
* ======================= */ * ======================= */
var old = $.fn.popover
$.fn.popover = function (option) { $.fn.popover = function (option) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
@ -97,7 +99,16 @@
placement: 'right' placement: 'right'
, trigger: 'click' , trigger: 'click'
, content: '' , content: ''
, template: '<div class="popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><p></p></div></div></div>' , template: '<div class="popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"></div></div></div>'
}) })
/* POPOVER NO CONFLICT
* =================== */
$.fn.popover.noConflict = function () {
$.fn.popover = old
return this
}
}(window.jQuery); }(window.jQuery);

View file

@ -1,5 +1,5 @@
/* ============================================================= /* =============================================================
* bootstrap-scrollspy.js v2.2.1 * bootstrap-scrollspy.js v2.2.2
* http://twitter.github.com/bootstrap/javascript.html#scrollspy * http://twitter.github.com/bootstrap/javascript.html#scrollspy
* ============================================================= * =============================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@ -59,7 +59,7 @@
, $href = /^#\w/.test(href) && $(href) , $href = /^#\w/.test(href) && $(href)
return ( $href return ( $href
&& $href.length && $href.length
&& [[ $href.position().top, href ]] ) || null && [[ $href.position().top + self.$scrollElement.scrollTop(), href ]] ) || null
}) })
.sort(function (a, b) { return a[0] - b[0] }) .sort(function (a, b) { return a[0] - b[0] })
.each(function () { .each(function () {
@ -121,6 +121,8 @@
/* SCROLLSPY PLUGIN DEFINITION /* SCROLLSPY PLUGIN DEFINITION
* =========================== */ * =========================== */
var old = $.fn.scrollspy
$.fn.scrollspy = function (option) { $.fn.scrollspy = function (option) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
@ -138,6 +140,15 @@
} }
/* SCROLLSPY NO CONFLICT
* ===================== */
$.fn.scrollspy.noConflict = function () {
$.fn.scrollspy = old
return this
}
/* SCROLLSPY DATA-API /* SCROLLSPY DATA-API
* ================== */ * ================== */

View file

@ -1,5 +1,5 @@
/* ======================================================== /* ========================================================
* bootstrap-tab.js v2.2.1 * bootstrap-tab.js v2.2.2
* http://twitter.github.com/bootstrap/javascript.html#tabs * http://twitter.github.com/bootstrap/javascript.html#tabs
* ======================================================== * ========================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@ -110,6 +110,8 @@
/* TAB PLUGIN DEFINITION /* TAB PLUGIN DEFINITION
* ===================== */ * ===================== */
var old = $.fn.tab
$.fn.tab = function ( option ) { $.fn.tab = function ( option ) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
@ -122,6 +124,15 @@
$.fn.tab.Constructor = Tab $.fn.tab.Constructor = Tab
/* TAB NO CONFLICT
* =============== */
$.fn.tab.noConflict = function () {
$.fn.tab = old
return this
}
/* TAB DATA-API /* TAB DATA-API
* ============ */ * ============ */

View file

@ -1,5 +1,5 @@
/* =========================================================== /* ===========================================================
* bootstrap-tooltip.js v2.2.1 * bootstrap-tooltip.js v2.2.2
* http://twitter.github.com/bootstrap/javascript.html#tooltips * http://twitter.github.com/bootstrap/javascript.html#tooltips
* Inspired by the original jQuery.tipsy by Jason Frame * Inspired by the original jQuery.tipsy by Jason Frame
* =========================================================== * ===========================================================
@ -250,6 +250,8 @@
/* TOOLTIP PLUGIN DEFINITION /* TOOLTIP PLUGIN DEFINITION
* ========================= */ * ========================= */
var old = $.fn.tooltip
$.fn.tooltip = function ( option ) { $.fn.tooltip = function ( option ) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
@ -273,4 +275,13 @@
, html: false , html: false
} }
/* TOOLTIP NO CONFLICT
* =================== */
$.fn.tooltip.noConflict = function () {
$.fn.tooltip = old
return this
}
}(window.jQuery); }(window.jQuery);

View file

@ -1,5 +1,5 @@
/* =================================================== /* ===================================================
* bootstrap-transition.js v2.2.1 * bootstrap-transition.js v2.2.2
* http://twitter.github.com/bootstrap/javascript.html#transitions * http://twitter.github.com/bootstrap/javascript.html#transitions
* =================================================== * ===================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.

View file

@ -1,5 +1,5 @@
/* ============================================================= /* =============================================================
* bootstrap-typeahead.js v2.2.1 * bootstrap-typeahead.js v2.2.2
* http://twitter.github.com/bootstrap/javascript.html#typeahead * http://twitter.github.com/bootstrap/javascript.html#typeahead
* ============================================================= * =============================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@ -33,8 +33,8 @@
this.sorter = this.options.sorter || this.sorter this.sorter = this.options.sorter || this.sorter
this.highlighter = this.options.highlighter || this.highlighter this.highlighter = this.options.highlighter || this.highlighter
this.updater = this.options.updater || this.updater this.updater = this.options.updater || this.updater
this.$menu = $(this.options.menu).appendTo('body')
this.source = this.options.source this.source = this.options.source
this.$menu = $(this.options.menu)
this.shown = false this.shown = false
this.listen() this.listen()
} }
@ -56,16 +56,18 @@
} }
, show: function () { , show: function () {
var pos = $.extend({}, this.$element.offset(), { var pos = $.extend({}, this.$element.position(), {
height: this.$element[0].offsetHeight height: this.$element[0].offsetHeight
}) })
this.$menu.css({ this.$menu
.insertAfter(this.$element)
.css({
top: pos.top + pos.height top: pos.top + pos.height
, left: pos.left , left: pos.left
}) })
.show()
this.$menu.show()
this.shown = true this.shown = true
return this return this
} }
@ -217,7 +219,7 @@
} }
, keydown: function (e) { , keydown: function (e) {
this.suppressKeyPressRepeat = !~$.inArray(e.keyCode, [40,38,9,13,27]) this.suppressKeyPressRepeat = ~$.inArray(e.keyCode, [40,38,9,13,27])
this.move(e) this.move(e)
} }
@ -276,6 +278,8 @@
/* TYPEAHEAD PLUGIN DEFINITION /* TYPEAHEAD PLUGIN DEFINITION
* =========================== */ * =========================== */
var old = $.fn.typeahead
$.fn.typeahead = function (option) { $.fn.typeahead = function (option) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
@ -297,6 +301,15 @@
$.fn.typeahead.Constructor = Typeahead $.fn.typeahead.Constructor = Typeahead
/* TYPEAHEAD NO CONFLICT
* =================== */
$.fn.typeahead.noConflict = function () {
$.fn.typeahead = old
return this
}
/* TYPEAHEAD DATA-API /* TYPEAHEAD DATA-API
* ================== */ * ================== */

View file

@ -13,6 +13,10 @@
background-color: $warningBackground; background-color: $warningBackground;
border: 1px solid $warningBorder; border: 1px solid $warningBorder;
@include border-radius($baseBorderRadius); @include border-radius($baseBorderRadius);
}
.alert,
.alert h4 {
// Specified for the h4 to prevent conflicts of changing $headingsColor
color: $warningText; color: $warningText;
} }
.alert h4 { .alert h4 {
@ -36,17 +40,27 @@
border-color: $successBorder; border-color: $successBorder;
color: $successText; color: $successText;
} }
.alert-success h4 {
color: $successText;
}
.alert-danger, .alert-danger,
.alert-error { .alert-error {
background-color: $errorBackground; background-color: $errorBackground;
border-color: $errorBorder; border-color: $errorBorder;
color: $errorText; color: $errorText;
} }
.alert-danger h4,
.alert-error h4 {
color: $errorText;
}
.alert-info { .alert-info {
background-color: $infoBackground; background-color: $infoBackground;
border-color: $infoBorder; border-color: $infoBorder;
color: $infoText; color: $infoText;
} }
.alert-info h4 {
color: $infoText;
}
// Block alerts // Block alerts

View file

@ -9,15 +9,15 @@
list-style: none; list-style: none;
background-color: #f5f5f5; background-color: #f5f5f5;
@include border-radius($baseBorderRadius); @include border-radius($baseBorderRadius);
li { > li {
display: inline-block; display: inline-block;
@include ie7-inline-block(); @include ie7-inline-block();
text-shadow: 0 1px 0 $white; text-shadow: 0 1px 0 $white;
} > .divider {
.divider {
padding: 0 5px; padding: 0 5px;
color: #ccc; color: #ccc;
} }
}
.active { .active {
color: $grayLight; color: $grayLight;
} }

View file

@ -24,9 +24,9 @@
font-size: 0; // Hack to remove whitespace that results from using inline-block font-size: 0; // Hack to remove whitespace that results from using inline-block
margin-top: $baseLineHeight / 2; margin-top: $baseLineHeight / 2;
margin-bottom: $baseLineHeight / 2; margin-bottom: $baseLineHeight / 2;
.btn + .btn, > .btn + .btn,
.btn-group + .btn, > .btn-group + .btn,
.btn + .btn-group { > .btn + .btn-group {
margin-left: 5px; margin-left: 5px;
} }
} }
@ -40,59 +40,44 @@
margin-left: -1px; margin-left: -1px;
} }
.btn-group > .btn, .btn-group > .btn,
.btn-group > .dropdown-menu { .btn-group > .dropdown-menu,
.btn-group > .popover {
font-size: $baseFontSize; // redeclare as part 2 of font-size inline-block hack font-size: $baseFontSize; // redeclare as part 2 of font-size inline-block hack
} }
// Reset fonts for other sizes // Reset fonts for other sizes
.btn-group > .btn-mini { .btn-group > .btn-mini {
font-size: 11px; font-size: $fontSizeMini;
} }
.btn-group > .btn-small { .btn-group > .btn-small {
font-size: 12px; font-size: $fontSizeSmall;
} }
.btn-group > .btn-large { .btn-group > .btn-large {
font-size: 16px; font-size: $fontSizeLarge;
} }
// Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match // Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match
.btn-group > .btn:first-child { .btn-group > .btn:first-child {
margin-left: 0; margin-left: 0;
-webkit-border-top-left-radius: 4px; @include border-top-left-radius($baseBorderRadius);
-moz-border-radius-topleft: 4px; @include border-bottom-left-radius($baseBorderRadius);
border-top-left-radius: 4px;
-webkit-border-bottom-left-radius: 4px;
-moz-border-radius-bottomleft: 4px;
border-bottom-left-radius: 4px;
} }
// Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu immediately after it // Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu immediately after it
.btn-group > .btn:last-child, .btn-group > .btn:last-child,
.btn-group > .dropdown-toggle { .btn-group > .dropdown-toggle {
-webkit-border-top-right-radius: 4px; @include border-top-right-radius($baseBorderRadius);
-moz-border-radius-topright: 4px; @include border-bottom-right-radius($baseBorderRadius);
border-top-right-radius: 4px;
-webkit-border-bottom-right-radius: 4px;
-moz-border-radius-bottomright: 4px;
border-bottom-right-radius: 4px;
} }
// Reset corners for large buttons // Reset corners for large buttons
.btn-group > .btn.large:first-child { .btn-group > .btn.large:first-child {
margin-left: 0; margin-left: 0;
-webkit-border-top-left-radius: 6px; @include border-top-left-radius($borderRadiusLarge);
-moz-border-radius-topleft: 6px; @include border-bottom-left-radius($borderRadiusLarge);
border-top-left-radius: 6px;
-webkit-border-bottom-left-radius: 6px;
-moz-border-radius-bottomleft: 6px;
border-bottom-left-radius: 6px;
} }
.btn-group > .btn.large:last-child, .btn-group > .btn.large:last-child,
.btn-group > .large.dropdown-toggle { .btn-group > .large.dropdown-toggle {
-webkit-border-top-right-radius: 6px; @include border-top-right-radius($borderRadiusLarge);
-moz-border-radius-topright: 6px; @include border-bottom-right-radius($borderRadiusLarge);
border-top-right-radius: 6px;
-webkit-border-bottom-right-radius: 6px;
-moz-border-radius-bottomright: 6px;
border-bottom-right-radius: 6px;
} }
// On hover/focus/active, bring the proper btn to front // On hover/focus/active, bring the proper btn to front
@ -218,25 +203,25 @@
display: inline-block; // makes buttons only take up the width they need display: inline-block; // makes buttons only take up the width they need
@include ie7-inline-block(); @include ie7-inline-block();
} }
.btn-group-vertical .btn { .btn-group-vertical > .btn {
display: block; display: block;
float: none; float: none;
width: 100%; max-width: 100%;
@include border-radius(0); @include border-radius(0);
} }
.btn-group-vertical .btn + .btn { .btn-group-vertical > .btn + .btn {
margin-left: 0; margin-left: 0;
margin-top: -1px; margin-top: -1px;
} }
.btn-group-vertical .btn:first-child { .btn-group-vertical > .btn:first-child {
@include border-radius(4px 4px 0 0); @include border-radius($baseBorderRadius $baseBorderRadius 0 0);
} }
.btn-group-vertical .btn:last-child { .btn-group-vertical > .btn:last-child {
@include border-radius(0 0 4px 4px); @include border-radius(0 0 $baseBorderRadius $baseBorderRadius);
} }
.btn-group-vertical .btn-large:first-child { .btn-group-vertical > .btn-large:first-child {
@include border-radius(6px 6px 0 0); @include border-radius($borderRadiusLarge $borderRadiusLarge 0 0);
} }
.btn-group-vertical .btn-large:last-child { .btn-group-vertical > .btn-large:last-child {
@include border-radius(0 0 6px 6px); @include border-radius(0 0 $borderRadiusLarge $borderRadiusLarge);
} }

View file

@ -14,7 +14,6 @@
margin-bottom: 0; // For input.btn margin-bottom: 0; // For input.btn
font-size: $baseFontSize; font-size: $baseFontSize;
line-height: $baseLineHeight; line-height: $baseLineHeight;
*line-height: $baseLineHeight;
text-align: center; text-align: center;
vertical-align: middle; vertical-align: middle;
cursor: pointer; cursor: pointer;
@ -30,8 +29,6 @@
&:hover { &:hover {
color: $grayDark; color: $grayDark;
text-decoration: none; text-decoration: none;
background-color: darken($white, 10%);
*background-color: darken($white, 15%); /* Buttons in IE7 don't get borders, so darken on hover */
background-position: 0 -15px; background-position: 0 -15px;
// transition is only when going to hover, otherwise the background // transition is only when going to hover, otherwise the background
@ -47,8 +44,6 @@
// Active state // Active state
&.active, &.active,
&:active { &:active {
background-color: darken($white, 10%);
background-color: darken($white, 15%) \9;
background-image: none; background-image: none;
outline: 0; outline: 0;
@include box-shadow(inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05)); @include box-shadow(inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05));
@ -58,7 +53,6 @@
&.disabled, &.disabled,
&[disabled] { &[disabled] {
cursor: default; cursor: default;
background-color: darken($white, 10%);
background-image: none; background-image: none;
@include opacity(65); @include opacity(65);
@include box-shadow(none); @include box-shadow(none);
@ -79,7 +73,7 @@
} }
.btn-large [class^="icon-"], .btn-large [class^="icon-"],
.btn-large [class*=" icon-"] { .btn-large [class*=" icon-"] {
margin-top: 2px; margin-top: 4px;
} }
// Small // Small
@ -92,6 +86,10 @@
.btn-small [class*=" icon-"] { .btn-small [class*=" icon-"] {
margin-top: 0; margin-top: 0;
} }
.btn-mini [class^="icon-"],
.btn-mini [class*=" icon-"] {
margin-top: -1px;
}
// Mini // Mini
.btn-mini { .btn-mini {

View file

@ -15,50 +15,50 @@
position: relative; position: relative;
} }
.carousel { .carousel-inner {
.item { > .item {
display: none; display: none;
position: relative; position: relative;
@include transition(.6s ease-in-out left); @include transition(.6s ease-in-out left);
} }
// Account for jankitude on images // Account for jankitude on images
.item > img { > .item > img {
display: block; display: block;
line-height: 1; line-height: 1;
} }
.active, > .active,
.next, > .next,
.prev { display: block; } > .prev { display: block; }
.active { > .active {
left: 0; left: 0;
} }
.next, > .next,
.prev { > .prev {
position: absolute; position: absolute;
top: 0; top: 0;
width: 100%; width: 100%;
} }
.next { > .next {
left: 100%; left: 100%;
} }
.prev { > .prev {
left: -100%; left: -100%;
} }
.next.left, > .next.left,
.prev.right { > .prev.right {
left: 0; left: 0;
} }
.active.left { > .active.left {
left: -100%; left: -100%;
} }
.active.right { > .active.right {
left: 100%; left: 100%;
} }

View file

@ -19,6 +19,7 @@ code {
color: #d14; color: #d14;
background-color: #f7f7f9; background-color: #f7f7f9;
border: 1px solid #e1e1e8; border: 1px solid #e1e1e8;
white-space: nowrap;
} }
// Blocks of code // Blocks of code
@ -46,6 +47,8 @@ pre {
code { code {
padding: 0; padding: 0;
color: inherit; color: inherit;
white-space: pre;
white-space: pre-wrap;
background-color: transparent; background-color: transparent;
border: 0; border: 0;
} }

View file

@ -115,6 +115,7 @@
text-decoration: none; text-decoration: none;
background-color: transparent; background-color: transparent;
background-image: none; // Remove CSS gradient background-image: none; // Remove CSS gradient
@include reset-filter();
cursor: default; cursor: default;
} }
@ -168,9 +169,7 @@
left: 100%; left: 100%;
margin-top: -6px; margin-top: -6px;
margin-left: -1px; margin-left: -1px;
-webkit-border-radius: 0 6px 6px 6px; @include border-radius(0 6px 6px 6px);
-moz-border-radius: 0 6px 6px 6px;
border-radius: 0 6px 6px 6px;
} }
.dropdown-submenu:hover > .dropdown-menu { .dropdown-submenu:hover > .dropdown-menu {
display: block; display: block;
@ -182,9 +181,7 @@
bottom: 0; bottom: 0;
margin-top: 0; margin-top: 0;
margin-bottom: -2px; margin-bottom: -2px;
-webkit-border-radius: 5px 5px 5px 0; @include border-radius(5px 5px 5px 0);
-moz-border-radius: 5px 5px 5px 0;
border-radius: 5px 5px 5px 0;
} }
// Caret to indicate there is a submenu // Caret to indicate there is a submenu
@ -215,9 +212,7 @@
> .dropdown-menu { > .dropdown-menu {
left: -100%; left: -100%;
margin-left: 10px; margin-left: 10px;
-webkit-border-radius: 6px 0 6px 6px; @include border-radius(6px 0 6px 6px);
-moz-border-radius: 6px 0 6px 6px;
border-radius: 6px 0 6px 6px;
} }
} }
@ -232,6 +227,7 @@
// Typeahead // Typeahead
// --------- // ---------
.typeahead { .typeahead {
z-index: 1051;
margin-top: 2px; // give it some space to breathe margin-top: 2px; // give it some space to breathe
@include border-radius($baseBorderRadius); @include border-radius($baseBorderRadius);
} }

View file

@ -138,7 +138,6 @@ input[type="checkbox"] {
*margin-top: 0; /* IE7 */ *margin-top: 0; /* IE7 */
margin-top: 1px \9; /* IE8-9 */ margin-top: 1px \9; /* IE8-9 */
line-height: normal; line-height: normal;
cursor: pointer;
} }
// Reset width of input images, buttons, radios, checkboxes // Reset width of input images, buttons, radios, checkboxes
@ -367,9 +366,9 @@ input[type="checkbox"][readonly] {
// HTML5 invalid states // HTML5 invalid states
// Shares styles with the .control-group.error above // Shares styles with the .control-group.error above
input:focus:required:invalid, input:focus:invalid,
textarea:focus:required:invalid, textarea:focus:invalid,
select:focus:required:invalid { select:focus:invalid {
color: #b94a48; color: #b94a48;
border-color: #ee5f5b; border-color: #ee5f5b;
&:focus { &:focus {
@ -462,7 +461,8 @@ select:focus:required:invalid {
border: 1px solid #ccc; border: 1px solid #ccc;
} }
.add-on, .add-on,
.btn { .btn,
.btn-group > .dropdown-toggle {
vertical-align: top; vertical-align: top;
@include border-radius(0); @include border-radius(0);
} }
@ -489,7 +489,7 @@ select:focus:required:invalid {
select, select,
.uneditable-input { .uneditable-input {
@include border-radius($inputBorderRadius 0 0 $inputBorderRadius); @include border-radius($inputBorderRadius 0 0 $inputBorderRadius);
+ .btn-group .btn { + .btn-group .btn:last-child {
@include border-radius(0 $inputBorderRadius $inputBorderRadius 0); @include border-radius(0 $inputBorderRadius $inputBorderRadius 0);
} }
} }
@ -499,7 +499,8 @@ select:focus:required:invalid {
margin-left: -1px; margin-left: -1px;
} }
.add-on:last-child, .add-on:last-child,
.btn:last-child { .btn:last-child,
.btn-group:last-child > .dropdown-toggle {
@include border-radius(0 $inputBorderRadius $inputBorderRadius 0); @include border-radius(0 $inputBorderRadius $inputBorderRadius 0);
} }
} }
@ -670,7 +671,10 @@ legend + .control-group {
// And apply it only to .help-block instances that follow a form control // And apply it only to .help-block instances that follow a form control
input, input,
select, select,
textarea { textarea,
.uneditable-input,
.input-prepend,
.input-append {
+ .help-block { + .help-block {
margin-top: $baseLineHeight / 2; margin-top: $baseLineHeight / 2;
} }

View file

@ -27,6 +27,14 @@
@include border-radius(9px); @include border-radius(9px);
} }
// Empty labels/badges collapse
.label,
.badge {
&:empty {
display: none;
}
}
// Hover state, but only for links // Hover state, but only for links
a { a {
&.label:hover, &.label:hover,
@ -39,21 +47,23 @@ a {
// Colors // Colors
// Only give background-color difference to links (and to simplify, we don't qualifty with `a` but [href] attribute) // Only give background-color difference to links (and to simplify, we don't qualifty with `a` but [href] attribute)
@each $item in label, badge {
// Important (red) // Important (red)
.label-important, .badge-important { background-color: $errorText; } .#{$item}-important { background-color: $errorText; }
.label-important[href], .badge-important[href] { background-color: darken($errorText, 10%); } .#{$item}-important[href] { background-color: darken($errorText, 10%); }
// Warnings (orange) // Warnings (orange)
.label-warning, .badge-warning { background-color: $orange; } .#{$item}-warning { background-color: $orange; }
.label-warning[href], .badge-warning[href] { background-color: darken($orange, 10%); } .#{$item}-warning[href] { background-color: darken($orange, 10%); }
// Success (green) // Success (green)
.label-success, .badge-success { background-color: $successText; } .#{$item}-success { background-color: $successText; }
.label-success[href], .badge-success[href] { background-color: darken($successText, 10%); } .#{$item}-success[href] { background-color: darken($successText, 10%); }
// Info (turquoise) // Info (turquoise)
.label-info, .badge-info { background-color: $infoText; } .#{$item}-info { background-color: $infoText; }
.label-info[href], .badge-info[href] { background-color: darken($infoText, 10%); } .#{$item}-info[href] { background-color: darken($infoText, 10%); }
// Inverse (black) // Inverse (black)
.label-inverse, .badge-inverse { background-color: $grayDark; } .#{$item}-inverse { background-color: $grayDark; }
.label-inverse[href], .badge-inverse[href] { background-color: darken($grayDark, 10%); } .#{$item}-inverse[href] { background-color: darken($grayDark, 10%); }
}
// Quick fix for labels/badges in buttons // Quick fix for labels/badges in buttons
.btn { .btn {

View file

@ -111,6 +111,7 @@
border: 0; border: 0;
} }
// FONTS // FONTS
// -------------------------------------------------- // --------------------------------------------------
@ -158,7 +159,7 @@
// Mixin for form field states // Mixin for form field states
@mixin formFieldState($textColor: #555, $borderColor: #ccc, $backgroundColor: #f5f5f5) { @mixin formFieldState($textColor: #555, $borderColor: #ccc, $backgroundColor: #f5f5f5) {
// Set the text color // Set the text color
> label, .control-label,
.help-block, .help-block,
.help-inline { .help-inline {
color: $textColor; color: $textColor;
@ -256,7 +257,6 @@
-o-transition: $transition; -o-transition: $transition;
transition: $transition; transition: $transition;
} }
@mixin transition-delay($transition-delay) { @mixin transition-delay($transition-delay) {
-webkit-transition-delay: $transition-delay; -webkit-transition-delay: $transition-delay;
-moz-transition-delay: $transition-delay; -moz-transition-delay: $transition-delay;
@ -413,7 +413,7 @@
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($startColor)}', endColorstr='#{ie-hex-str($endColor)}', GradientType=1); // IE9 and down filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($startColor)}', endColorstr='#{ie-hex-str($endColor)}', GradientType=1); // IE9 and down
} }
@mixin gradient-vertical($startColor: #555, $endColor: #333) { @mixin gradient-vertical($startColor: #555, $endColor: #333) {
background-color: mix($startColor, $endColor, 62.5%); background-color: mix($startColor, $endColor, 60%);
background-image: -moz-linear-gradient(top, $startColor, $endColor); // FF 3.6+ background-image: -moz-linear-gradient(top, $startColor, $endColor); // FF 3.6+
background-image: -webkit-gradient(linear, 0 0, 0 100%, from($startColor), to($endColor)); // Safari 4+, Chrome 2+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from($startColor), to($endColor)); // Safari 4+, Chrome 2+
background-image: -webkit-linear-gradient(top, $startColor, $endColor); // Safari 5.1+, Chrome 10+ background-image: -webkit-linear-gradient(top, $startColor, $endColor); // Safari 5.1+, Chrome 10+

View file

@ -26,7 +26,6 @@
top: 50%; top: 50%;
left: 50%; left: 50%;
z-index: $zindexModal; z-index: $zindexModal;
overflow: auto;
width: 560px; width: 560px;
margin: -250px 0 0 -280px; margin: -250px 0 0 -280px;
background-color: $white; background-color: $white;
@ -59,6 +58,7 @@
// Body (where all modal content resides) // Body (where all modal content resides)
.modal-body { .modal-body {
position: relative;
overflow-y: auto; overflow-y: auto;
max-height: 400px; max-height: 400px;
padding: 15px; padding: 15px;

View file

@ -10,7 +10,6 @@
.navbar { .navbar {
overflow: visible; overflow: visible;
margin-bottom: $baseLineHeight; margin-bottom: $baseLineHeight;
color: $navbarText;
// Fix for IE7's bad z-indexing so dropdowns don't appear below content that follows the navbar // Fix for IE7's bad z-indexing so dropdowns don't appear below content that follows the navbar
*position: relative; *position: relative;
@ -67,6 +66,7 @@
.navbar-text { .navbar-text {
margin-bottom: 0; margin-bottom: 0;
line-height: $navbarHeight; line-height: $navbarHeight;
color: $navbarText;
} }
// Janky solution for now to account for links outside the .nav // Janky solution for now to account for links outside the .nav
@ -123,7 +123,7 @@
} }
.input-append, .input-append,
.input-prepend { .input-prepend {
margin-top: 6px; margin-top: 5px;
white-space: nowrap; // preven two items from separating within a .navbar-form that has .pull-left white-space: nowrap; // preven two items from separating within a .navbar-form that has .pull-left
input { input {
margin-top: 0; // remove the margin on top since it's on the parent margin-top: 0; // remove the margin on top since it's on the parent
@ -245,6 +245,7 @@
} }
.navbar .nav .dropdown-toggle .caret { .navbar .nav .dropdown-toggle .caret {
margin-top: 8px; margin-top: 8px;
} }
// Hover // Hover
@ -273,7 +274,7 @@
padding: 7px 10px; padding: 7px 10px;
margin-left: 5px; margin-left: 5px;
margin-right: 5px; margin-right: 5px;
@include buttonBackground(darken($navbarBackgroundHighlight, 5%), darken($navbarBackground, 5.25%)); @include buttonBackground(darken($navbarBackgroundHighlight, 5%), darken($navbarBackground, 5%));
@include box-shadow(inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075)); @include box-shadow(inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075));
} }
.navbar .btn-navbar .icon-bar { .navbar .btn-navbar .icon-bar {
@ -334,6 +335,12 @@
} }
} }
// Caret should match text color on hover
.navbar .nav li.dropdown > a:hover .caret {
border-top-color: $navbarLinkColorActive;
border-bottom-color: $navbarLinkColorActive;
}
// Remove background color from open dropdown // Remove background color from open dropdown
.navbar .nav li.dropdown.open > .dropdown-toggle, .navbar .nav li.dropdown.open > .dropdown-toggle,
.navbar .nav li.dropdown.active > .dropdown-toggle, .navbar .nav li.dropdown.active > .dropdown-toggle,
@ -379,7 +386,6 @@
// ------------------------- // -------------------------
.navbar-inverse { .navbar-inverse {
color: $navbarInverseText;
.navbar-inner { .navbar-inner {
@include gradient-vertical($navbarInverseBackgroundHighlight, $navbarInverseBackground); @include gradient-vertical($navbarInverseBackgroundHighlight, $navbarInverseBackground);
@ -395,6 +401,14 @@
} }
} }
.brand {
color: $navbarInverseBrandColor;
}
.navbar-text {
color: $navbarInverseText;
}
.nav > li > a:focus, .nav > li > a:focus,
.nav > li > a:hover { .nav > li > a:hover {
background-color: $navbarInverseLinkBackgroundHover; background-color: $navbarInverseLinkBackgroundHover;
@ -429,6 +443,10 @@
background-color: $navbarInverseLinkBackgroundActive; background-color: $navbarInverseLinkBackgroundActive;
color: $navbarInverseLinkColorActive; color: $navbarInverseLinkColorActive;
} }
.nav li.dropdown > a:hover .caret {
border-top-color: $navbarInverseLinkColorActive;
color: $navbarInverseLinkColorActive;
}
.nav li.dropdown > .dropdown-toggle .caret { .nav li.dropdown > .dropdown-toggle .caret {
border-top-color: $navbarInverseLinkColor; border-top-color: $navbarInverseLinkColor;
border-bottom-color: $navbarInverseLinkColor; border-bottom-color: $navbarInverseLinkColor;

View file

@ -21,6 +21,12 @@
background-color: $grayLighter; background-color: $grayLighter;
} }
// Prevent IE8 from misplacing imgs
// See https://github.com/h5bp/html5-boilerplate/issues/984#issuecomment-3985989
.nav > li > a > img {
max-width: none;
}
// Redeclare pull classes because of specifity // Redeclare pull classes because of specifity
.nav > .pull-right { .nav > .pull-right {
float: right; float: right;

View file

@ -11,6 +11,7 @@
display: none; display: none;
width: 236px; width: 236px;
padding: 1px; padding: 1px;
text-align: left; // Reset given new insertion method
background-color: $popoverBackground; background-color: $popoverBackground;
-webkit-background-clip: padding-box; -webkit-background-clip: padding-box;
-moz-background-clip: padding; -moz-background-clip: padding;
@ -20,12 +21,14 @@
@include border-radius(6px); @include border-radius(6px);
@include box-shadow(0 5px 10px rgba(0,0,0,.2)); @include box-shadow(0 5px 10px rgba(0,0,0,.2));
// Overrides for proper insertion
white-space: normal;
// Offset the popover to account for the popover arrow // Offset the popover to account for the popover arrow
&.top { margin-top: -10px; } &.top { margin-top: -10px; }
&.right { margin-left: 10px; } &.right { margin-left: 10px; }
&.bottom { margin-top: 10px; } &.bottom { margin-top: 10px; }
&.left { margin-left: -10px; } &.left { margin-left: -10px; }
} }
.popover-title { .popover-title {
@ -41,77 +44,86 @@
.popover-content { .popover-content {
padding: 9px 14px; padding: 9px 14px;
p, ul, ol {
margin-bottom: 0;
}
} }
// Arrows // Arrows
//
// .arrow is outer, .arrow:after is inner
.popover .arrow, .popover .arrow,
.popover .arrow:after { .popover .arrow:after {
position: absolute; position: absolute;
display: inline-block; display: block;
width: 0; width: 0;
height: 0; height: 0;
border-color: transparent; border-color: transparent;
border-style: solid; border-style: solid;
} }
.popover .arrow {
border-width: $popoverArrowOuterWidth;
}
.popover .arrow:after { .popover .arrow:after {
border-width: $popoverArrowWidth;
content: ""; content: "";
z-index: -1;
} }
.popover { .popover {
&.top .arrow { &.top .arrow {
bottom: -$popoverArrowWidth;
left: 50%; left: 50%;
margin-left: -$popoverArrowWidth; margin-left: -$popoverArrowOuterWidth;
border-width: $popoverArrowWidth $popoverArrowWidth 0; border-bottom-width: 0;
border-top-color: $popoverArrowColor; border-top-color: #999; // IE8 fallback
&:after {
border-width: $popoverArrowOuterWidth $popoverArrowOuterWidth 0;
border-top-color: $popoverArrowOuterColor; border-top-color: $popoverArrowOuterColor;
bottom: -1px; bottom: -$popoverArrowOuterWidth;
left: -$popoverArrowOuterWidth; &:after {
bottom: 1px;
margin-left: -$popoverArrowWidth;
border-bottom-width: 0;
border-top-color: $popoverArrowColor;
} }
} }
&.right .arrow { &.right .arrow {
top: 50%; top: 50%;
left: -$popoverArrowWidth; left: -$popoverArrowOuterWidth;
margin-top: -$popoverArrowWidth; margin-top: -$popoverArrowOuterWidth;
border-width: $popoverArrowWidth $popoverArrowWidth $popoverArrowWidth 0; border-left-width: 0;
border-right-color: $popoverArrowColor; border-right-color: #999; // IE8 fallback
&:after {
border-width: $popoverArrowOuterWidth $popoverArrowOuterWidth $popoverArrowOuterWidth 0;
border-right-color: $popoverArrowOuterColor; border-right-color: $popoverArrowOuterColor;
bottom: -$popoverArrowOuterWidth; &:after {
left: -1px; left: 1px;
bottom: -$popoverArrowWidth;
border-left-width: 0;
border-right-color: $popoverArrowColor;
} }
} }
&.bottom .arrow { &.bottom .arrow {
top: -$popoverArrowWidth;
left: 50%; left: 50%;
margin-left: -$popoverArrowWidth; margin-left: -$popoverArrowOuterWidth;
border-width: 0 $popoverArrowWidth $popoverArrowWidth; border-top-width: 0;
border-bottom-color: $popoverArrowColor; border-bottom-color: #999; // IE8 fallback
&:after {
border-width: 0 $popoverArrowOuterWidth $popoverArrowOuterWidth;
border-bottom-color: $popoverArrowOuterColor; border-bottom-color: $popoverArrowOuterColor;
top: -1px; top: -$popoverArrowOuterWidth;
left: -$popoverArrowOuterWidth; &:after {
top: 1px;
margin-left: -$popoverArrowWidth;
border-top-width: 0;
border-bottom-color: $popoverArrowColor;
} }
} }
&.left .arrow { &.left .arrow {
top: 50%; top: 50%;
right: -$popoverArrowWidth; right: -$popoverArrowOuterWidth;
margin-top: -$popoverArrowWidth; margin-top: -$popoverArrowOuterWidth;
border-width: $popoverArrowWidth 0 $popoverArrowWidth $popoverArrowWidth; border-right-width: 0;
border-left-color: $popoverArrowColor; border-left-color: #999; // IE8 fallback
&:after {
border-width: $popoverArrowOuterWidth 0 $popoverArrowOuterWidth $popoverArrowOuterWidth;
border-left-color: $popoverArrowOuterColor; border-left-color: $popoverArrowOuterColor;
bottom: -$popoverArrowOuterWidth; &:after {
right: -1px; right: 1px;
border-right-width: 0;
border-left-color: $popoverArrowColor;
bottom: -$popoverArrowWidth;
} }
} }
} }

View file

@ -1,5 +1,5 @@
// //
// Reset // Reset CSS
// Adapted from http://github.com/necolas/normalize.css // Adapted from http://github.com/necolas/normalize.css
// -------------------------------------------------- // --------------------------------------------------
@ -122,10 +122,18 @@ input[type="submit"] {
-webkit-appearance: button; // Corrects inability to style clickable `input` types 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. cursor: pointer; // Improves usability and consistency of cursor style between image-type `input` and others.
} }
label,
select,
button,
input[type="button"],
input[type="reset"],
input[type="submit"],
input[type="radio"],
input[type="checkbox"] {
cursor: pointer; // Improves usability and consistency of cursor style between image-type `input` and others.
}
input[type="search"] { // Appearance in Safari/Chrome input[type="search"] { // Appearance in Safari/Chrome
-webkit-box-sizing: content-box; @include box-sizing(content-box);
-moz-box-sizing: content-box;
box-sizing: content-box;
-webkit-appearance: textfield; -webkit-appearance: textfield;
} }
input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-decoration,
@ -136,3 +144,73 @@ textarea {
overflow: auto; // Remove vertical scrollbar in IE6-9 overflow: auto; // Remove vertical scrollbar in IE6-9
vertical-align: top; // Readability and alignment cross-browser vertical-align: top; // Readability and alignment cross-browser
} }
// Printing
// -------------------------
// Source: https://github.com/h5bp/html5-boilerplate/blob/master/css/main.css
@media print {
* {
text-shadow: none !important;
color: #000 !important; // Black prints faster: h5bp.com/s
background: transparent !important;
box-shadow: none !important;
}
a,
a:visited {
text-decoration: underline;
}
a[href]:after {
content: " (" attr(href) ")";
}
abbr[title]:after {
content: " (" attr(title) ")";
}
// Don't show links for images, or javascript/internal links
.ir a:after,
a[href^="javascript:"]:after,
a[href^="#"]:after {
content: "";
}
pre,
blockquote {
border: 1px solid #999;
page-break-inside: avoid;
}
thead {
display: table-header-group; // h5bp.com/t
}
tr,
img {
page-break-inside: avoid;
}
img {
max-width: 100% !important;
}
@page {
margin: 0.5cm;
}
p,
h2,
h3 {
orphans: 3;
widows: 3;
}
h2,
h3 {
page-break-after: avoid;
}
}

View file

@ -48,6 +48,11 @@ table {
tbody + tbody { tbody + tbody {
border-top: 2px solid $tableBorder; border-top: 2px solid $tableBorder;
} }
// Nesting
.table {
background-color: $bodyBackground;
}
} }
@ -89,51 +94,47 @@ table {
border-top: 0; border-top: 0;
} }
// For first th or td in the first row in the first thead or tbody // For first th or td in the first row in the first thead or tbody
thead:first-child tr:first-child th:first-child, thead:first-child tr:first-child > th:first-child,
tbody:first-child tr:first-child td:first-child { tbody:first-child tr:first-child > td:first-child {
-webkit-border-top-left-radius: 4px; @include border-top-left-radius($baseBorderRadius);
border-top-left-radius: 4px;
-moz-border-radius-topleft: 4px;
} }
thead:first-child tr:first-child th:last-child, thead:first-child tr:first-child > th:last-child,
tbody:first-child tr:first-child td:last-child { tbody:first-child tr:first-child > td:last-child {
-webkit-border-top-right-radius: 4px; @include border-top-right-radius($baseBorderRadius);
border-top-right-radius: 4px;
-moz-border-radius-topright: 4px;
} }
// For first th or td in the first row in the first thead or tbody // For first th or td in the last row in the last thead or tbody
thead:last-child tr:last-child th:first-child, thead:last-child tr:last-child > th:first-child,
tbody:last-child tr:last-child td:first-child, tbody:last-child tr:last-child > td:first-child,
tfoot:last-child tr:last-child td:first-child { tfoot:last-child tr:last-child > td:first-child {
@include border-radius(0 0 0 4px); @include border-bottom-left-radius($baseBorderRadius);
-webkit-border-bottom-left-radius: 4px;
border-bottom-left-radius: 4px;
-moz-border-radius-bottomleft: 4px;
} }
thead:last-child tr:last-child th:last-child, thead:last-child tr:last-child > th:last-child,
tbody:last-child tr:last-child td:last-child, tbody:last-child tr:last-child > td:last-child,
tfoot:last-child tr:last-child td:last-child { tfoot:last-child tr:last-child > td:last-child {
-webkit-border-bottom-right-radius: 4px; @include border-bottom-right-radius($baseBorderRadius);
border-bottom-right-radius: 4px;
-moz-border-radius-bottomright: 4px;
} }
// Clear border-radius for first and last td in the last row in the last tbody for table with tfoot
tfoot + tbody:last-child tr:last-child td:first-child {
@include border-bottom-left-radius(0);
}
tfoot + tbody:last-child tr:last-child td:last-child {
@include border-bottom-right-radius(0);
}
// Special fixes to round the left border on the first td/th // Special fixes to round the left border on the first td/th
caption + thead tr:first-child th:first-child, caption + thead tr:first-child th:first-child,
caption + tbody tr:first-child td:first-child, caption + tbody tr:first-child td:first-child,
colgroup + thead tr:first-child th:first-child, colgroup + thead tr:first-child th:first-child,
colgroup + tbody tr:first-child td:first-child { colgroup + tbody tr:first-child td:first-child {
-webkit-border-top-left-radius: 4px; @include border-top-left-radius($baseBorderRadius);
border-top-left-radius: 4px;
-moz-border-radius-topleft: 4px;
} }
caption + thead tr:first-child th:last-child, caption + thead tr:first-child th:last-child,
caption + tbody tr:first-child td:last-child, caption + tbody tr:first-child td:last-child,
colgroup + thead tr:first-child th:last-child, colgroup + thead tr:first-child th:last-child,
colgroup + tbody tr:first-child td:last-child { colgroup + tbody tr:first-child td:last-child {
-webkit-border-top-right-radius: 4px; @include border-top-right-radius($baseBorderRadius);
border-top-right-radius: 4px;
-moz-border-radius-topright: 4px;
} }
} }
@ -147,8 +148,8 @@ table {
// Default zebra-stripe styles (alternating gray and transparent backgrounds) // Default zebra-stripe styles (alternating gray and transparent backgrounds)
.table-striped { .table-striped {
tbody { tbody {
tr:nth-child(odd) td, > tr:nth-child(odd) > td,
tr:nth-child(odd) th { > tr:nth-child(odd) > th {
background-color: $tableBackgroundAccent; background-color: $tableBackgroundAccent;
} }
} }

View file

@ -20,23 +20,17 @@ p {
// Emphasis & misc // Emphasis & misc
// ------------------------- // -------------------------
small { // Ex: 14px base font * 85% = about 12px
font-size: 85%; // Ex: 14px base font * 85% = about 12px small { font-size: 85%; }
}
strong { strong { font-weight: bold; }
font-weight: bold; em { font-style: italic; }
} cite { font-style: normal; }
em {
font-style: italic;
}
cite {
font-style: normal;
}
// Utility classes // Utility classes
.muted { .muted { color: $grayLight; }
color: $grayLight; a.muted:hover { color: darken($grayLight, 10%); }
}
.text-warning { color: $warningText; } .text-warning { color: $warningText; }
a.text-warning:hover { color: darken($warningText, 10%); } a.text-warning:hover { color: darken($warningText, 10%); }
@ -112,12 +106,26 @@ ol ul {
li { li {
line-height: $baseLineHeight; line-height: $baseLineHeight;
} }
// Remove default list styles
ul.unstyled, ul.unstyled,
ol.unstyled { ol.unstyled {
margin-left: 0; margin-left: 0;
list-style: none; list-style: none;
} }
// Single-line list items
ul.inline,
ol.inline {
margin-left: 0;
list-style: none;
& > li {
display: inline-block;
padding-left: 5px;
padding-right: 5px;
}
}
// Description Lists // Description Lists
dl { dl {
margin-bottom: $baseLineHeight; margin-bottom: $baseLineHeight;

View file

@ -66,13 +66,13 @@ $fontSizeLarge: $baseFontSize * 1.25; // ~18px
$fontSizeSmall: $baseFontSize * 0.85; // ~12px $fontSizeSmall: $baseFontSize * 0.85; // ~12px
$fontSizeMini: $baseFontSize * 0.75; // ~11px $fontSizeMini: $baseFontSize * 0.75; // ~11px
$paddingLarge: 11px 19px; // 44px $paddingLarge: 11px 19px !default; // 44px
$paddingSmall: 2px 10px; // 26px $paddingSmall: 2px 10px !default; // 26px
$paddingMini: 1px 6px; // 24px $paddingMini: 0px 6px !default; // 22px
$baseBorderRadius: 4px; $baseBorderRadius: 4px !default;
$borderRadiusLarge: 6px; $borderRadiusLarge: 6px !default;
$borderRadiusSmall: 3px; $borderRadiusSmall: 3px !default;
// Tables // Tables
@ -167,7 +167,7 @@ $hrBorder: $grayLighter !default;
// Horizontal forms & lists // Horizontal forms & lists
// ------------------------- // -------------------------
$horizontalComponentOffset: 180px; $horizontalComponentOffset: 180px !default;
// Wells // Wells

View file

@ -1,5 +1,5 @@
/*! /*!
* Bootstrap v2.2.1 * Bootstrap v2.2.2
* *
* Copyright 2012 Twitter, Inc * Copyright 2012 Twitter, Inc
* Licensed under the Apache License v2.0 * Licensed under the Apache License v2.0

View file

@ -1,5 +1,5 @@
/*! /*!
* Bootstrap Responsive v2.2.1 * Bootstrap Responsive v2.2.2
* *
* Copyright 2012 Twitter, Inc * Copyright 2012 Twitter, Inc
* Licensed under the Apache License v2.0 * Licensed under the Apache License v2.0
@ -14,6 +14,15 @@
// ------------------------------------------------------------- // -------------------------------------------------------------
// IE10 Metro responsive
// Required for Windows 8 Metro split-screen snapping with IE10
// Source: http://timkadlec.com/2012/10/ie10-snap-mode-and-responsive-design/
@-ms-viewport{
width: device-width;
}
// REPEAT VARIABLES & MIXINS // REPEAT VARIABLES & MIXINS
// ------------------------- // -------------------------
// Required since we compile the responsive stuff separately // Required since we compile the responsive stuff separately