Commit 707b362b authored by Mark Otto's avatar Mark Otto

Merge branch 'master' into docs-theme-toggler

Conflicts:
	docs/assets/css/docs.min.css
parents bdd822a9 3dd1531d
...@@ -6,13 +6,16 @@ before_install: ...@@ -6,13 +6,16 @@ before_install:
- rvm use 1.9.3 --fuzzy - rvm use 1.9.3 --fuzzy
- export GEMDIR=$(rvm gemdir) - export GEMDIR=$(rvm gemdir)
- if [ "$TWBS_TEST" = validate-html ]; then echo "ruby=$(basename $GEMDIR) jekyll=$JEKYLL_VERSION" > pseudo_Gemfile.lock; fi - if [ "$TWBS_TEST" = validate-html ]; then echo "ruby=$(basename $GEMDIR) jekyll=$JEKYLL_VERSION" > pseudo_Gemfile.lock; fi
- "export TRAVIS_COMMIT_MSG=\"$(git log --format=%B --no-merges -n 1)\""
- echo "$TRAVIS_COMMIT_MSG" | grep '\[skip validator\]'; export TWBS_DO_VALIDATOR=$?; true
- echo "$TRAVIS_COMMIT_MSG" | grep '\[skip sauce\]'; export TWBS_DO_SAUCE=$?; true
install: install:
- time npm install -g grunt-cli - time npm install -g grunt-cli
- ./test-infra/s3_cache.py download npm-modules - ./test-infra/s3_cache.py download npm-modules
- if [ "$TWBS_TEST" = validate-html ]; then ./test-infra/s3_cache.py download rubygems; fi - if [ "$TWBS_TEST" = validate-html ] && [ $TWBS_DO_VALIDATOR -ne 0 ]; then ./test-infra/s3_cache.py download rubygems; fi
after_script: after_script:
- if [ "$TWBS_TEST" = core ]; then ./test-infra/s3_cache.py upload npm-modules; fi - if [ "$TWBS_TEST" = core ]; then ./test-infra/s3_cache.py upload npm-modules; fi
- if [ "$TWBS_TEST" = validate-html ]; then ./test-infra/s3_cache.py upload rubygems; fi - if [ "$TWBS_TEST" = validate-html ] && [ $TWBS_DO_VALIDATOR -ne 0 ]; then ./test-infra/s3_cache.py upload rubygems; fi
env: env:
global: global:
- JEKYLL_VERSION: 1.5.0 - JEKYLL_VERSION: 1.5.0
...@@ -27,3 +30,5 @@ env: ...@@ -27,3 +30,5 @@ env:
- TWBS_TEST=sauce-js-unit - TWBS_TEST=sauce-js-unit
matrix: matrix:
fast_finish: true fast_finish: true
notifications:
slack: heybb:iz4wwosL0N0EdaX1gvgkU0NH
...@@ -175,16 +175,6 @@ module.exports = function (grunt) { ...@@ -175,16 +175,6 @@ module.exports = function (grunt) {
files: { files: {
'dist/css/<%= pkg.name %>-theme.css': 'less/theme.less' 'dist/css/<%= pkg.name %>-theme.css': 'less/theme.less'
} }
},
minify: {
options: {
cleancss: true
},
files: {
'dist/css/<%= pkg.name %>.min.css': 'dist/css/<%= pkg.name %>.css',
'dist/css/<%= pkg.name %>-rtl.min.css': 'dist/css/<%= pkg.name %>-rtl.css',
'dist/css/<%= pkg.name %>-theme.min.css': 'dist/css/<%= pkg.name %>-theme.css'
}
} }
}, },
...@@ -215,14 +205,6 @@ module.exports = function (grunt) { ...@@ -215,14 +205,6 @@ module.exports = function (grunt) {
} }
}, },
cssflip: {
rtl: {
files: {
'dist/css/<%= pkg.name %>-rtl.css': 'dist/css/<%= pkg.name %>.css'
}
}
},
csslint: { csslint: {
options: { options: {
csslintrc: 'less/.csslintrc' csslintrc: 'less/.csslintrc'
...@@ -246,8 +228,13 @@ module.exports = function (grunt) { ...@@ -246,8 +228,13 @@ module.exports = function (grunt) {
cssmin: { cssmin: {
options: { options: {
compatibility: 'ie8', compatibility: 'ie8',
keepSpecialComments: '*', keepSpecialComments: '*'
noAdvanced: true // turn advanced optimizations off until the issue is fixed in clean-css },
core: {
files: {
'dist/css/<%= pkg.name %>.min.css': 'dist/css/<%= pkg.name %>.css',
'dist/css/<%= pkg.name %>-theme.min.css': 'dist/css/<%= pkg.name %>-theme.css',
}
}, },
docs: { docs: {
src: [ src: [
...@@ -411,20 +398,31 @@ module.exports = function (grunt) { ...@@ -411,20 +398,31 @@ module.exports = function (grunt) {
// Docs HTML validation task // Docs HTML validation task
grunt.registerTask('validate-html', ['jekyll', 'validation']); grunt.registerTask('validate-html', ['jekyll', 'validation']);
var runSubset = function (subset) {
return !process.env.TWBS_TEST || process.env.TWBS_TEST === subset;
};
var isUndefOrNonZero = function (val) {
return val === undefined || val !== '0';
};
// Test task. // Test task.
var testSubtasks = []; var testSubtasks = [];
// Skip core tests if running a different subset of the test suite // Skip core tests if running a different subset of the test suite
if (!process.env.TWBS_TEST || process.env.TWBS_TEST === 'core') { if (runSubset('core')) {
testSubtasks = testSubtasks.concat(['dist-css', 'csslint', 'jshint', 'jscs', 'qunit', 'build-customizer-html']); testSubtasks = testSubtasks.concat(['dist-css', 'csslint', 'jshint', 'jscs', 'qunit', 'build-customizer-html']);
} }
// Skip HTML validation if running a different subset of the test suite // Skip HTML validation if running a different subset of the test suite
if (!process.env.TWBS_TEST || process.env.TWBS_TEST === 'validate-html') { if (runSubset('validate-html') &&
// Skip HTML5 validator on Travis when [skip validator] is in the commit message
isUndefOrNonZero(process.env.TWBS_DO_VALIDATOR)) {
testSubtasks.push('validate-html'); testSubtasks.push('validate-html');
} }
// Only run Sauce Labs tests if there's a Sauce access key // Only run Sauce Labs tests if there's a Sauce access key
if (typeof process.env.SAUCE_ACCESS_KEY !== 'undefined' && if (typeof process.env.SAUCE_ACCESS_KEY !== 'undefined' &&
// Skip Sauce if running a different subset of the test suite // Skip Sauce if running a different subset of the test suite
(!process.env.TWBS_TEST || process.env.TWBS_TEST === 'sauce-js-unit')) { runSubset('sauce-js-unit') &&
// Skip Sauce on Travis when [skip sauce] is in the commit message
isUndefOrNonZero(process.env.TWBS_DO_SAUCE)) {
testSubtasks.push('connect'); testSubtasks.push('connect');
testSubtasks.push('saucelabs-qunit'); testSubtasks.push('saucelabs-qunit');
} }
...@@ -435,7 +433,7 @@ module.exports = function (grunt) { ...@@ -435,7 +433,7 @@ module.exports = function (grunt) {
// CSS distribution task. // CSS distribution task.
grunt.registerTask('less-compile', ['less:compileCore', 'less:compileTheme']); grunt.registerTask('less-compile', ['less:compileCore', 'less:compileTheme']);
grunt.registerTask('dist-css', ['less-compile', 'autoprefixer', 'cssflip', 'usebanner', 'csscomb', 'less:minify', 'cssmin']); grunt.registerTask('dist-css', ['less-compile', 'autoprefixer', 'usebanner', 'csscomb', 'cssmin']);
// Docs distribution task. // Docs distribution task.
grunt.registerTask('dist-docs', 'copy:docs'); grunt.registerTask('dist-docs', 'copy:docs');
...@@ -444,7 +442,7 @@ module.exports = function (grunt) { ...@@ -444,7 +442,7 @@ module.exports = function (grunt) {
grunt.registerTask('dist', ['clean', 'dist-css', 'copy:fonts', 'dist-js', 'dist-docs']); grunt.registerTask('dist', ['clean', 'dist-css', 'copy:fonts', 'dist-js', 'dist-docs']);
// Default task. // Default task.
grunt.registerTask('default', ['test', 'dist', 'build-glyphicons-data', 'build-customizer', 'update-shrinkwrap']); grunt.registerTask('default', ['test', 'dist', 'build-glyphicons-data', 'build-customizer']);
// Version numbering task. // Version numbering task.
// grunt change-version-number --oldver=A.B.C --newver=X.Y.Z // grunt change-version-number --oldver=A.B.C --newver=X.Y.Z
......
# Dependencies # Dependencies
markdown: rdiscount markdown: rdiscount
pygments: true highlighter: pygments
# Permalinks # Permalinks
permalink: pretty permalink: pretty
...@@ -30,5 +30,4 @@ expo: http://expo.getbootstrap.com ...@@ -30,5 +30,4 @@ expo: http://expo.getbootstrap.com
cdn: cdn:
css: //netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css css: //netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css
css_theme: //netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap-theme.min.css css_theme: //netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap-theme.min.css
css_rtl: //netdna.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap-rtl.min.css
js: //netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js js: //netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
...@@ -3365,10 +3365,14 @@ tbody.collapse.in { ...@@ -3365,10 +3365,14 @@ tbody.collapse.in {
.btn-group-justified > .btn-group .btn { .btn-group-justified > .btn-group .btn {
width: 100%; width: 100%;
} }
.btn-group-justified > .btn-group .dropdown-menu {
left: auto;
}
[data-toggle="buttons"] > .btn > input[type="radio"], [data-toggle="buttons"] > .btn > input[type="radio"],
[data-toggle="buttons"] > .btn > input[type="checkbox"] { [data-toggle="buttons"] > .btn > input[type="checkbox"] {
position: absolute; position: absolute;
z-index: -1; z-index: -1;
filter: alpha(opacity=0);
opacity: 0; opacity: 0;
} }
.input-group { .input-group {
...@@ -5299,10 +5303,10 @@ button.close { ...@@ -5299,10 +5303,10 @@ button.close {
-webkit-transition: -webkit-transform .3s ease-out; -webkit-transition: -webkit-transform .3s ease-out;
-o-transition: -o-transform .3s ease-out; -o-transition: -o-transform .3s ease-out;
transition: transform .3s ease-out; transition: transform .3s ease-out;
-webkit-transform: translate(0, -25%); -webkit-transform: translate(0, -25%);
-ms-transform: translate(0, -25%); -ms-transform: translate(0, -25%);
-o-transform: translate(0, -25%); -o-transform: translate(0, -25%);
transform: translate(0, -25%); transform: translate(0, -25%);
} }
.modal.in .modal-dialog { .modal.in .modal-dialog {
-webkit-transform: translate(0, 0); -webkit-transform: translate(0, 0);
......
This diff was suppressed by a .gitattributes entry.
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -75,6 +75,8 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re ...@@ -75,6 +75,8 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
$(el).on('click', dismiss, this.close) $(el).on('click', dismiss, this.close)
} }
Alert.VERSION = '3.1.1'
Alert.prototype.close = function (e) { Alert.prototype.close = function (e) {
var $this = $(this) var $this = $(this)
var selector = $this.attr('data-target') var selector = $this.attr('data-target')
...@@ -99,7 +101,8 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re ...@@ -99,7 +101,8 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
$parent.removeClass('in') $parent.removeClass('in')
function removeElement() { function removeElement() {
$parent.trigger('closed.bs.alert').remove() // detach from parent, fire event then clean up data
$parent.detach().trigger('closed.bs.alert').remove()
} }
$.support.transition && $parent.hasClass('fade') ? $.support.transition && $parent.hasClass('fade') ?
...@@ -166,6 +169,8 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re ...@@ -166,6 +169,8 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
this.isLoading = false this.isLoading = false
} }
Button.VERSION = '3.1.1'
Button.DEFAULTS = { Button.DEFAULTS = {
loadingText: 'loading...' loadingText: 'loading...'
} }
...@@ -178,9 +183,9 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re ...@@ -178,9 +183,9 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
state = state + 'Text' state = state + 'Text'
if (!data.resetText) $el.data('resetText', $el[val]()) if (data.resetText == null) $el.data('resetText', $el[val]())
$el[val](data[state] || this.options[state]) $el[val](data[state] == null ? this.options[state] : data[state])
// push to event loop to allow forms to submit // push to event loop to allow forms to submit
setTimeout($.proxy(function () { setTimeout($.proxy(function () {
...@@ -284,6 +289,8 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re ...@@ -284,6 +289,8 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
.on('mouseleave', $.proxy(this.cycle, this)) .on('mouseleave', $.proxy(this.cycle, this))
} }
Carousel.VERSION = '3.1.1'
Carousel.DEFAULTS = { Carousel.DEFAULTS = {
interval: 5000, interval: 5000,
pause: 'hover', pause: 'hover',
...@@ -487,6 +494,8 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re ...@@ -487,6 +494,8 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
if (this.options.toggle) this.toggle() if (this.options.toggle) this.toggle()
} }
Collapse.VERSION = '3.1.1'
Collapse.DEFAULTS = { Collapse.DEFAULTS = {
toggle: true toggle: true
} }
...@@ -663,6 +672,8 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re ...@@ -663,6 +672,8 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
$(element).on('click.bs.dropdown', this.toggle) $(element).on('click.bs.dropdown', this.toggle)
} }
Dropdown.VERSION = '3.1.1'
Dropdown.prototype.toggle = function (e) { Dropdown.prototype.toggle = function (e) {
var $this = $(this) var $this = $(this)
...@@ -824,6 +835,8 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re ...@@ -824,6 +835,8 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
} }
} }
Modal.VERSION = '3.1.1'
Modal.DEFAULTS = { Modal.DEFAULTS = {
backdrop: true, backdrop: true,
keyboard: true, keyboard: true,
...@@ -1061,7 +1074,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re ...@@ -1061,7 +1074,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
if ($this.is('a')) e.preventDefault() if ($this.is('a')) e.preventDefault()
Plugin.call($target, option, this) Plugin.call($target, option, this)
$target.one('hide', function () { $target.one('hide.bs.modal', function () {
$this.is(':visible') && $this.trigger('focus') $this.is(':visible') && $this.trigger('focus')
}) })
}) })
...@@ -1095,6 +1108,8 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re ...@@ -1095,6 +1108,8 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
this.init('tooltip', element, options) this.init('tooltip', element, options)
} }
Tooltip.VERSION = '3.1.1'
Tooltip.DEFAULTS = { Tooltip.DEFAULTS = {
animation: true, animation: true,
placement: 'top', placement: 'top',
...@@ -1531,11 +1546,13 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re ...@@ -1531,11 +1546,13 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js') if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js')
Popover.VERSION = '3.1.1'
Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, { Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, {
placement: 'right', placement: 'right',
trigger: 'click', trigger: 'click',
content: '', content: '',
template: '<div class="popover"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>' template: '<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'
}) })
...@@ -1656,6 +1673,8 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re ...@@ -1656,6 +1673,8 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
this.process() this.process()
} }
ScrollSpy.VERSION = '3.1.1'
ScrollSpy.DEFAULTS = { ScrollSpy.DEFAULTS = {
offset: 10 offset: 10
} }
...@@ -1670,6 +1689,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re ...@@ -1670,6 +1689,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
this.$body this.$body
.find(this.selector) .find(this.selector)
.filter(':visible')
.map(function () { .map(function () {
var $el = $(this) var $el = $(this)
var href = $el.data('target') || $el.attr('href') var href = $el.data('target') || $el.attr('href')
...@@ -1797,6 +1817,8 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re ...@@ -1797,6 +1817,8 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
this.element = $(element) this.element = $(element)
} }
Tab.VERSION = '3.1.1'
Tab.prototype.show = function () { Tab.prototype.show = function () {
var $this = this.element var $this = this.element
var $ul = $this.closest('ul:not(.dropdown-menu)') var $ul = $this.closest('ul:not(.dropdown-menu)')
...@@ -1820,7 +1842,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re ...@@ -1820,7 +1842,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
var $target = $(selector) var $target = $(selector)
this.activate($this.parent('li'), $ul) this.activate($this.closest('li'), $ul)
this.activate($target, $target.parent(), function () { this.activate($target, $target.parent(), function () {
$this.trigger({ $this.trigger({
type: 'shown.bs.tab', type: 'shown.bs.tab',
...@@ -1922,7 +1944,8 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re ...@@ -1922,7 +1944,8 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
var Affix = function (element, options) { var Affix = function (element, options) {
this.options = $.extend({}, Affix.DEFAULTS, options) this.options = $.extend({}, Affix.DEFAULTS, options)
this.$window = $(window)
this.$target = $(this.options.target)
.on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this)) .on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this))
.on('click.bs.affix.data-api', $.proxy(this.checkPositionWithEventLoop, this)) .on('click.bs.affix.data-api', $.proxy(this.checkPositionWithEventLoop, this))
...@@ -1934,16 +1957,19 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re ...@@ -1934,16 +1957,19 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
this.checkPosition() this.checkPosition()
} }
Affix.RESET = 'affix affix-top affix-bottom' Affix.VERSION = '3.1.1'
Affix.RESET = 'affix affix-top affix-bottom'
Affix.DEFAULTS = { Affix.DEFAULTS = {
offset: 0 offset: 0,
target: window
} }
Affix.prototype.getPinnedOffset = function () { Affix.prototype.getPinnedOffset = function () {
if (this.pinnedOffset) return this.pinnedOffset if (this.pinnedOffset) return this.pinnedOffset
this.$element.removeClass(Affix.RESET).addClass('affix') this.$element.removeClass(Affix.RESET).addClass('affix')
var scrollTop = this.$window.scrollTop() var scrollTop = this.$target.scrollTop()
var position = this.$element.offset() var position = this.$element.offset()
return (this.pinnedOffset = position.top - scrollTop) return (this.pinnedOffset = position.top - scrollTop)
} }
...@@ -1956,7 +1982,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re ...@@ -1956,7 +1982,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
if (!this.$element.is(':visible')) return if (!this.$element.is(':visible')) return
var scrollHeight = $(document).height() var scrollHeight = $(document).height()
var scrollTop = this.$window.scrollTop() var scrollTop = this.$target.scrollTop()
var position = this.$element.offset() var position = this.$element.offset()
var offset = this.options.offset var offset = this.options.offset
var offsetTop = offset.top var offsetTop = offset.top
...@@ -1989,7 +2015,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re ...@@ -1989,7 +2015,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
.trigger($.Event(affixType.replace('affix', 'affixed'))) .trigger($.Event(affixType.replace('affix', 'affixed')))
if (affix == 'bottom') { if (affix == 'bottom') {
this.$element.offset({ top: position.top }) this.$element.offset({ top: scrollHeight - this.$element.height() - offsetBottom })
} }
} }
......
This diff is collapsed.
...@@ -6,14 +6,14 @@ ...@@ -6,14 +6,14 @@
<h2 id="nav-tabs">Tabs</h2> <h2 id="nav-tabs">Tabs</h2>
<p>Note the <code>.nav-tabs</code> class requires the <code>.nav</code> base class.</p> <p>Note the <code>.nav-tabs</code> class requires the <code>.nav</code> base class.</p>
<div class="bs-example"> <div class="bs-example">
<ul class="nav nav-tabs"> <ul class="nav nav-tabs" role="tablist">
<li class="active"><a href="#">Home</a></li> <li class="active"><a href="#">Home</a></li>
<li><a href="#">Profile</a></li> <li><a href="#">Profile</a></li>
<li><a href="#">Messages</a></li> <li><a href="#">Messages</a></li>
</ul> </ul>
</div> </div>
{% highlight html %} {% highlight html %}
<ul class="nav nav-tabs"> <ul class="nav nav-tabs" role="tablist">
<li class="active"><a href="#">Home</a></li> <li class="active"><a href="#">Home</a></li>
<li><a href="#">Profile</a></li> <li><a href="#">Profile</a></li>
<li><a href="#">Messages</a></li> <li><a href="#">Messages</a></li>
...@@ -62,7 +62,7 @@ ...@@ -62,7 +62,7 @@
<p>As of v7.0.1, Safari exhibits a bug in which resizing your browser horizontally causes rendering errors in the justified nav that are cleared upon refreshing. This bug is also shown in the <a href="../examples/justified-nav/">justified nav example</a>.</p> <p>As of v7.0.1, Safari exhibits a bug in which resizing your browser horizontally causes rendering errors in the justified nav that are cleared upon refreshing. This bug is also shown in the <a href="../examples/justified-nav/">justified nav example</a>.</p>
</div> </div>
<div class="bs-example"> <div class="bs-example">
<ul class="nav nav-tabs nav-justified"> <ul class="nav nav-tabs nav-justified" role="tablist">
<li class="active"><a href="#">Home</a></li> <li class="active"><a href="#">Home</a></li>
<li><a href="#">Profile</a></li> <li><a href="#">Profile</a></li>
<li><a href="#">Messages</a></li> <li><a href="#">Messages</a></li>
...@@ -75,7 +75,7 @@ ...@@ -75,7 +75,7 @@
</ul> </ul>
</div> </div>
{% highlight html %} {% highlight html %}
<ul class="nav nav-tabs nav-justified"> <ul class="nav nav-tabs nav-justified" role="tablist">
... ...
</ul> </ul>
<ul class="nav nav-pills nav-justified"> <ul class="nav nav-pills nav-justified">
...@@ -113,7 +113,7 @@ ...@@ -113,7 +113,7 @@
<h3>Tabs with dropdowns</h3> <h3>Tabs with dropdowns</h3>
<div class="bs-example"> <div class="bs-example">
<ul class="nav nav-tabs"> <ul class="nav nav-tabs" role="tablist">
<li class="active"><a href="#">Home</a></li> <li class="active"><a href="#">Home</a></li>
<li><a href="#">Help</a></li> <li><a href="#">Help</a></li>
<li class="dropdown"> <li class="dropdown">
...@@ -131,7 +131,7 @@ ...@@ -131,7 +131,7 @@
</ul> </ul>
</div> </div>
{% highlight html %} {% highlight html %}
<ul class="nav nav-tabs"> <ul class="nav nav-tabs" role="tablist">
... ...
<li class="dropdown"> <li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#"> <a class="dropdown-toggle" data-toggle="dropdown" href="#">
......
...@@ -16,7 +16,7 @@ For example, <code>&lt;section&gt;</code> should be wrapped as inline. ...@@ -16,7 +16,7 @@ For example, <code>&lt;section&gt;</code> should be wrapped as inline.
To switch directories, type <kbd>cd</kbd> followed by the name of the directory. To switch directories, type <kbd>cd</kbd> followed by the name of the directory.
</div> </div>
{% highlight html %} {% highlight html %}
To switch directories, type <kbd>cd</kbd> followed by the name of the directory. To switch directories, type <kbd>cd</kbd> followed by the name of the directory.
{% endhighlight %} {% endhighlight %}
<h2 id="code-block">Basic block</h2> <h2 id="code-block">Basic block</h2>
......
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
<!-- Bootstrap core JavaScript <!-- Bootstrap core JavaScript
================================================== --> ================================================== -->
<!-- Placed at the end of the document so the pages load faster --> <!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="../dist/js/bootstrap.min.js"></script> <script src="../dist/js/bootstrap.min.js"></script>
<script src="../assets/js/docs.min.js"></script> <script src="../assets/js/docs.min.js"></script>
{% if page.slug == "customize" %} {% if page.slug == "customize" %}
......
...@@ -173,7 +173,7 @@ if (navigator.userAgent.match(/IEMobile\/10\.0/)) { ...@@ -173,7 +173,7 @@ if (navigator.userAgent.match(/IEMobile\/10\.0/)) {
<h3 id="support-android-stock-browser">Android stock browser</h3> <h3 id="support-android-stock-browser">Android stock browser</h3>
<p>Out of the box, Android 4.1 (and even some newer releases apparently) ship with the Browser app as the default web browser of choice (as opposed to Chrome). Unfortunately, the Browser app has lots of bugs and inconsistencies with CSS in general.</p> <p>Out of the box, Android 4.1 (and even some newer releases apparently) ship with the Browser app as the default web browser of choice (as opposed to Chrome). Unfortunately, the Browser app has lots of bugs and inconsistencies with CSS in general.</p>
<h4>Select menus</h4> <h4>Select menus</h4>
<p>On <code>&lt;select&gt;</code> elements, the Android stock browser will not display the side controls if there is a <code>border-radius</code> and/or <code>border</code> applied. Use the snippet of code below to remove the offending CSS and render the <code>&lt;select&gt;</code> as an unstyled element on the Android stock browser. The user agent sniffing avoids interference with Chrome, Safari, and Mozilla browsers.</p> <p>On <code>&lt;select&gt;</code> elements, the Android stock browser will not display the side controls if there is a <code>border-radius</code> and/or <code>border</code> applied. (See <a href="http://stackoverflow.com/questions/14744437/html-select-box-not-showing-drop-down-arrow-on-android-version-4-0-when-set-with">this StackOverflow question</a> for details.) Use the snippet of code below to remove the offending CSS and render the <code>&lt;select&gt;</code> as an unstyled element on the Android stock browser. The user agent sniffing avoids interference with Chrome, Safari, and Mozilla browsers.</p>
{% highlight html %} {% highlight html %}
<script> <script>
$(function () { $(function () {
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
</div> </div>
<div class="col-sm-4"> <div class="col-sm-4">
<h3 id="download-source">Source code</h3> <h3 id="download-source">Source code</h3>
<p>Source Less, JavaScript, and font files, along with our docs. <strong>Requires a Less compiler and <a href="{{ site.repo }}#compiling-css-and-javascript">some setup.</a></strong></p> <p>Source Less, JavaScript, and font files, along with our docs. <strong>Requires a Less compiler and <a href="#grunt">some setup.</a></strong></p>
<p> <p>
<a href="{{ site.download.source }}" class="btn btn-lg btn-outline" role="button" onclick="ga('send', 'event', 'Getting started', 'Download', 'Download source');">Download source</a> <a href="{{ site.download.source }}" class="btn btn-lg btn-outline" role="button" onclick="ga('send', 'event', 'Getting started', 'Download', 'Download source');">Download source</a>
</p> </p>
...@@ -33,9 +33,6 @@ ...@@ -33,9 +33,6 @@
<!-- Latest compiled and minified CSS --> <!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="{{ site.cdn.css }}"> <link rel="stylesheet" href="{{ site.cdn.css }}">
<!-- RTL (right-to-left) version of CSS -->
<link rel="stylesheet" href="{{ site.cdn.css_rtl }}">
<!-- Optional theme --> <!-- Optional theme -->
<link rel="stylesheet" href="{{ site.cdn.css_theme }}"> <link rel="stylesheet" href="{{ site.cdn.css_theme }}">
......
<div class="bs-docs-section">
<h1 id="grunt" class="page-header">Compiling CSS and JavaScript</h1>
<p class="lead">Bootstrap uses <a href="http://gruntjs.com">Grunt</a> for its build system, with convenient methods for working with the framework. It's how we compile our code, run tests, and more.</p>
<h2 id="grunt-installing">Installing Grunt</h2>
<p>To install Grunt, you must <strong>first <a href="http://nodejs.org/download/">download and install node.js</a></strong> (which includes npm). npm stands for <a href="http://npmjs.org/">node packaged modules</a> and is a way to manage development dependencies through node.js.</p>
Then, from the command line:
<ol>
<li>Install <code>grunt-cli</code> globally with <code>npm install -g grunt-cli</code>.</li>
<li>Navigate to the root <code>/bootstrap/</code> directory, then run <code>npm install</code>. npm will look at the <a href="https://github.com/twbs/bootstrap/blob/master/package.json"><code>package.json</code></a> file and automatically install the necessary local dependencies listed there.</li>
</ol>
<p>When completed, you'll be able to run the various Grunt commands provided from the command line.</p>
<h2 id="grunt-commands">Available Grunt commands</h2>
<h3><code>grunt dist</code> (Just compile CSS and JavaScript)</h3>
<p>Regenerates the <code>/dist/</code> directory with compiled and minified CSS and JavaScript files. As a Bootstrap user, this is normally the command you want.</p>
<h3><code>grunt watch</code> (Watch)</h3>
<p>Watches the Less source files and automatically recompiles them to CSS whenever you save a change.</p>
<h3><code>grunt test</code> (Run tests)</h3>
<p>Runs <a href="http://jshint.com">JSHint</a> and runs the <a href="http://qunitjs.com">QUnit</a> tests headlessly in <a href="http://phantomjs.org">PhantomJS</a>.</p>
<h3><code>grunt</code> (Build absolutely everything and run tests)</h3>
<p>Compiles and minifies CSS and JavaScript, builds the documentation website, runs the HTML5 validator against the docs, regenerates the Customizer assets, and more. Usually only necessary if you're hacking on Bootstrap itself.</p>
<h2 id="grunt-troubleshooting">Troubleshooting</h2>
<p>Should you encounter problems with installing dependencies or running Grunt commands, first delete the <code>/node_modules/</code> directory generated by npm. Then, rerun <code>npm install</code>.</p>
</div>
<div class="bs-docs-section">
<h1 id="rtl" class="page-header">RTL</h1>
<p class="lead">As of Bootstrap 3.2, a right-to-left version of Bootstrap ships as part of the repository. It's powered by Twitter's <a href="https://github.com/twitter/css-flip">CSS Flip project</a> and is generated via our Gruntfile.</p>
<h2 id="rtl-how-to">How to use</h2>
<p>Bootstrap is by default a left-to-right project. For right-to-left projects, you'll need to set your language and replace the default Bootstrap CSS with an RTL version. First, set your language and text direction:</p>
{% highlight html %}
<!-- Example: Arabic language with direction set to RTL -->
<html lang="ar" dir="rtl">
{% endhighlight %}
<p>Then, include the right-to-left CSS file <strong>instead of</strong> the default Bootstrap CSS:</p>
{% highlight html %}
<!-- Bootstrap RTL -->
<link rel="stylesheet" href="bootstrap-rtl.css">
{% endhighlight %}
<p>Alternatively, you may use the minified RTL file, <code>bootstrap-rtl.min.css</code>.</p>
<div class="bs-callout bs-callout-danger">
<h4>Do not use in combination with <code>bootstrap.css</code></h4>
<p><code>bootstrap-rtl.css</code> must not be used together with <code>bootstrap.css</code>. Use either one or the other, but not both. <code>bootstrap-rtl.css</code> includes all of Bootstrap's styles, including those not affected by writing direction.</p>
</div>
<h2 id="rtl-css-flip">CSS Flip</h2>
<p><a href="https://github.com/twitter/css-flip">CSS Flip</a> is a project for converting left-to-right CSS files into right-to-left CSS files. We use it in our Gruntfile to automate the generation of Bootstrap's RTL CSS files.</p>
</div>
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries --> <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// --> <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]> <!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.1/html5shiv.min.js"></script> <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]--> <![endif]-->
</head> </head>
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
<h1>Hello, world!</h1> <h1>Hello, world!</h1>
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) --> <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<!-- Include all compiled plugins (below), or include individual files as needed --> <!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="js/bootstrap.min.js"></script> <script src="js/bootstrap.min.js"></script>
</body> </body>
......
...@@ -17,8 +17,6 @@ bootstrap/ ...@@ -17,8 +17,6 @@ bootstrap/
├── css/ ├── css/
│ ├── bootstrap.css │ ├── bootstrap.css
│ ├── bootstrap.min.css │ ├── bootstrap.min.css
│ ├── bootstrap-rtl.css
│ ├── bootstrap-rtl.min.css
│ ├── bootstrap-theme.css │ ├── bootstrap-theme.css
│ └── bootstrap-theme.min.css │ └── bootstrap-theme.min.css
├── js/ ├── js/
......
...@@ -29,21 +29,19 @@ ...@@ -29,21 +29,19 @@
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries --> <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]> <!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.1/html5shiv.min.js"></script> <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]--> <![endif]-->
<!-- Favicons --> <!-- Favicons -->
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="../assets/ico/apple-touch-icon-144-precomposed.png"> <link rel="apple-touch-icon-precomposed" sizes="144x144" href="../assets/ico/apple-touch-icon-144-precomposed.png">
<link rel="icon" href="../assets/ico/favicon.ico"> <link rel="icon" href="../assets/ico/favicon.ico">
<script> <script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga'); })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-146052-10', 'getbootstrap.com'); ga('create', 'UA-146052-10', 'getbootstrap.com');
ga('send', 'pageview'); ga('send', 'pageview');
</script> </script>
...@@ -62,6 +62,13 @@ ...@@ -62,6 +62,13 @@
<td>10</td> <td>10</td>
<td>Pixels to offset from screen when calculating position of scroll. If a single number is provided, the offset will be applied in both top and bottom directions. To provide a unique, bottom and top offset just provide an object <code>offset: { top: 10 }</code> or <code>offset: { top: 10, bottom: 5 }</code>. Use a function when you need to dynamically calculate an offset.</td> <td>Pixels to offset from screen when calculating position of scroll. If a single number is provided, the offset will be applied in both top and bottom directions. To provide a unique, bottom and top offset just provide an object <code>offset: { top: 10 }</code> or <code>offset: { top: 10, bottom: 5 }</code>. Use a function when you need to dynamically calculate an offset.</td>
</tr> </tr>
<tr>
<td>target</td>
<td>selector | node | jQuery element</td>
<td>the <code>window</code> object</td>
<td>Specifies the target element of the affix.</td>
</tr>
</tbody> </tbody>
</table> </table>
</div><!-- /.table-responsive --> </div><!-- /.table-responsive -->
......
...@@ -21,10 +21,10 @@ ...@@ -21,10 +21,10 @@
<img data-src="holder.js/900x500/auto/#555:#333/text:Third slide" alt="Third slide"> <img data-src="holder.js/900x500/auto/#555:#333/text:Third slide" alt="Third slide">
</div> </div>
</div> </div>
<a class="left carousel-control" href="#carousel-example-generic" data-slide="prev"> <a class="left carousel-control" href="#carousel-example-generic" role="button" data-slide="prev">
<span class="glyphicon glyphicon-chevron-left"></span> <span class="glyphicon glyphicon-chevron-left"></span>
</a> </a>
<a class="right carousel-control" href="#carousel-example-generic" data-slide="next"> <a class="right carousel-control" href="#carousel-example-generic" role="button" data-slide="next">
<span class="glyphicon glyphicon-chevron-right"></span> <span class="glyphicon glyphicon-chevron-right"></span>
</a> </a>
</div> </div>
...@@ -56,10 +56,10 @@ ...@@ -56,10 +56,10 @@
</div> </div>
<!-- Controls --> <!-- Controls -->
<a class="left carousel-control" href="#carousel-example-generic" data-slide="prev"> <a class="left carousel-control" href="#carousel-example-generic" role="button" data-slide="prev">
<span class="glyphicon glyphicon-chevron-left"></span> <span class="glyphicon glyphicon-chevron-left"></span>
</a> </a>
<a class="right carousel-control" href="#carousel-example-generic" data-slide="next"> <a class="right carousel-control" href="#carousel-example-generic" role="button" data-slide="next">
<span class="glyphicon glyphicon-chevron-right"></span> <span class="glyphicon glyphicon-chevron-right"></span>
</a> </a>
</div> </div>
...@@ -102,10 +102,10 @@ ...@@ -102,10 +102,10 @@
</div> </div>
</div> </div>
</div> </div>
<a class="left carousel-control" href="#carousel-example-captions" data-slide="prev"> <a class="left carousel-control" href="#carousel-example-captions" role="button" data-slide="prev">
<span class="glyphicon glyphicon-chevron-left"></span> <span class="glyphicon glyphicon-chevron-left"></span>
</a> </a>
<a class="right carousel-control" href="#carousel-example-captions" data-slide="next"> <a class="right carousel-control" href="#carousel-example-captions" role="button" data-slide="next">
<span class="glyphicon glyphicon-chevron-right"></span> <span class="glyphicon glyphicon-chevron-right"></span>
</a> </a>
</div> </div>
......
...@@ -151,6 +151,33 @@ $('.popover-dismiss').popover({ ...@@ -151,6 +151,33 @@ $('.popover-dismiss').popover({
<td>true</td> <td>true</td>
<td>Apply a CSS fade transition to the popover</td> <td>Apply a CSS fade transition to the popover</td>
</tr> </tr>
<tr>
<td>container</td>
<td>string | false</td>
<td>false</td>
<td>
<p>Appends the popover to a specific element. Example: <code>container: 'body'</code>. This option is particularly useful in that it allows you to position the popover in the flow of the document near the triggering element - which will prevent the popover from floating away from the triggering element during a window resize.</p>
</td>
</tr>
<tr>
<td>content</td>
<td>string | function</td>
<td>''</td>
<td>
<p>Default content value if <code>data-content</code> attribute isn't present.</p>
<p>If a function is given, it will be called with 1 argument, which is the element that the popover is attached to.</p>
</td>
</tr>
<tr>
<td>delay</td>
<td>number | object</td>
<td>0</td>
<td>
<p>Delay showing and hiding the popover (ms) - does not apply to manual trigger type</p>
<p>If a number is supplied, delay is applied to both hide/show</p>
<p>Object structure is: <code>delay: { show: 500, hide: 100 }</code></p>
</td>
</tr>
<tr> <tr>
<td>html</td> <td>html</td>
<td>boolean</td> <td>boolean</td>
...@@ -169,22 +196,10 @@ $('.popover-dismiss').popover({ ...@@ -169,22 +196,10 @@ $('.popover-dismiss').popover({
<td>false</td> <td>false</td>
<td>If a selector is provided, popover objects will be delegated to the specified targets. In practice, this is used to enable dynamic HTML content to have popovers added. See <a href="https://github.com/twbs/bootstrap/issues/4215">this</a> and <a href="http://jsfiddle.net/fScua/">an informative example</a>.</td> <td>If a selector is provided, popover objects will be delegated to the specified targets. In practice, this is used to enable dynamic HTML content to have popovers added. See <a href="https://github.com/twbs/bootstrap/issues/4215">this</a> and <a href="http://jsfiddle.net/fScua/">an informative example</a>.</td>
</tr> </tr>
<tr>
<td>trigger</td>
<td>string</td>
<td>'click'</td>
<td>How popover is triggered - click | hover | focus | manual</td>
</tr>
<tr>
<td>title</td>
<td>string | function</td>
<td>''</td>
<td>Default title value if <code>title</code> attribute isn't present</td>
</tr>
<tr> <tr>
<td>template</td> <td>template</td>
<td>string</td> <td>string</td>
<td><code>'&lt;div class="popover"&gt;&lt;div class="arrow"&gt;&lt;/div&gt;&lt;h3 class="popover-title"&gt;&lt;/h3&gt;&lt;div class="popover-content"&gt;&lt;/div&gt;&lt;/div&gt;'</code></td> <td><code>'&lt;div class="popover" role="tooltip"&gt;&lt;div class="arrow"&gt;&lt;/div&gt;&lt;h3 class="popover-title"&gt;&lt;/h3&gt;&lt;div class="popover-content"&gt;&lt;/div&gt;&lt;/div&gt;'</code></td>
<td> <td>
<p>Base HTML to use when creating the popover.</p> <p>Base HTML to use when creating the popover.</p>
<p>The popover's <code>title</code> will be injected into the <code>.popover-title</code>.</p> <p>The popover's <code>title</code> will be injected into the <code>.popover-title</code>.</p>
...@@ -194,32 +209,25 @@ $('.popover-dismiss').popover({ ...@@ -194,32 +209,25 @@ $('.popover-dismiss').popover({
</td> </td>
</tr> </tr>
<tr> <tr>
<td>content</td> <td>title</td>
<td>string | function</td> <td>string | function</td>
<td>''</td> <td>''</td>
<td> <td>Default title value if <code>title</code> attribute isn't present</td>
<p>Default content value if <code>data-content</code> attribute isn't present.</p>
<p>If a function is given, it will be called with 1 argument, which is the element that the popover is attached to.</p>
</td>
</tr> </tr>
<tr> <tr>
<td>delay</td> <td>trigger</td>
<td>number | object</td> <td>string</td>
<td>0</td> <td>'click'</td>
<td> <td>How popover is triggered - click | hover | focus | manual. You may pass multiple triggers; separate them with a space.</td>
<p>Delay showing and hiding the popover (ms) - does not apply to manual trigger type</p>
<p>If a number is supplied, delay is applied to both hide/show</p>
<p>Object structure is: <code>delay: { show: 500, hide: 100 }</code></p>
</td>
</tr> </tr>
<tr> <tr>
<td>container</td> <td>viewport</td>
<td>string | false</td> <td>string | object</td>
<td>false</td> <td>{ selector: 'body', padding: 0 }</td>
<td> <td>
<p>Appends the popover to a specific element. Example: <code>container: 'body'</code>. This option is particularly useful in that it allows you to position the popover in the flow of the document near the triggering element - which will prevent the popover from floating away from the triggering element during a window resize.</p> <p>Keeps the popover within the bounds of this element. Example: <code>viewport: '#viewport'</code> or <code>{ selector: '#viewport', padding: 0 }</code></p>
</td> </td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
</div><!-- /.table-responsive --> </div><!-- /.table-responsive -->
......
...@@ -65,7 +65,7 @@ body { ...@@ -65,7 +65,7 @@ body {
<body data-spy="scroll" data-target=".navbar-example"> <body data-spy="scroll" data-target=".navbar-example">
... ...
<div class="navbar-example"> <div class="navbar-example">
<ul class="nav nav-tabs"> <ul class="nav nav-tabs" role="tablist">
... ...
</ul> </ul>
</div> </div>
......
...@@ -4,14 +4,14 @@ ...@@ -4,14 +4,14 @@
<h2 id="tabs-examples">Example tabs</h2> <h2 id="tabs-examples">Example tabs</h2>
<p>Add quick, dynamic tab functionality to transition through panes of local content, even via dropdown menus.</p> <p>Add quick, dynamic tab functionality to transition through panes of local content, even via dropdown menus.</p>
<div class="bs-example bs-example-tabs"> <div class="bs-example bs-example-tabs">
<ul id="myTab" class="nav nav-tabs"> <ul id="myTab" class="nav nav-tabs" role="tablist">
<li class="active"><a href="#home" data-toggle="tab">Home</a></li> <li class="active"><a href="#home" role="tab" data-toggle="tab">Home</a></li>
<li><a href="#profile" data-toggle="tab">Profile</a></li> <li><a href="#profile" role="tab" data-toggle="tab">Profile</a></li>
<li class="dropdown"> <li class="dropdown">
<a href="#" id="myTabDrop1" class="dropdown-toggle" data-toggle="dropdown">Dropdown <span class="caret"></span></a> <a href="#" id="myTabDrop1" class="dropdown-toggle" data-toggle="dropdown">Dropdown <span class="caret"></span></a>
<ul class="dropdown-menu" role="menu" aria-labelledby="myTabDrop1"> <ul class="dropdown-menu" role="menu" aria-labelledby="myTabDrop1">
<li><a href="#dropdown1" tabindex="-1" data-toggle="tab">@fat</a></li> <li><a href="#dropdown1" tabindex="-1" role="tab" data-toggle="tab">@fat</a></li>
<li><a href="#dropdown2" tabindex="-1" data-toggle="tab">@mdo</a></li> <li><a href="#dropdown2" tabindex="-1" role="tab" data-toggle="tab">@mdo</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
...@@ -60,11 +60,11 @@ $('#myTab li:eq(2) a').tab('show') // Select third tab (0-indexed) ...@@ -60,11 +60,11 @@ $('#myTab li:eq(2) a').tab('show') // Select third tab (0-indexed)
<p>You can activate a tab or pill navigation without writing any JavaScript by simply specifying <code>data-toggle="tab"</code> or <code>data-toggle="pill"</code> on an element. Adding the <code>nav</code> and <code>nav-tabs</code> classes to the tab <code>ul</code> will apply the Bootstrap <a href="../components/#nav-tabs">tab styling</a>, while adding the <code>nav</code> and <code>nav-pills</code> classes will apply <a href="../components/#nav-pills">pill styling</a>.</p> <p>You can activate a tab or pill navigation without writing any JavaScript by simply specifying <code>data-toggle="tab"</code> or <code>data-toggle="pill"</code> on an element. Adding the <code>nav</code> and <code>nav-tabs</code> classes to the tab <code>ul</code> will apply the Bootstrap <a href="../components/#nav-tabs">tab styling</a>, while adding the <code>nav</code> and <code>nav-pills</code> classes will apply <a href="../components/#nav-pills">pill styling</a>.</p>
{% highlight html %} {% highlight html %}
<!-- Nav tabs --> <!-- Nav tabs -->
<ul class="nav nav-tabs"> <ul class="nav nav-tabs" role="tablist">
<li class="active"><a href="#home" data-toggle="tab">Home</a></li> <li class="active"><a href="#home" role="tab" data-toggle="tab">Home</a></li>
<li><a href="#profile" data-toggle="tab">Profile</a></li> <li><a href="#profile" role="tab" data-toggle="tab">Profile</a></li>
<li><a href="#messages" data-toggle="tab">Messages</a></li> <li><a href="#messages" role="tab" data-toggle="tab">Messages</a></li>
<li><a href="#settings" data-toggle="tab">Settings</a></li> <li><a href="#settings" role="tab" data-toggle="tab">Settings</a></li>
</ul> </ul>
<!-- Tab panes --> <!-- Tab panes -->
...@@ -93,11 +93,11 @@ $('#myTab li:eq(2) a').tab('show') // Select third tab (0-indexed) ...@@ -93,11 +93,11 @@ $('#myTab li:eq(2) a').tab('show') // Select third tab (0-indexed)
Activates a tab element and content container. Tab should have either a <code>data-target</code> or an <code>href</code> targeting a container node in the DOM. Activates a tab element and content container. Tab should have either a <code>data-target</code> or an <code>href</code> targeting a container node in the DOM.
</p> </p>
{% highlight html %} {% highlight html %}
<ul class="nav nav-tabs" id="myTab"> <ul class="nav nav-tabs" role="tablist" id="myTab">
<li class="active"><a href="#home" data-toggle="tab">Home</a></li> <li class="active"><a href="#home" role="tab" data-toggle="tab">Home</a></li>
<li><a href="#profile" data-toggle="tab">Profile</a></li> <li><a href="#profile" role="tab" data-toggle="tab">Profile</a></li>
<li><a href="#messages" data-toggle="tab">Messages</a></li> <li><a href="#messages" role="tab" data-toggle="tab">Messages</a></li>
<li><a href="#settings" data-toggle="tab">Settings</a></li> <li><a href="#settings" role="tab" data-toggle="tab">Settings</a></li>
</ul> </ul>
<div class="tab-content"> <div class="tab-content">
......
...@@ -90,6 +90,24 @@ $('#example').tooltip(options) ...@@ -90,6 +90,24 @@ $('#example').tooltip(options)
<td>true</td> <td>true</td>
<td>Apply a CSS fade transition to the tooltip</td> <td>Apply a CSS fade transition to the tooltip</td>
</tr> </tr>
<tr>
<td>container</td>
<td>string | false</td>
<td>false</td>
<td>
<p>Appends the tooltip to a specific element. Example: <code>container: 'body'</code>. This option is particularly useful in that it allows you to position the tooltip in the flow of the document near the triggering element - which will prevent the tooltip from floating away from the triggering element during a window resize.</p>
</td>
</tr>
<tr>
<td>delay</td>
<td>number | object</td>
<td>0</td>
<td>
<p>Delay showing and hiding the tooltip (ms) - does not apply to manual trigger type</p>
<p>If a number is supplied, delay is applied to both hide/show</p>
<p>Object structure is: <code>delay: { show: 500, hide: 100 }</code></p>
</td>
</tr>
<tr> <tr>
<td>html</td> <td>html</td>
<td>boolean</td> <td>boolean</td>
...@@ -106,7 +124,7 @@ $('#example').tooltip(options) ...@@ -106,7 +124,7 @@ $('#example').tooltip(options)
<td>selector</td> <td>selector</td>
<td>string</td> <td>string</td>
<td>false</td> <td>false</td>
<td>If a selector is provided, tooltip objects will be delegated to the specified targets.</td> <td>If a selector is provided, tooltip objects will be delegated to the specified targets. In practice, this is used to enable dynamic HTML content to have tooltips added. See <a href="https://github.com/twbs/bootstrap/issues/4215">this</a> and <a href="http://jsfiddle.net/fScua/">an informative example</a>.</td>
</tr> </tr>
<tr> <tr>
<td>template</td> <td>template</td>
...@@ -131,24 +149,6 @@ $('#example').tooltip(options) ...@@ -131,24 +149,6 @@ $('#example').tooltip(options)
<td>'hover focus'</td> <td>'hover focus'</td>
<td>How tooltip is triggered - click | hover | focus | manual. You may pass multiple triggers; separate them with a space.</td> <td>How tooltip is triggered - click | hover | focus | manual. You may pass multiple triggers; separate them with a space.</td>
</tr> </tr>
<tr>
<td>delay</td>
<td>number | object</td>
<td>0</td>
<td>
<p>Delay showing and hiding the tooltip (ms) - does not apply to manual trigger type</p>
<p>If a number is supplied, delay is applied to both hide/show</p>
<p>Object structure is: <code>delay: { show: 500, hide: 100 }</code></p>
</td>
</tr>
<tr>
<td>container</td>
<td>string | false</td>
<td>false</td>
<td>
<p>Appends the tooltip to a specific element. Example: <code>container: 'body'</code></p>
</td>
</tr>
<tr> <tr>
<td>viewport</td> <td>viewport</td>
<td>string | object</td> <td>string | object</td>
......
...@@ -133,10 +133,3 @@ ...@@ -133,10 +133,3 @@
<li><a href="#sass-installation">Rails install</a></li> <li><a href="#sass-installation">Rails install</a></li>
</ul> </ul>
</li> </li>
<li>
<a href="#rtl">RTL version</a>
<ul class="nav">
<li><a href="#rtl-how-to">How to use</a></li>
<li><a href="#rtl-css-flip">CSS Flip</a></li>
</ul>
</li>
...@@ -8,6 +8,14 @@ ...@@ -8,6 +8,14 @@
<li><a href="#whats-included-source">Source code</a></li> <li><a href="#whats-included-source">Source code</a></li>
</ul> </ul>
</li> </li>
<li>
<a href="#grunt">Compiling CSS and JavaScript</a>
<ul class="nav">
<li><a href="#grunt-installing">Installing Grunt</a></li>
<li><a href="#grunt-commands">Available Grunt commands</a></li>
<li><a href="#grunt-troubleshooting">Troubleshooting</a></li>
</ul>
</li>
<li> <li>
<a href="#template">Basic template</a> <a href="#template">Basic template</a>
</li> </li>
...@@ -20,13 +28,6 @@ ...@@ -20,13 +28,6 @@
<li><a href="#examples-experiments">Experiments</a></li> <li><a href="#examples-experiments">Experiments</a></li>
</ul> </ul>
</li> </li>
<li>
<a href="#rtl">RTL version</a>
<ul class="nav">
<li><a href="#rtl-how-to">How to use</a></li>
<li><a href="#rtl-css-flip">CSS Flip</a></li>
</ul>
</li>
<li> <li>
<a href="#community">Community</a> <a href="#community">Community</a>
</li> </li>
......
...@@ -1111,6 +1111,8 @@ h1[id] { ...@@ -1111,6 +1111,8 @@ h1[id] {
padding: 0; padding: 0;
margin-top: 0; margin-top: 0;
margin-bottom: 0; margin-bottom: 0;
word-break: normal;
word-wrap: nowrap;
white-space: nowrap; white-space: nowrap;
background-color: transparent; background-color: transparent;
border: 0; border: 0;
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -58,6 +58,12 @@ lead: Customize Bootstrap's components, Less variables, and jQuery plugins to ge ...@@ -58,6 +58,12 @@ lead: Customize Bootstrap's components, Less variables, and jQuery plugins to ge
Buttons Buttons
</label> </label>
</div> </div>
<div class="checkbox">
<label>
<input type="checkbox" checked value="responsive-utilities.less">
Responsive utilities
</label>
</div>
</div><!-- .col-xs-6 .col-sm-4 --> </div><!-- .col-xs-6 .col-sm-4 -->
<div class="col-xs-6 col-sm-4"> <div class="col-xs-6 col-sm-4">
...@@ -88,7 +94,7 @@ lead: Customize Bootstrap's components, Less variables, and jQuery plugins to ge ...@@ -88,7 +94,7 @@ lead: Customize Bootstrap's components, Less variables, and jQuery plugins to ge
</div> </div>
<div class="checkbox"> <div class="checkbox">
<label> <label>
<input type="checkbox" checked value="navbar.less" data-dependencies="forms.less,utilities.less,navs.less"> <input type="checkbox" checked value="navbar.less" data-dependencies="forms.less,navs.less">
Navbar Navbar
</label> </label>
</div> </div>
...@@ -222,20 +228,6 @@ lead: Customize Bootstrap's components, Less variables, and jQuery plugins to ge ...@@ -222,20 +228,6 @@ lead: Customize Bootstrap's components, Less variables, and jQuery plugins to ge
Carousel Carousel
</label> </label>
</div> </div>
<h3>Utilities</h3>
<div class="checkbox">
<label>
<input type="checkbox" checked value="utilities.less" data-dependents="navbar.less">
Basic utilities
</label>
</div>
<div class="checkbox">
<label>
<input type="checkbox" checked value="responsive-utilities.less">
Responsive utilities
</label>
</div>
</div><!-- .col-xs-6 .col-sm-4 --> </div><!-- .col-xs-6 .col-sm-4 -->
</div><!-- /.row --> </div><!-- /.row -->
</div> </div>
......
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
This diff was suppressed by a .gitattributes entry.
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries --> <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]> <!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.1/html5shiv.min.js"></script> <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]--> <![endif]-->
</head> </head>
...@@ -168,7 +168,7 @@ ...@@ -168,7 +168,7 @@
<!-- Bootstrap core JavaScript <!-- Bootstrap core JavaScript
================================================== --> ================================================== -->
<!-- Placed at the end of the document so the pages load faster --> <!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="../../dist/js/bootstrap.min.js"></script> <script src="../../dist/js/bootstrap.min.js"></script>
<script src="../../assets/js/docs.min.js"></script> <script src="../../assets/js/docs.min.js"></script>
</body> </body>
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries --> <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]> <!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.1/html5shiv.min.js"></script> <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]--> <![endif]-->
...@@ -113,8 +113,8 @@ ...@@ -113,8 +113,8 @@
</div> </div>
</div> </div>
</div> </div>
<a class="left carousel-control" href="#myCarousel" data-slide="prev"><span class="glyphicon glyphicon-chevron-left"></span></a> <a class="left carousel-control" href="#myCarousel" role="button" data-slide="prev"><span class="glyphicon glyphicon-chevron-left"></span></a>
<a class="right carousel-control" href="#myCarousel" data-slide="next"><span class="glyphicon glyphicon-chevron-right"></span></a> <a class="right carousel-control" href="#myCarousel" role="button" data-slide="next"><span class="glyphicon glyphicon-chevron-right"></span></a>
</div><!-- /.carousel --> </div><!-- /.carousel -->
...@@ -203,7 +203,7 @@ ...@@ -203,7 +203,7 @@
<!-- Bootstrap core JavaScript <!-- Bootstrap core JavaScript
================================================== --> ================================================== -->
<!-- Placed at the end of the document so the pages load faster --> <!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="../../dist/js/bootstrap.min.js"></script> <script src="../../dist/js/bootstrap.min.js"></script>
<script src="../../assets/js/docs.min.js"></script> <script src="../../assets/js/docs.min.js"></script>
</body> </body>
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries --> <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]> <!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.1/html5shiv.min.js"></script> <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]--> <![endif]-->
</head> </head>
...@@ -72,7 +72,7 @@ ...@@ -72,7 +72,7 @@
<!-- Bootstrap core JavaScript <!-- Bootstrap core JavaScript
================================================== --> ================================================== -->
<!-- Placed at the end of the document so the pages load faster --> <!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="../../dist/js/bootstrap.min.js"></script> <script src="../../dist/js/bootstrap.min.js"></script>
<script src="../../assets/js/docs.min.js"></script> <script src="../../assets/js/docs.min.js"></script>
</body> </body>
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries --> <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]> <!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.1/html5shiv.min.js"></script> <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]--> <![endif]-->
</head> </head>
...@@ -240,7 +240,7 @@ ...@@ -240,7 +240,7 @@
<!-- Bootstrap core JavaScript <!-- Bootstrap core JavaScript
================================================== --> ================================================== -->
<!-- Placed at the end of the document so the pages load faster --> <!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="../../dist/js/bootstrap.min.js"></script> <script src="../../dist/js/bootstrap.min.js"></script>
<script src="../../assets/js/docs.min.js"></script> <script src="../../assets/js/docs.min.js"></script>
</body> </body>
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries --> <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]> <!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.1/html5shiv.min.js"></script> <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]--> <![endif]-->
</head> </head>
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries --> <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]> <!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.1/html5shiv.min.js"></script> <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]--> <![endif]-->
</head> </head>
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries --> <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]> <!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.1/html5shiv.min.js"></script> <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]--> <![endif]-->
</head> </head>
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries --> <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]> <!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.1/html5shiv.min.js"></script> <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]--> <![endif]-->
</head> </head>
...@@ -97,7 +97,7 @@ ...@@ -97,7 +97,7 @@
<!-- Bootstrap core JavaScript <!-- Bootstrap core JavaScript
================================================== --> ================================================== -->
<!-- Placed at the end of the document so the pages load faster --> <!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="../../dist/js/bootstrap.min.js"></script> <script src="../../dist/js/bootstrap.min.js"></script>
</body> </body>
</html> </html>
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries --> <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]> <!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.1/html5shiv.min.js"></script> <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]--> <![endif]-->
</head> </head>
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries --> <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]> <!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.1/html5shiv.min.js"></script> <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]--> <![endif]-->
</head> </head>
...@@ -89,7 +89,7 @@ ...@@ -89,7 +89,7 @@
<!-- Bootstrap core JavaScript <!-- Bootstrap core JavaScript
================================================== --> ================================================== -->
<!-- Placed at the end of the document so the pages load faster --> <!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="../../dist/js/bootstrap.min.js"></script> <script src="../../dist/js/bootstrap.min.js"></script>
</body> </body>
</html> </html>
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries --> <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]> <!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.1/html5shiv.min.js"></script> <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]--> <![endif]-->
</head> </head>
...@@ -90,7 +90,7 @@ ...@@ -90,7 +90,7 @@
<!-- Bootstrap core JavaScript <!-- Bootstrap core JavaScript
================================================== --> ================================================== -->
<!-- Placed at the end of the document so the pages load faster --> <!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="../../dist/js/bootstrap.min.js"></script> <script src="../../dist/js/bootstrap.min.js"></script>
</body> </body>
</html> </html>
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries --> <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]> <!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.1/html5shiv.min.js"></script> <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]--> <![endif]-->
</head> </head>
...@@ -88,7 +88,7 @@ ...@@ -88,7 +88,7 @@
<!-- Bootstrap core JavaScript <!-- Bootstrap core JavaScript
================================================== --> ================================================== -->
<!-- Placed at the end of the document so the pages load faster --> <!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="../../dist/js/bootstrap.min.js"></script> <script src="../../dist/js/bootstrap.min.js"></script>
</body> </body>
</html> </html>
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries --> <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]> <!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.1/html5shiv.min.js"></script> <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]--> <![endif]-->
</head> </head>
...@@ -103,7 +103,7 @@ ...@@ -103,7 +103,7 @@
<!-- Bootstrap core JavaScript <!-- Bootstrap core JavaScript
================================================== --> ================================================== -->
<!-- Placed at the end of the document so the pages load faster --> <!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="../../dist/js/bootstrap.min.js"></script> <script src="../../dist/js/bootstrap.min.js"></script>
</body> </body>
</html> </html>
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries --> <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]> <!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.1/html5shiv.min.js"></script> <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]--> <![endif]-->
</head> </head>
...@@ -127,7 +127,7 @@ ...@@ -127,7 +127,7 @@
<!-- Bootstrap core JavaScript <!-- Bootstrap core JavaScript
================================================== --> ================================================== -->
<!-- Placed at the end of the document so the pages load faster --> <!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="../../dist/js/bootstrap.min.js"></script> <script src="../../dist/js/bootstrap.min.js"></script>
<script src="offcanvas.js"></script> <script src="offcanvas.js"></script>
</body> </body>
......
This diff is collapsed.
body {
padding-top: 70px;
padding-bottom: 30px;
}
.theme-dropdown .dropdown-menu {
position: static;
display: block;
margin-bottom: 20px;
}
.theme-showcase > p > .btn {
margin: 5px 0;
}
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries --> <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]> <!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.1/html5shiv.min.js"></script> <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]--> <![endif]-->
</head> </head>
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries --> <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]> <!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.1/html5shiv.min.js"></script> <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]--> <![endif]-->
</head> </head>
...@@ -66,7 +66,7 @@ ...@@ -66,7 +66,7 @@
<!-- Bootstrap core JavaScript <!-- Bootstrap core JavaScript
================================================== --> ================================================== -->
<!-- Placed at the end of the document so the pages load faster --> <!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="../../dist/js/bootstrap.min.js"></script> <script src="../../dist/js/bootstrap.min.js"></script>
</body> </body>
</html> </html>
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries --> <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]> <!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.1/html5shiv.min.js"></script> <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]--> <![endif]-->
</head> </head>
...@@ -85,7 +85,7 @@ ...@@ -85,7 +85,7 @@
<!-- Bootstrap core JavaScript <!-- Bootstrap core JavaScript
================================================== --> ================================================== -->
<!-- Placed at the end of the document so the pages load faster --> <!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="../../dist/js/bootstrap.min.js"></script> <script src="../../dist/js/bootstrap.min.js"></script>
</body> </body>
</html> </html>
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries --> <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]> <!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.1/html5shiv.min.js"></script> <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]--> <![endif]-->
</head> </head>
......
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries --> <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]> <!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.1/html5shiv.min.js"></script> <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]--> <![endif]-->
</head> </head>
...@@ -364,7 +364,7 @@ ...@@ -364,7 +364,7 @@
<div class="page-header"> <div class="page-header">
<h1>Navs</h1> <h1>Navs</h1>
</div> </div>
<ul class="nav nav-tabs"> <ul class="nav nav-tabs" role="tablist">
<li class="active"><a href="#">Home</a></li> <li class="active"><a href="#">Home</a></li>
<li><a href="#">Profile</a></li> <li><a href="#">Profile</a></li>
<li><a href="#">Messages</a></li> <li><a href="#">Messages</a></li>
...@@ -628,10 +628,10 @@ ...@@ -628,10 +628,10 @@
<img data-src="holder.js/1140x500/auto/#555:#333/text:Third slide" alt="Third slide"> <img data-src="holder.js/1140x500/auto/#555:#333/text:Third slide" alt="Third slide">
</div> </div>
</div> </div>
<a class="left carousel-control" href="#carousel-example-generic" data-slide="prev"> <a class="left carousel-control" href="#carousel-example-generic" role="button" data-slide="prev">
<span class="glyphicon glyphicon-chevron-left"></span> <span class="glyphicon glyphicon-chevron-left"></span>
</a> </a>
<a class="right carousel-control" href="#carousel-example-generic" data-slide="next"> <a class="right carousel-control" href="#carousel-example-generic" role="button" data-slide="next">
<span class="glyphicon glyphicon-chevron-right"></span> <span class="glyphicon glyphicon-chevron-right"></span>
</a> </a>
</div> </div>
...@@ -643,7 +643,7 @@ ...@@ -643,7 +643,7 @@
<!-- Bootstrap core JavaScript <!-- Bootstrap core JavaScript
================================================== --> ================================================== -->
<!-- Placed at the end of the document so the pages load faster --> <!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="../../dist/js/bootstrap.min.js"></script> <script src="../../dist/js/bootstrap.min.js"></script>
<script src="../../assets/js/docs.min.js"></script> <script src="../../assets/js/docs.min.js"></script>
</body> </body>
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries --> <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]> <!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.1/html5shiv.min.js"></script> <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]--> <![endif]-->
</head> </head>
...@@ -53,7 +53,7 @@ ...@@ -53,7 +53,7 @@
<!-- Bootstrap core JavaScript <!-- Bootstrap core JavaScript
================================================== --> ================================================== -->
<!-- Placed at the end of the document so the pages load faster --> <!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="../../dist/js/bootstrap.min.js"></script> <script src="../../dist/js/bootstrap.min.js"></script>
<script src="tooltip-viewport.js"></script> <script src="tooltip-viewport.js"></script>
</body> </body>
......
...@@ -7,9 +7,9 @@ lead: "An overview of Bootstrap, how to download and use, basic templates and ex ...@@ -7,9 +7,9 @@ lead: "An overview of Bootstrap, how to download and use, basic templates and ex
{% include getting-started/download.html %} {% include getting-started/download.html %}
{% include getting-started/whats-included.html %} {% include getting-started/whats-included.html %}
{% include getting-started/grunt.html %}
{% include getting-started/template.html %} {% include getting-started/template.html %}
{% include getting-started/examples.html %} {% include getting-started/examples.html %}
{% include getting-started/rtl.html %}
{% include getting-started/community.html %} {% include getting-started/community.html %}
{% include getting-started/disabling-responsiveness.html %} {% include getting-started/disabling-responsiveness.html %}
......
...@@ -15,7 +15,8 @@ ...@@ -15,7 +15,8 @@
var Affix = function (element, options) { var Affix = function (element, options) {
this.options = $.extend({}, Affix.DEFAULTS, options) this.options = $.extend({}, Affix.DEFAULTS, options)
this.$window = $(window)
this.$target = $(this.options.target)
.on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this)) .on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this))
.on('click.bs.affix.data-api', $.proxy(this.checkPositionWithEventLoop, this)) .on('click.bs.affix.data-api', $.proxy(this.checkPositionWithEventLoop, this))
...@@ -27,16 +28,19 @@ ...@@ -27,16 +28,19 @@
this.checkPosition() this.checkPosition()
} }
Affix.RESET = 'affix affix-top affix-bottom' Affix.VERSION = '3.1.1'
Affix.RESET = 'affix affix-top affix-bottom'
Affix.DEFAULTS = { Affix.DEFAULTS = {
offset: 0 offset: 0,
target: window
} }
Affix.prototype.getPinnedOffset = function () { Affix.prototype.getPinnedOffset = function () {
if (this.pinnedOffset) return this.pinnedOffset if (this.pinnedOffset) return this.pinnedOffset
this.$element.removeClass(Affix.RESET).addClass('affix') this.$element.removeClass(Affix.RESET).addClass('affix')
var scrollTop = this.$window.scrollTop() var scrollTop = this.$target.scrollTop()
var position = this.$element.offset() var position = this.$element.offset()
return (this.pinnedOffset = position.top - scrollTop) return (this.pinnedOffset = position.top - scrollTop)
} }
...@@ -49,7 +53,7 @@ ...@@ -49,7 +53,7 @@
if (!this.$element.is(':visible')) return if (!this.$element.is(':visible')) return
var scrollHeight = $(document).height() var scrollHeight = $(document).height()
var scrollTop = this.$window.scrollTop() var scrollTop = this.$target.scrollTop()
var position = this.$element.offset() var position = this.$element.offset()
var offset = this.options.offset var offset = this.options.offset
var offsetTop = offset.top var offsetTop = offset.top
...@@ -82,7 +86,7 @@ ...@@ -82,7 +86,7 @@
.trigger($.Event(affixType.replace('affix', 'affixed'))) .trigger($.Event(affixType.replace('affix', 'affixed')))
if (affix == 'bottom') { if (affix == 'bottom') {
this.$element.offset({ top: position.top }) this.$element.offset({ top: scrollHeight - this.$element.height() - offsetBottom })
} }
} }
......
...@@ -18,6 +18,8 @@ ...@@ -18,6 +18,8 @@
$(el).on('click', dismiss, this.close) $(el).on('click', dismiss, this.close)
} }
Alert.VERSION = '3.1.1'
Alert.prototype.close = function (e) { Alert.prototype.close = function (e) {
var $this = $(this) var $this = $(this)
var selector = $this.attr('data-target') var selector = $this.attr('data-target')
......
...@@ -19,6 +19,8 @@ ...@@ -19,6 +19,8 @@
this.isLoading = false this.isLoading = false
} }
Button.VERSION = '3.1.1'
Button.DEFAULTS = { Button.DEFAULTS = {
loadingText: 'loading...' loadingText: 'loading...'
} }
......
...@@ -28,6 +28,8 @@ ...@@ -28,6 +28,8 @@
.on('mouseleave', $.proxy(this.cycle, this)) .on('mouseleave', $.proxy(this.cycle, this))
} }
Carousel.VERSION = '3.1.1'
Carousel.DEFAULTS = { Carousel.DEFAULTS = {
interval: 5000, interval: 5000,
pause: 'hover', pause: 'hover',
......
...@@ -22,6 +22,8 @@ ...@@ -22,6 +22,8 @@
if (this.options.toggle) this.toggle() if (this.options.toggle) this.toggle()
} }
Collapse.VERSION = '3.1.1'
Collapse.DEFAULTS = { Collapse.DEFAULTS = {
toggle: true toggle: true
} }
......
...@@ -19,6 +19,8 @@ ...@@ -19,6 +19,8 @@
$(element).on('click.bs.dropdown', this.toggle) $(element).on('click.bs.dropdown', this.toggle)
} }
Dropdown.VERSION = '3.1.1'
Dropdown.prototype.toggle = function (e) { Dropdown.prototype.toggle = function (e) {
var $this = $(this) var $this = $(this)
......
...@@ -30,6 +30,8 @@ ...@@ -30,6 +30,8 @@
} }
} }
Modal.VERSION = '3.1.1'
Modal.DEFAULTS = { Modal.DEFAULTS = {
backdrop: true, backdrop: true,
keyboard: true, keyboard: true,
...@@ -267,7 +269,7 @@ ...@@ -267,7 +269,7 @@
if ($this.is('a')) e.preventDefault() if ($this.is('a')) e.preventDefault()
Plugin.call($target, option, this) Plugin.call($target, option, this)
$target.one('hide', function () { $target.one('hide.bs.modal', function () {
$this.is(':visible') && $this.trigger('focus') $this.is(':visible') && $this.trigger('focus')
}) })
}) })
......
...@@ -19,6 +19,8 @@ ...@@ -19,6 +19,8 @@
if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js') if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js')
Popover.VERSION = '3.1.1'
Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, { Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, {
placement: 'right', placement: 'right',
trigger: 'click', trigger: 'click',
......
...@@ -32,6 +32,8 @@ ...@@ -32,6 +32,8 @@
this.process() this.process()
} }
ScrollSpy.VERSION = '3.1.1'
ScrollSpy.DEFAULTS = { ScrollSpy.DEFAULTS = {
offset: 10 offset: 10
} }
...@@ -46,6 +48,7 @@ ...@@ -46,6 +48,7 @@
this.$body this.$body
.find(this.selector) .find(this.selector)
.filter(':visible')
.map(function () { .map(function () {
var $el = $(this) var $el = $(this)
var href = $el.data('target') || $el.attr('href') var href = $el.data('target') || $el.attr('href')
......
...@@ -17,6 +17,8 @@ ...@@ -17,6 +17,8 @@
this.element = $(element) this.element = $(element)
} }
Tab.VERSION = '3.1.1'
Tab.prototype.show = function () { Tab.prototype.show = function () {
var $this = this.element var $this = this.element
var $ul = $this.closest('ul:not(.dropdown-menu)') var $ul = $this.closest('ul:not(.dropdown-menu)')
...@@ -40,7 +42,7 @@ ...@@ -40,7 +42,7 @@
var $target = $(selector) var $target = $(selector)
this.activate($this.parent('li'), $ul) this.activate($this.closest('li'), $ul)
this.activate($target, $target.parent(), function () { this.activate($target, $target.parent(), function () {
$this.trigger({ $this.trigger({
type: 'shown.bs.tab', type: 'shown.bs.tab',
......
...@@ -19,7 +19,7 @@ $(function () { ...@@ -19,7 +19,7 @@ $(function () {
}) })
test('should provide no conflict', function () { test('should provide no conflict', function () {
ok(!$.fn.modal, 'modal was set back to undefined (org value)') ok(!$.fn.modal, 'modal was set back to undefined (orig value)')
}) })
test('should return element', function () { test('should return element', function () {
......
This diff is collapsed.
...@@ -25,6 +25,8 @@ ...@@ -25,6 +25,8 @@
this.init('tooltip', element, options) this.init('tooltip', element, options)
} }
Tooltip.VERSION = '3.1.1'
Tooltip.DEFAULTS = { Tooltip.DEFAULTS = {
animation: true, animation: true,
placement: 'top', placement: 'top',
......
...@@ -216,6 +216,10 @@ ...@@ -216,6 +216,10 @@
> .btn-group .btn { > .btn-group .btn {
width: 100%; width: 100%;
} }
> .btn-group .dropdown-menu {
left: auto;
}
} }
...@@ -232,5 +236,5 @@ ...@@ -232,5 +236,5 @@
[data-toggle="buttons"] > .btn > input[type="checkbox"] { [data-toggle="buttons"] > .btn > input[type="checkbox"] {
position: absolute; position: absolute;
z-index: -1; z-index: -1;
opacity: 0; .opacity(0);
} }
...@@ -2,5 +2,5 @@ ...@@ -2,5 +2,5 @@
.resizable(@direction) { .resizable(@direction) {
resize: @direction; // Options: horizontal, vertical, both resize: @direction; // Options: horizontal, vertical, both
overflow: auto; // Safari fix overflow: auto; // Per CSS3 UI, `resize` only applies when `overflow` isn't `visible`
} }
...@@ -14,7 +14,8 @@ ...@@ -14,7 +14,8 @@
// For more information, see the following: // For more information, see the following:
// //
// Issue: https://github.com/twbs/bootstrap/issues/10497 // Issue: https://github.com/twbs/bootstrap/issues/10497
// Docs: http://getbootstrap.com/getting-started/#browsers // Docs: http://getbootstrap.com/getting-started/#support-ie10-width
// Source: http://timkadlec.com/2013/01/windows-phone-8-and-device-width/
// Source: http://timkadlec.com/2012/10/ie10-snap-mode-and-responsive-design/ // Source: http://timkadlec.com/2012/10/ie10-snap-mode-and-responsive-design/
@-ms-viewport { @-ms-viewport {
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment