Merge branch '3.0.0-wip' into bs3_theme
Conflicts: dist/css/bootstrap.min.css
@@ -33,6 +33,9 @@ nbproject
|
|||||||
*.komodoproject
|
*.komodoproject
|
||||||
.komodotools
|
.komodotools
|
||||||
|
|
||||||
|
# grunt-html-validation
|
||||||
|
validation-staus.json
|
||||||
|
|
||||||
# Folders to ignore
|
# Folders to ignore
|
||||||
.hg
|
.hg
|
||||||
.svn
|
.svn
|
||||||
|
|||||||
@@ -2,8 +2,10 @@ language: node_js
|
|||||||
node_js:
|
node_js:
|
||||||
- 0.8
|
- 0.8
|
||||||
before_script:
|
before_script:
|
||||||
|
- gem install jekyll
|
||||||
- npm install -g grunt-cli
|
- npm install -g grunt-cli
|
||||||
env:
|
env:
|
||||||
global:
|
global:
|
||||||
- secure: Besg41eyU+2mfxrywQ4ydOShMdc34ImaO0S0ENP+aCOBuyNBIgP59wy5tBMmyai2/8eInYeVps4Td96mWInMMxzTe3Bar7eTLG5tWVKRSr/wc4NBPZ/ppoPAmCEsz9Y+VptRH9/FO8n7hsL9EFZ+xBKbG+C0SccGoyBDpA5j7/w=
|
- secure: Besg41eyU+2mfxrywQ4ydOShMdc34ImaO0S0ENP+aCOBuyNBIgP59wy5tBMmyai2/8eInYeVps4Td96mWInMMxzTe3Bar7eTLG5tWVKRSr/wc4NBPZ/ppoPAmCEsz9Y+VptRH9/FO8n7hsL9EFZ+xBKbG+C0SccGoyBDpA5j7/w=
|
||||||
- secure: Ptiv7phCImFP3ALIz+sMQzrZg8k7C1gLZbFBhWxjnQr3g06wIfX3Ls5y9OHvxid+lOZZjISui3wzBVgpVHqwHUYf96+r0mo6/mJ+F4ffUmShZANVaIMD/JRTnXhUQJbvntGLvxn1EYWPdNM+2IHJrMipnjHxU9tkgAnlel4Zdew=
|
- secure: Ptiv7phCImFP3ALIz+sMQzrZg8k7C1gLZbFBhWxjnQr3g06wIfX3Ls5y9OHvxid+lOZZjISui3wzBVgpVHqwHUYf96+r0mo6/mJ+F4ffUmShZANVaIMD/JRTnXhUQJbvntGLvxn1EYWPdNM+2IHJrMipnjHxU9tkgAnlel4Zdew=
|
||||||
|
- TWBS_HAVE_OWN_BROWSERSTACK_KEY: ""
|
||||||
|
|||||||
@@ -34,6 +34,7 @@ module.exports = function(grunt) {
|
|||||||
src: ['js/tests/unit/*.js']
|
src: ['js/tests/unit/*.js']
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
concat: {
|
concat: {
|
||||||
options: {
|
options: {
|
||||||
banner: '<%= banner %><%= jqueryCheck %>',
|
banner: '<%= banner %><%= jqueryCheck %>',
|
||||||
@@ -57,6 +58,7 @@ module.exports = function(grunt) {
|
|||||||
dest: 'dist/js/<%= pkg.name %>.js'
|
dest: 'dist/js/<%= pkg.name %>.js'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
uglify: {
|
uglify: {
|
||||||
options: {
|
options: {
|
||||||
banner: '<%= banner %>'
|
banner: '<%= banner %>'
|
||||||
@@ -90,6 +92,7 @@ module.exports = function(grunt) {
|
|||||||
},
|
},
|
||||||
files: ['js/tests/*.html']
|
files: ['js/tests/*.html']
|
||||||
},
|
},
|
||||||
|
|
||||||
connect: {
|
connect: {
|
||||||
server: {
|
server: {
|
||||||
options: {
|
options: {
|
||||||
@@ -99,6 +102,19 @@ module.exports = function(grunt) {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
jekyll: {
|
||||||
|
docs: {}
|
||||||
|
},
|
||||||
|
|
||||||
|
validation: {
|
||||||
|
options: {
|
||||||
|
reset: true,
|
||||||
|
},
|
||||||
|
files: {
|
||||||
|
src: ["_gh_pages/**/*.html"]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
watch: {
|
watch: {
|
||||||
src: {
|
src: {
|
||||||
files: '<%= jshint.src.src %>',
|
files: '<%= jshint.src.src %>',
|
||||||
@@ -124,14 +140,22 @@ module.exports = function(grunt) {
|
|||||||
grunt.loadNpmTasks('grunt-contrib-qunit');
|
grunt.loadNpmTasks('grunt-contrib-qunit');
|
||||||
grunt.loadNpmTasks('grunt-contrib-uglify');
|
grunt.loadNpmTasks('grunt-contrib-uglify');
|
||||||
grunt.loadNpmTasks('grunt-contrib-watch');
|
grunt.loadNpmTasks('grunt-contrib-watch');
|
||||||
|
grunt.loadNpmTasks('grunt-html-validation');
|
||||||
|
grunt.loadNpmTasks('grunt-jekyll');
|
||||||
grunt.loadNpmTasks('grunt-recess');
|
grunt.loadNpmTasks('grunt-recess');
|
||||||
grunt.loadNpmTasks('browserstack-runner');
|
grunt.loadNpmTasks('browserstack-runner');
|
||||||
|
|
||||||
|
// Docs HTML validation task
|
||||||
|
grunt.registerTask('validate-docs', ['jekyll', 'validation']);
|
||||||
|
|
||||||
// Test task.
|
// Test task.
|
||||||
var testSubtasks = ['jshint', 'qunit'];
|
var testSubtasks = ['jshint', 'qunit', 'validate-docs'];
|
||||||
|
// Only run BrowserStack tests under Travis
|
||||||
if (process.env.TRAVIS) {
|
if (process.env.TRAVIS) {
|
||||||
testSubtasks.push('browserstack_runner');
|
// Only run BrowserStack tests if this is a mainline commit in twbs/bootstrap, or you have your own BrowserStack key
|
||||||
|
if ((process.env.TRAVIS_REPO_SLUG === 'twbs/bootstrap' && process.env.TRAVIS_PULL_REQUEST === 'false') || process.env.TWBS_HAVE_OWN_BROWSERSTACK_KEY) {
|
||||||
|
testSubtasks.push('browserstack_runner');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
grunt.registerTask('test', testSubtasks);
|
grunt.registerTask('test', testSubtasks);
|
||||||
|
|
||||||
@@ -145,5 +169,26 @@ module.exports = function(grunt) {
|
|||||||
grunt.registerTask('dist', ['clean', 'dist-css', 'dist-js']);
|
grunt.registerTask('dist', ['clean', 'dist-css', 'dist-js']);
|
||||||
|
|
||||||
// Default task.
|
// Default task.
|
||||||
grunt.registerTask('default', ['test', 'dist']);
|
grunt.registerTask('default', ['test', 'dist', 'build-customizer']);
|
||||||
|
|
||||||
|
// task for building customizer
|
||||||
|
grunt.registerTask('build-customizer', 'Add scripts/less files to customizer.', function () {
|
||||||
|
var fs = require('fs')
|
||||||
|
|
||||||
|
function getFiles(type) {
|
||||||
|
var files = {}
|
||||||
|
fs.readdirSync(type)
|
||||||
|
.filter(function (path) {
|
||||||
|
return new RegExp('\\.' + type + '$').test(path)
|
||||||
|
})
|
||||||
|
.forEach(function (path) {
|
||||||
|
return files[path] = fs.readFileSync(type + '/' + path, 'utf8')
|
||||||
|
})
|
||||||
|
return 'var __' + type + ' = ' + JSON.stringify(files) + '\n'
|
||||||
|
}
|
||||||
|
|
||||||
|
var customize = fs.readFileSync('customize.html', 'utf-8')
|
||||||
|
var files = '<!-- generated -->\n<script id="files">\n' + getFiles('js') + getFiles('less') + '<\/script>\n<!-- /generated -->'
|
||||||
|
fs.writeFileSync('customize.html', customize.replace(/<!-- generated -->(.|[\n\r])*<!-- \/generated -->/, files))
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -22,6 +22,8 @@ Read the [Getting Started page](http://getbootstrap.com/getting-started/) for in
|
|||||||
|
|
||||||
Have a bug or a feature request? [Please open a new issue](https://github.com/twbs/bootstrap/issues). Before opening any issue, please search for existing issues and read the [Issue Guidelines](https://github.com/necolas/issue-guidelines), written by [Nicolas Gallagher](https://github.com/necolas/).
|
Have a bug or a feature request? [Please open a new issue](https://github.com/twbs/bootstrap/issues). Before opening any issue, please search for existing issues and read the [Issue Guidelines](https://github.com/necolas/issue-guidelines), written by [Nicolas Gallagher](https://github.com/necolas/).
|
||||||
|
|
||||||
|
You may use [this JS Bin](http://jsbin.com/aFacAf/1/edit) as a template for your bug reports.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Documentation
|
## Documentation
|
||||||
|
|||||||
@@ -13,10 +13,7 @@ port: 9001
|
|||||||
# Custom vars
|
# Custom vars
|
||||||
repo: https://github.com/twbs/bootstrap
|
repo: https://github.com/twbs/bootstrap
|
||||||
download: https://github.com/twbs/bootstrap/archive/3.0.0-wip.zip
|
download: https://github.com/twbs/bootstrap/archive/3.0.0-wip.zip
|
||||||
download_dist: http://getbootstrap.com/bs-v3.0.0-rc1-dist.zip
|
download_dist: http://getbootstrap.com/bs-v3.0.0-rc.2-dist.zip
|
||||||
|
|
||||||
examples: http://examples.getbootstrap.com
|
|
||||||
examples_repo: https://github.com/twbs/bootstrap-examples
|
|
||||||
|
|
||||||
glyphicons: http://glyphicons.getbootstrap.com
|
glyphicons: http://glyphicons.getbootstrap.com
|
||||||
glyphicons_repo: https://github.com/twbs/bootstrap-glyphicons
|
glyphicons_repo: https://github.com/twbs/bootstrap-glyphicons
|
||||||
@@ -24,5 +21,5 @@ glyphicons_repo: https://github.com/twbs/bootstrap-glyphicons
|
|||||||
blog: http://blog.getbootstrap.com
|
blog: http://blog.getbootstrap.com
|
||||||
expo: http://expo.getbootstrap.com
|
expo: http://expo.getbootstrap.com
|
||||||
|
|
||||||
cdn_css: //netdna.bootstrapcdn.com/bootstrap/3.0.0-rc1/css/bootstrap.min.css
|
cdn_css: //netdna.bootstrapcdn.com/bootstrap/3.0.0-wip/css/bootstrap.min.css
|
||||||
cdn_js: //netdna.bootstrapcdn.com/bootstrap/3.0.0-rc1/js/bootstrap.min.js
|
cdn_js: //netdna.bootstrapcdn.com/bootstrap/3.0.0-wip/js/bootstrap.min.js
|
||||||
|
|||||||
@@ -9,6 +9,14 @@
|
|||||||
|
|
||||||
<script src="{{ page.base_url }}assets/js/application.js"></script>
|
<script src="{{ page.base_url }}assets/js/application.js"></script>
|
||||||
|
|
||||||
|
{% if page.slug == "customize" %}
|
||||||
|
<script src="{{ page.base_url }}assets/js/less.js"></script>
|
||||||
|
<script src="{{ page.base_url }}assets/js/jszip.js"></script>
|
||||||
|
<script src="{{ page.base_url }}assets/js/uglify.js"></script>
|
||||||
|
<script src="{{ page.base_url }}assets/js/jquery.bbq.min.js"></script>
|
||||||
|
<script src="{{ page.base_url }}assets/js/customizer.js"></script>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
<!-- Analytics
|
<!-- Analytics
|
||||||
================================================== -->
|
================================================== -->
|
||||||
<script>
|
<script>
|
||||||
|
|||||||
@@ -10,26 +10,28 @@
|
|||||||
<li>
|
<li>
|
||||||
<a href="#btn-groups">Button groups</a>
|
<a href="#btn-groups">Button groups</a>
|
||||||
<ul class="nav">
|
<ul class="nav">
|
||||||
<li><a href="#btn-groups-single">Basic button group</a></li>
|
<li><a href="#btn-groups-single">Basic example</a></li>
|
||||||
<li><a href="#btn-groups-toolbar">Button toolbar</a></li>
|
<li><a href="#btn-groups-toolbar">Button toolbar</a></li>
|
||||||
|
<li><a href="#btn-groups-sizing">Sizing</a></li>
|
||||||
|
<li><a href="#btn-groups-nested">Nesting</a></li>
|
||||||
<li><a href="#btn-groups-vertical">Vertical variation</a></li>
|
<li><a href="#btn-groups-vertical">Vertical variation</a></li>
|
||||||
<li><a href="#btn-groups-justified">Justified link buttons</a></li>
|
<li><a href="#btn-groups-justified">Justified link variation</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="#btn-dropdowns">Button dropdowns</a>
|
<a href="#btn-dropdowns">Button dropdowns</a>
|
||||||
<ul class="nav">
|
<ul class="nav">
|
||||||
<li><a href="#btn-dropdowns-single">Single button dropdown</a></li>
|
<li><a href="#btn-dropdowns-single">Single button dropdowns</a></li>
|
||||||
<li><a href="#btn-dropdowns-split">Split button dropdown</a></li>
|
<li><a href="#btn-dropdowns-split">Split button dropdowns</a></li>
|
||||||
<li><a href="#btn-dropdowns-sizes">Button sizes</a></li>
|
<li><a href="#btn-dropdowns-sizing">Sizing</a></li>
|
||||||
<li><a href="#btn-dropdowns-dropup">Dropup variation</a></li>
|
<li><a href="#btn-dropdowns-dropup">Dropup variation</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="#input-groups">Input groups</a>
|
<a href="#input-groups">Input groups</a>
|
||||||
<ul class="nav">
|
<ul class="nav">
|
||||||
<li><a href="#input-groups-basic">Basic input group</a></li>
|
<li><a href="#input-groups-basic">Basic example</a></li>
|
||||||
<li><a href="#input-groups-sizes">Sizing options</a></li>
|
<li><a href="#input-groups-sizing">Sizing</a></li>
|
||||||
<li><a href="#input-groups-checkboxes-radios">Checkbox and radios addons</a></li>
|
<li><a href="#input-groups-checkboxes-radios">Checkbox and radios addons</a></li>
|
||||||
<li><a href="#input-groups-buttons">Button addons</a></li>
|
<li><a href="#input-groups-buttons">Button addons</a></li>
|
||||||
<li><a href="#input-groups-buttons-dropdowns">Buttons with dropdowns</a></li>
|
<li><a href="#input-groups-buttons-dropdowns">Buttons with dropdowns</a></li>
|
||||||
@@ -39,8 +41,8 @@
|
|||||||
<li>
|
<li>
|
||||||
<a href="#nav">Navs</a>
|
<a href="#nav">Navs</a>
|
||||||
<ul class="nav">
|
<ul class="nav">
|
||||||
<li><a href="#nav-tabs">Tabs nav</a></li>
|
<li><a href="#nav-tabs">Tabs</a></li>
|
||||||
<li><a href="#nav-pills">Pills nav</a></li>
|
<li><a href="#nav-pills">Pills</a></li>
|
||||||
<li><a href="#nav-justified">Justified nav</a></li>
|
<li><a href="#nav-justified">Justified nav</a></li>
|
||||||
<li><a href="#nav-disabled-links">Disabled links</a></li>
|
<li><a href="#nav-disabled-links">Disabled links</a></li>
|
||||||
<li><a href="#nav-alignment">Alignment options</a></li>
|
<li><a href="#nav-alignment">Alignment options</a></li>
|
||||||
@@ -50,18 +52,14 @@
|
|||||||
<li>
|
<li>
|
||||||
<a href="#navbar">Navbar</a>
|
<a href="#navbar">Navbar</a>
|
||||||
<ul class="nav">
|
<ul class="nav">
|
||||||
<li><a href="#navbar-basic">Basic navbar</a></li>
|
<li><a href="#navbar-default">Default navbar</a></li>
|
||||||
<li><a href="#navbar-nav">Nav links</a></li>
|
<li><a href="#navbar-buttons">Buttons</a></li>
|
||||||
<li><a href="#navbar-forms">Forms in navbars</a></li>
|
<li><a href="#navbar-text">Text</a></li>
|
||||||
<li><a href="#navbar-buttons">Buttons in navbars</a></li>
|
<li><a href="#navbar-links">Non-nav links</a></li>
|
||||||
<li><a href="#navbar-text">Text in navbars</a></li>
|
|
||||||
<li><a href="#navbar-links">Links in navbars</a></li>
|
|
||||||
<li><a href="#navbar-component-alignment">Component alignment</a></li>
|
<li><a href="#navbar-component-alignment">Component alignment</a></li>
|
||||||
<li><a href="#navbar-fixed-top">Fixed top navbar</a></li>
|
<li><a href="#navbar-fixed-top">Fixed to top</a></li>
|
||||||
<li><a href="#navbar-fixed-bottom">Fixed bottom navbar</a></li>
|
<li><a href="#navbar-fixed-bottom">Fixed to bottom</a></li>
|
||||||
<li><a href="#navbar-static-top">Static top navbar</a></li>
|
<li><a href="#navbar-static-top">Static top</a></li>
|
||||||
<li><a href="#navbar-responsive">Responsive navbar</a></li>
|
|
||||||
<li><a href="#navbar-scrollable">Scrollable responsive navbar</a></li>
|
|
||||||
<li><a href="#navbar-inverted">Inverted navbar</a></li>
|
<li><a href="#navbar-inverted">Inverted navbar</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
@@ -75,17 +73,12 @@
|
|||||||
</li>
|
</li>
|
||||||
<li><a href="#labels">Labels</a></li>
|
<li><a href="#labels">Labels</a></li>
|
||||||
<li><a href="#badges">Badges</a></li>
|
<li><a href="#badges">Badges</a></li>
|
||||||
<li>
|
<li><a href="#jumbotron">Jumbotron</a></li>
|
||||||
<a href="#type-components">Typography</a>
|
<li><a href="#page-header">Page header</a></li>
|
||||||
<ul class="nav">
|
|
||||||
<li><a href="#type-components-jumbotron">Jumbotron</a></li>
|
|
||||||
<li><a href="#type-components-page-header">Page header</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li>
|
<li>
|
||||||
<a href="#thumbnails">Thumbnails</a>
|
<a href="#thumbnails">Thumbnails</a>
|
||||||
<ul class="nav">
|
<ul class="nav">
|
||||||
<li><a href="#thumbnails-default">Default thumbnails</a></li>
|
<li><a href="#thumbnails-default">Default example</a></li>
|
||||||
<li><a href="#thumbnails-custom-content">Custom content</a></li>
|
<li><a href="#thumbnails-custom-content">Custom content</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
@@ -94,13 +87,14 @@
|
|||||||
<ul class="nav">
|
<ul class="nav">
|
||||||
<li><a href="#alerts-default">Default alert</a></li>
|
<li><a href="#alerts-default">Default alert</a></li>
|
||||||
<li><a href="#alerts-alternatives">Contextual alternatives</a></li>
|
<li><a href="#alerts-alternatives">Contextual alternatives</a></li>
|
||||||
|
<li><a href="#alerts-dismissable">Dismissable alerts</a></li>
|
||||||
<li><a href="#alerts-links">Links in alerts</a></li>
|
<li><a href="#alerts-links">Links in alerts</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="#progress">Progress bars</a>
|
<a href="#progress">Progress bars</a>
|
||||||
<ul class="nav">
|
<ul class="nav">
|
||||||
<li><a href="#progress-basic">Basic progress bar</a></li>
|
<li><a href="#progress-basic">Basic example</a></li>
|
||||||
<li><a href="#progress-alternatives">Contextual alternatives</a></li>
|
<li><a href="#progress-alternatives">Contextual alternatives</a></li>
|
||||||
<li><a href="#progress-striped">Striped</a></li>
|
<li><a href="#progress-striped">Striped</a></li>
|
||||||
<li><a href="#progress-animated">Animated</a></li>
|
<li><a href="#progress-animated">Animated</a></li>
|
||||||
@@ -117,17 +111,16 @@
|
|||||||
<li>
|
<li>
|
||||||
<a href="#list-group">List group</a>
|
<a href="#list-group">List group</a>
|
||||||
<ul class="nav">
|
<ul class="nav">
|
||||||
<li><a href="#list-group-basic">Basic list group</a></li>
|
<li><a href="#list-group-basic">Basic example</a></li>
|
||||||
<li><a href="#list-group-badges">Badges</a></li>
|
<li><a href="#list-group-badges">Badges</a></li>
|
||||||
<li><a href="#list-group-linked">Linked items</a></li>
|
<li><a href="#list-group-linked">Linked items</a></li>
|
||||||
<li><a href="#list-group-custom-content">Custom content</a></li>
|
<li><a href="#list-group-custom-content">Custom content</a></li>
|
||||||
<!-- <li><a href="#list-group-pic">Leading picture</a></li> -->
|
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="#panels">Panels</a>
|
<a href="#panels">Panels</a>
|
||||||
<ul class="nav">
|
<ul class="nav">
|
||||||
<li><a href="#panels-basic">Basic panel</a></li>
|
<li><a href="#panels-basic">Basic example</a></li>
|
||||||
<li><a href="#panels-heading">Panel with heading</a></li>
|
<li><a href="#panels-heading">Panel with heading</a></li>
|
||||||
<li><a href="#panels-alternatives">Contextual alternatives</a></li>
|
<li><a href="#panels-alternatives">Contextual alternatives</a></li>
|
||||||
<li><a href="#panels-list-group">With list groups</a>
|
<li><a href="#panels-list-group">With list groups</a>
|
||||||
|
|||||||
@@ -4,9 +4,9 @@
|
|||||||
<li><a href="#overview-doctype">HTML5 doctype</a></li>
|
<li><a href="#overview-doctype">HTML5 doctype</a></li>
|
||||||
<li><a href="#overview-mobile">Mobile first</a></li>
|
<li><a href="#overview-mobile">Mobile first</a></li>
|
||||||
<li><a href="#overview-responsive-images">Responsive images</a></li>
|
<li><a href="#overview-responsive-images">Responsive images</a></li>
|
||||||
<li><a href="#overview-type-links">Type and links</a></li>
|
<li><a href="#overview-type-links">Typography and links</a></li>
|
||||||
<li><a href="#overview-normalize">Normalize</a></li>
|
<li><a href="#overview-normalize">Normalize</a></li>
|
||||||
<li><a href="#overview-container">Container</a></li>
|
<li><a href="#overview-container">Containers</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
@@ -15,12 +15,14 @@
|
|||||||
<li>
|
<li>
|
||||||
<a href="#grid">Grid system</a>
|
<a href="#grid">Grid system</a>
|
||||||
<ul class="nav">
|
<ul class="nav">
|
||||||
<li><a href="#grid-options">Available options</a></li>
|
<li><a href="#grid-media-queries">Media queries</a></li>
|
||||||
|
<li><a href="#grid-options">Grid options</a></li>
|
||||||
<li><a href="#grid-example-basic">Ex: Stacked-to-horizonal</a></li>
|
<li><a href="#grid-example-basic">Ex: Stacked-to-horizonal</a></li>
|
||||||
<li><a href="#grid-example-mixed">Ex: Mobile-desktop</a></li>
|
<li><a href="#grid-example-mixed">Ex: Mobile and desktops</a></li>
|
||||||
<li><a href="#grid-example-mixed-complete">Ex: Mobile, tablet, desktop</a></li>
|
<li><a href="#grid-example-mixed-complete">Ex: Mobile, tablet, desktops</a></li>
|
||||||
<li><a href="#grid-offsetting">Offset columns</a></li>
|
<li><a href="#grid-responsive-resets">Responsive column resets</a></li>
|
||||||
<li><a href="#grid-nesting">Nested columns</a></li>
|
<li><a href="#grid-offsetting">Offsetting columns</a></li>
|
||||||
|
<li><a href="#grid-nesting">Nesting columns</a></li>
|
||||||
<li><a href="#grid-column-ordering">Column ordering</a></li>
|
<li><a href="#grid-column-ordering">Column ordering</a></li>
|
||||||
<li><a href="#grid-less">LESS mixins and variables</a></li>
|
<li><a href="#grid-less">LESS mixins and variables</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
@@ -42,21 +44,21 @@
|
|||||||
<a href="#tables">Tables</a>
|
<a href="#tables">Tables</a>
|
||||||
<ul class="nav">
|
<ul class="nav">
|
||||||
<li><a href="#tables-example">Basic example</a></li>
|
<li><a href="#tables-example">Basic example</a></li>
|
||||||
<li><a href="#tables-striped">Zebra striping</a></li>
|
<li><a href="#tables-striped">Striped rows</a></li>
|
||||||
<li><a href="#tables-bordered">Bordered tables</a></li>
|
<li><a href="#tables-bordered">Bordered table</a></li>
|
||||||
<li><a href="#tables-hover-rows">Hover rows</a></li>
|
<li><a href="#tables-hover-rows">Hover rows</a></li>
|
||||||
<li><a href="#tables-condensed">Condensed tables</a></li>
|
<li><a href="#tables-condensed">Condensed table</a></li>
|
||||||
<li><a href="#tables-row-classes">Contextual row classes</a></li>
|
<li><a href="#tables-contextual-classes">Contextual classes</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="#forms">Forms</a>
|
<a href="#forms">Forms</a>
|
||||||
<ul class="nav">
|
<ul class="nav">
|
||||||
<li><a href="#forms-example">Basic example</a></li>
|
<li><a href="#forms-example">Basic example</a></li>
|
||||||
<li><a href="#forms-inline">Inline variation</a></li>
|
<li><a href="#forms-inline">Inline form</a></li>
|
||||||
<li><a href="#forms-horizontal">Horizontal variation</a></li>
|
<li><a href="#forms-horizontal">Horizontal form</a></li>
|
||||||
<li><a href="#forms-controls">Supported controls</a></li>
|
<li><a href="#forms-controls">Supported controls</a></li>
|
||||||
<li><a href="#forms-controls-static">Static form control</a></li>
|
<li><a href="#forms-controls-static">Static control</a></li>
|
||||||
<li><a href="#forms-control-states">Control states</a></li>
|
<li><a href="#forms-control-states">Control states</a></li>
|
||||||
<li><a href="#forms-control-sizes">Control sizing</a></li>
|
<li><a href="#forms-control-sizes">Control sizing</a></li>
|
||||||
<li><a href="#forms-help-text">Help text</a></li>
|
<li><a href="#forms-help-text">Help text</a></li>
|
||||||
@@ -65,9 +67,9 @@
|
|||||||
<li>
|
<li>
|
||||||
<a href="#buttons">Buttons</a>
|
<a href="#buttons">Buttons</a>
|
||||||
<ul class="nav">
|
<ul class="nav">
|
||||||
<li><a href="#buttons-options">Button options</a></li>
|
<li><a href="#buttons-options">Options</a></li>
|
||||||
<li><a href="#buttons-sizes">Sizes</a></li>
|
<li><a href="#buttons-sizes">Sizes</a></li>
|
||||||
<li><a href="#buttons-disabled">Disabled</a></li>
|
<li><a href="#buttons-disabled">Disabled state</a></li>
|
||||||
<li><a href="#buttons-tags">Button tags</a></li>
|
<li><a href="#buttons-tags">Button tags</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
<li>
|
<li>
|
||||||
<a href="#download">Download Bootstrap</a>
|
<a href="#download">Download Bootstrap</a>
|
||||||
<ul class="nav">
|
<ul class="nav">
|
||||||
<li><a href="#download-options">Download options</a></li>
|
<li><a href="#download-source">Download source</a></li>
|
||||||
|
<li><a href="#download-additional">Additional downloads</a></li>
|
||||||
<li><a href="#download-cdn">Bootstrap CDN</a></li>
|
<li><a href="#download-cdn">Bootstrap CDN</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
@@ -11,12 +12,21 @@
|
|||||||
<li>
|
<li>
|
||||||
<a href="#template">Basic template</a>
|
<a href="#template">Basic template</a>
|
||||||
</li>
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="#examples">Examples</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="#disable-responsive">Disabling responsiveness</a>
|
||||||
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="#browsers">Browser support</a>
|
<a href="#browsers">Browser support</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="#third-parties">Third party support</a>
|
<a href="#third-parties">Third party support</a>
|
||||||
</li>
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="#accessibility">Accessibility</a>
|
||||||
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="#license-faqs">License FAQs</a>
|
<a href="#license-faqs">License FAQs</a>
|
||||||
</li>
|
</li>
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
<li><a href="#js-individual-compiled">Individual or compiled</a></li>
|
<li><a href="#js-individual-compiled">Individual or compiled</a></li>
|
||||||
<li><a href="#js-data-attrs">Data attributes</a></li>
|
<li><a href="#js-data-attrs">Data attributes</a></li>
|
||||||
<li><a href="#js-programmatic-api">Programmatic API</a></li>
|
<li><a href="#js-programmatic-api">Programmatic API</a></li>
|
||||||
<li><a href="#js-noconflict">No Conflict</a></li>
|
<li><a href="#js-noconflict">No conflict</a></li>
|
||||||
<li><a href="#js-events">Events</a></li>
|
<li><a href="#js-events">Events</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
|
|||||||
@@ -1,12 +1,15 @@
|
|||||||
<div class="navbar navbar-inverse navbar-fixed-top bs-docs-nav">
|
<header class="navbar navbar-inverse navbar-fixed-top bs-docs-nav" role="banner">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<button class="navbar-toggle" type="button" data-toggle="collapse" data-target=".bs-navbar-collapse">
|
<div class="navbar-header">
|
||||||
<span class="icon-bar"></span>
|
<button class="navbar-toggle" type="button" data-toggle="collapse" data-target=".bs-navbar-collapse">
|
||||||
<span class="icon-bar"></span>
|
<span class="sr-only">Toggle navigation</span>
|
||||||
<span class="icon-bar"></span>
|
<span class="icon-bar"></span>
|
||||||
</button>
|
<span class="icon-bar"></span>
|
||||||
<a href="{{ page.base_url }}" class="navbar-brand">Bootstrap 3 RC1</a>
|
<span class="icon-bar"></span>
|
||||||
<div class="nav-collapse collapse bs-navbar-collapse">
|
</button>
|
||||||
|
<a href="{{ page.base_url }}" class="navbar-brand">Bootstrap 3 RC2</a>
|
||||||
|
</div>
|
||||||
|
<nav class="collapse navbar-collapse bs-navbar-collapse" role="navigation">
|
||||||
<ul class="nav navbar-nav">
|
<ul class="nav navbar-nav">
|
||||||
<li{% if page.slug == "getting-started" %} class="active"{% endif %}>
|
<li{% if page.slug == "getting-started" %} class="active"{% endif %}>
|
||||||
<a href="{{ page.base_url }}getting-started">Getting started</a>
|
<a href="{{ page.base_url }}getting-started">Getting started</a>
|
||||||
@@ -24,6 +27,6 @@
|
|||||||
<a href="{{ page.base_url }}customize">Customize</a>
|
<a href="{{ page.base_url }}customize">Customize</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</nav>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</header>
|
||||||
|
|||||||
@@ -1,16 +1,16 @@
|
|||||||
<div class="bs-social">
|
<div class="bs-social">
|
||||||
<ul class="bs-social-buttons">
|
<ul class="bs-social-buttons">
|
||||||
<li>
|
<li>
|
||||||
<iframe class="github-btn" src="http://ghbtns.com/github-btn.html?user=twbs&repo=bootstrap&type=watch&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="100px" height="20px"></iframe>
|
<iframe class="github-btn" src="http://ghbtns.com/github-btn.html?user=twbs&repo=bootstrap&type=watch&count=true" width="100" height="20" title="Star on GitHub"></iframe>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<iframe class="github-btn" src="http://ghbtns.com/github-btn.html?user=twbs&repo=bootstrap&type=fork&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="102px" height="20px"></iframe>
|
<iframe class="github-btn" src="http://ghbtns.com/github-btn.html?user=twbs&repo=bootstrap&type=fork&count=true" width="102" height="20" title="Fork on GitHub"></iframe>
|
||||||
</li>
|
</li>
|
||||||
<li class="follow-btn">
|
<li class="follow-btn">
|
||||||
<a href="https://twitter.com/twbootstrap" class="twitter-follow-button" data-link-color="#0069D6" data-show-count="true">Follow @twbootstrap</a>
|
<a href="https://twitter.com/twbootstrap" class="twitter-follow-button" data-link-color="#0069D6" data-show-count="true">Follow @twbootstrap</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="tweet-btn">
|
<li class="tweet-btn">
|
||||||
<a href="https://twitter.com/share" class="twitter-share-button" data-url="http://twbs.github.com/bootstrap/" data-count="horizontal" data-via="twbootstrap" data-related="mdo:Creator of Twitter Bootstrap">Tweet</a>
|
<a href="https://twitter.com/share" class="twitter-share-button" data-url="http://getbootstrap.com/" data-count="horizontal" data-via="twbootstrap" data-related="mdo:Creator of Twitter Bootstrap">Tweet</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,51 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<!-- Meta, title, CSS, favicons, etc. -->
|
|
||||||
{% include header.html %}
|
|
||||||
<!-- Place anything custom after this. -->
|
|
||||||
</head>
|
|
||||||
<body data-spy="scroll" data-target=".bs-sidebar">
|
|
||||||
|
|
||||||
<!-- Docs master nav -->
|
|
||||||
{% include nav-main.html %}
|
|
||||||
|
|
||||||
<!-- Docs page layout -->
|
|
||||||
<div class="bs-header">
|
|
||||||
<div class="container">
|
|
||||||
<h1>{{ page.title }}</h1>
|
|
||||||
<p>{{ page.lead }}</p>
|
|
||||||
{% include ads.html %}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- Callout for the old docs link -->
|
|
||||||
{% include old-bs-docs.html %}
|
|
||||||
|
|
||||||
<div class="bs-customize-placeholder">
|
|
||||||
<div class="container bs-docs-container">
|
|
||||||
<p class="lead">Until RC2, the Bootstrap 3 customizer will be disabled. In the mean time, snag the <a href="{{ site.repo }}/releases">compiled CSS and JavaScript</a>. Hang tight!</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- Footer
|
|
||||||
================================================== -->
|
|
||||||
<footer class="bs-footer">
|
|
||||||
{% include social-buttons.html %}
|
|
||||||
|
|
||||||
<p>Designed and built with all the love in the world by <a href="http://twitter.com/mdo" target="_blank">@mdo</a> and <a href="http://twitter.com/fat" target="_blank">@fat</a>.</p>
|
|
||||||
<p>Code licensed under <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License v2.0</a>, documentation under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.</p>
|
|
||||||
<ul class="footer-links">
|
|
||||||
<li><a href="{{ site.blog }}">Blog</a></li>
|
|
||||||
<li class="muted">·</li>
|
|
||||||
<li><a href="{{ site.repo }}/issues?state=open">Issues</a></li>
|
|
||||||
<li class="muted">·</li>
|
|
||||||
<li><a href="{{ site.repo }}/releases">Releases</a></li>
|
|
||||||
</ul>
|
|
||||||
</footer>
|
|
||||||
|
|
||||||
<!-- JS and analytics only. -->
|
|
||||||
{% include footer.html %}
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -6,12 +6,13 @@
|
|||||||
<!-- Place anything custom after this. -->
|
<!-- Place anything custom after this. -->
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
<a class="sr-only" href="#content">Skip navigation</a>
|
||||||
|
|
||||||
<!-- Docs master nav -->
|
<!-- Docs master nav -->
|
||||||
{% include nav-main.html %}
|
{% include nav-main.html %}
|
||||||
|
|
||||||
<!-- Docs page layout -->
|
<!-- Docs page layout -->
|
||||||
<div class="bs-header">
|
<div class="bs-header" id="content">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<h1>{{ page.title }}</h1>
|
<h1>{{ page.title }}</h1>
|
||||||
<p>{{ page.lead }}</p>
|
<p>{{ page.lead }}</p>
|
||||||
@@ -24,8 +25,8 @@
|
|||||||
|
|
||||||
<div class="container bs-docs-container">
|
<div class="container bs-docs-container">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-lg-3">
|
<div class="col-md-3">
|
||||||
<div class="bs-sidebar">
|
<div class="bs-sidebar hidden-print" role="complementary">
|
||||||
<ul class="nav bs-sidenav">
|
<ul class="nav bs-sidenav">
|
||||||
{% if page.slug == "getting-started" %}
|
{% if page.slug == "getting-started" %}
|
||||||
{% include nav-getting-started.html %}
|
{% include nav-getting-started.html %}
|
||||||
@@ -41,7 +42,7 @@
|
|||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-lg-9">
|
<div class="col-md-9" role="main">
|
||||||
{{ content }}
|
{{ content }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -50,7 +51,7 @@
|
|||||||
|
|
||||||
<!-- Footer
|
<!-- Footer
|
||||||
================================================== -->
|
================================================== -->
|
||||||
<footer class="bs-footer">
|
<footer class="bs-footer" role="contentinfo">
|
||||||
{% include social-buttons.html %}
|
{% include social-buttons.html %}
|
||||||
|
|
||||||
<p>Designed and built with all the love in the world by <a href="http://twitter.com/mdo" target="_blank">@mdo</a> and <a href="http://twitter.com/fat" target="_blank">@fat</a>.</p>
|
<p>Designed and built with all the love in the world by <a href="http://twitter.com/mdo" target="_blank">@mdo</a> and <a href="http://twitter.com/fat" target="_blank">@fat</a>.</p>
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
<!-- Place anything custom after this. -->
|
<!-- Place anything custom after this. -->
|
||||||
</head>
|
</head>
|
||||||
<body class="bs-docs-home">
|
<body class="bs-docs-home">
|
||||||
|
<a class="sr-only" href="#content">Skip navigation</a>
|
||||||
|
|
||||||
<!-- Docs master nav -->
|
<!-- Docs master nav -->
|
||||||
{% include nav-main.html %}
|
{% include nav-main.html %}
|
||||||
@@ -16,7 +17,7 @@
|
|||||||
<!-- Callout for the old docs link -->
|
<!-- Callout for the old docs link -->
|
||||||
{% include old-bs-docs.html %}
|
{% include old-bs-docs.html %}
|
||||||
|
|
||||||
<div class="container">
|
<footer class="container" role="contentinfo">
|
||||||
{% include social-buttons.html %}
|
{% include social-buttons.html %}
|
||||||
|
|
||||||
<ul class="bs-masthead-links">
|
<ul class="bs-masthead-links">
|
||||||
@@ -24,16 +25,16 @@
|
|||||||
<a href="{{ site.repo }}" onclick="_gaq.push(['_trackEvent', 'Jumbotron actions', 'Jumbotron links', 'GitHub project']);">GitHub project</a>
|
<a href="{{ site.repo }}" onclick="_gaq.push(['_trackEvent', 'Jumbotron actions', 'Jumbotron links', 'GitHub project']);">GitHub project</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="{{ site.examples }}" onclick="_gaq.push(['_trackEvent', 'Jumbotron actions', 'Jumbotron links', 'Examples']);">Examples</a>
|
<a href="{{ page.base_url }}getting-started#examples" onclick="_gaq.push(['_trackEvent', 'Jumbotron actions', 'Jumbotron links', 'Examples']);">Examples</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="{{ site.glyphicons }}" onclick="_gaq.push(['_trackEvent', 'Jumbotron actions', 'Jumbotron links', 'Glyphicons']);">Glyphicons</a>
|
<a href="{{ site.glyphicons }}" onclick="_gaq.push(['_trackEvent', 'Jumbotron actions', 'Jumbotron links', 'Glyphicons']);">Glyphicons</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="{{ site.expo }}" onclick="_gaq.push(['_trackEvent', 'Jumbotron actions', 'Jumbotron links', 'Expo']);">Bootstrap Expo</a>
|
<a href="{{ site.expo }}" onclick="_gaq.push(['_trackEvent', 'Jumbotron actions', 'Jumbotron links', 'Expo']);">Expo</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</footer>
|
||||||
|
|
||||||
<!-- JS and analytics only. -->
|
<!-- JS and analytics only. -->
|
||||||
{% include footer.html %}
|
{% include footer.html %}
|
||||||
|
|||||||
@@ -55,6 +55,10 @@ body {
|
|||||||
|
|
||||||
.bs-docs-nav {
|
.bs-docs-nav {
|
||||||
background-color: #563d7c;
|
background-color: #563d7c;
|
||||||
|
border-color: #463265;
|
||||||
|
}
|
||||||
|
.bs-docs-nav .navbar-collapse {
|
||||||
|
border-color: #463265;
|
||||||
}
|
}
|
||||||
.bs-docs-nav .navbar-brand {
|
.bs-docs-nav .navbar-brand {
|
||||||
color: #fff;
|
color: #fff;
|
||||||
@@ -137,7 +141,7 @@ body {
|
|||||||
.bs-masthead-links {
|
.bs-masthead-links {
|
||||||
margin-top: 20px;
|
margin-top: 20px;
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
padding-left: 0;
|
padding: 0 15px;
|
||||||
list-style: none;
|
list-style: none;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
@@ -174,6 +178,7 @@ body {
|
|||||||
margin-top: 15px;
|
margin-top: 15px;
|
||||||
}
|
}
|
||||||
.bs-customizer input[type="text"] {
|
.bs-customizer input[type="text"] {
|
||||||
|
font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
|
||||||
background-color: #fafafa;
|
background-color: #fafafa;
|
||||||
}
|
}
|
||||||
.bs-customizer .help-block {
|
.bs-customizer .help-block {
|
||||||
@@ -184,6 +189,31 @@ body {
|
|||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#less-section label {
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Alerts */
|
||||||
|
.bs-customizer-alert {
|
||||||
|
position: fixed;
|
||||||
|
top: 51px;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
z-index: 1030;
|
||||||
|
padding: 15px 0;
|
||||||
|
color: #fff;
|
||||||
|
background-color: #d9534f;
|
||||||
|
box-shadow: inset 0 1px 0 rgba(255,255,255,.25);
|
||||||
|
border-bottom: 1px solid #b94441;
|
||||||
|
}
|
||||||
|
.bs-customizer-alert .close {
|
||||||
|
margin-top: -2px;
|
||||||
|
color: #fff;
|
||||||
|
text-shadow: none;
|
||||||
|
}
|
||||||
|
.bs-customizer-alert p {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* Docs pages and sections
|
/* Docs pages and sections
|
||||||
@@ -208,7 +238,7 @@ body {
|
|||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
|
|
||||||
.bs-docs-section h1[id] {
|
.bs-docs-section + .bs-docs-section {
|
||||||
padding-top: 80px;
|
padding-top: 80px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -339,6 +369,17 @@ body {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Examples grid
|
||||||
|
-------------------------------------------------- */
|
||||||
|
|
||||||
|
.bs-examples h4 {
|
||||||
|
margin-bottom: 5px;
|
||||||
|
}
|
||||||
|
.bs-examples p {
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* Special grid styles
|
/* Special grid styles
|
||||||
-------------------------------------------------- */
|
-------------------------------------------------- */
|
||||||
@@ -364,7 +405,7 @@ body {
|
|||||||
.bs-example {
|
.bs-example {
|
||||||
position: relative;
|
position: relative;
|
||||||
padding: 45px 15px 15px;
|
padding: 45px 15px 15px;
|
||||||
margin: 0 -15px -1px;
|
margin: 0 -15px 15px;
|
||||||
background-color: #fafafa;
|
background-color: #fafafa;
|
||||||
box-shadow: inset 0 3px 6px rgba(0,0,0,.05);
|
box-shadow: inset 0 3px 6px rgba(0,0,0,.05);
|
||||||
border-color: #e5e5e5 #eee #eee;
|
border-color: #e5e5e5 #eee #eee;
|
||||||
@@ -385,11 +426,10 @@ body {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Tweak display of the examples */
|
/* Tweak display of the examples */
|
||||||
.bs-example + .prettyprint,
|
|
||||||
.bs-example + .highlight {
|
.bs-example + .highlight {
|
||||||
margin-top: 0;
|
margin: -15px -15px 15px;
|
||||||
border-top-left-radius: 0;
|
border-radius: 0;
|
||||||
border-top-right-radius: 0;
|
border-width: 0 0 1px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Tweak content of examples for optimum awesome */
|
/* Tweak content of examples for optimum awesome */
|
||||||
@@ -397,16 +437,15 @@ body {
|
|||||||
.bs-example > ul:last-child,
|
.bs-example > ul:last-child,
|
||||||
.bs-example > ol:last-child,
|
.bs-example > ol:last-child,
|
||||||
.bs-example > blockquote:last-child,
|
.bs-example > blockquote:last-child,
|
||||||
.bs-example > input:last-child,
|
.bs-example > .form-control:last-child,
|
||||||
.bs-example > select:last-child,
|
|
||||||
.bs-example > textarea:last-child,
|
|
||||||
.bs-example > .table:last-child,
|
.bs-example > .table:last-child,
|
||||||
.bs-example > .navbar:last-child
|
.bs-example > .navbar:last-child,
|
||||||
.bs-example > .jumbotron:last-child,
|
.bs-example > .jumbotron:last-child,
|
||||||
.bs-example > .alert:last-child,
|
.bs-example > .alert:last-child,
|
||||||
.bs-example > .panel:last-child,
|
.bs-example > .panel:last-child,
|
||||||
.bs-example > .list-group:last-child,
|
.bs-example > .list-group:last-child,
|
||||||
.bs-example > .well:last-child {
|
.bs-example > .well:last-child,
|
||||||
|
.bs-example > .progress:last-child {
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
}
|
}
|
||||||
.bs-example > p > .close {
|
.bs-example > p > .close {
|
||||||
@@ -414,17 +453,15 @@ body {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Typography */
|
/* Typography */
|
||||||
.bs-example-type .table td {
|
.bs-example-type .table td:last-child {
|
||||||
color: #999;
|
color: #999;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
}
|
}
|
||||||
.bs-example-type .table td,
|
.bs-example-type .table td {
|
||||||
.bs-example-type .table th {
|
|
||||||
padding: 15px 0;
|
padding: 15px 0;
|
||||||
border-color: #eee;
|
border-color: #eee;
|
||||||
}
|
}
|
||||||
.bs-example-type .table tr:first-child td,
|
.bs-example-type .table tr:first-child td {
|
||||||
.bs-example-type .table tr:first-child th {
|
|
||||||
border-top: 0;
|
border-top: 0;
|
||||||
}
|
}
|
||||||
.bs-example-type h1,
|
.bs-example-type h1,
|
||||||
@@ -436,12 +473,24 @@ body {
|
|||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Forms */
|
/* Images */
|
||||||
.bs-example.form-inline select,
|
.bs-example > .img-circle,
|
||||||
.bs-example.form-inline input[type="text"],
|
.bs-example > .img-rounded,
|
||||||
.bs-example.form-inline input[type="password"] {
|
.bs-example > .img-thumbnail {
|
||||||
width: 180px;
|
margin: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Buttons */
|
||||||
|
.bs-example > .btn,
|
||||||
|
.bs-example > .btn-group {
|
||||||
|
margin-top: 5px;
|
||||||
|
margin-bottom: 5px;
|
||||||
|
}
|
||||||
|
.bs-example > .btn-toolbar + .btn-toolbar {
|
||||||
|
margin-top: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Forms */
|
||||||
.bs-example-control-sizing select,
|
.bs-example-control-sizing select,
|
||||||
.bs-example-control-sizing input[type="text"] + input[type="text"] {
|
.bs-example-control-sizing input[type="text"] + input[type="text"] {
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
@@ -449,6 +498,9 @@ body {
|
|||||||
.bs-example-form .input-group {
|
.bs-example-form .input-group {
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
}
|
}
|
||||||
|
.bs-example > textarea.form-control {
|
||||||
|
resize: vertical;
|
||||||
|
}
|
||||||
|
|
||||||
/* List groups */
|
/* List groups */
|
||||||
.bs-example > .list-group {
|
.bs-example > .list-group {
|
||||||
@@ -463,7 +515,6 @@ body {
|
|||||||
.bs-navbar-bottom-example {
|
.bs-navbar-bottom-example {
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
min-height: 110px;
|
|
||||||
overflow: hidden; /* cut the drop shadows off */
|
overflow: hidden; /* cut the drop shadows off */
|
||||||
}
|
}
|
||||||
.bs-navbar-top-example .navbar-fixed-top,
|
.bs-navbar-top-example .navbar-fixed-top,
|
||||||
@@ -472,33 +523,41 @@ body {
|
|||||||
margin-left: 0;
|
margin-left: 0;
|
||||||
margin-right: 0;
|
margin-right: 0;
|
||||||
}
|
}
|
||||||
.bs-navbar-top-example .navbar-fixed-top {
|
|
||||||
top: -1px;
|
|
||||||
}
|
|
||||||
.bs-navbar-bottom-example .navbar-fixed-bottom {
|
|
||||||
bottom: -1px;
|
|
||||||
}
|
|
||||||
.bs-navbar-top-example {
|
.bs-navbar-top-example {
|
||||||
-webkit-border-radius: 0 0 4px 4px;
|
padding-bottom: 45px;
|
||||||
-moz-border-radius: 0 0 4px 4px;
|
|
||||||
border-radius: 0 0 4px 4px;
|
|
||||||
}
|
}
|
||||||
.bs-navbar-top-example:after {
|
.bs-navbar-top-example:after {
|
||||||
top: auto;
|
top: auto;
|
||||||
bottom: 15px;
|
bottom: 15px;
|
||||||
-webkit-border-radius: 0 4px 0 4px;
|
}
|
||||||
-moz-border-radius: 0 4px 0 4px;
|
.bs-navbar-top-example .navbar-fixed-top {
|
||||||
border-radius: 0 4px 0 4px;
|
top: -1px;
|
||||||
}
|
}
|
||||||
.bs-navbar-bottom-example {
|
.bs-navbar-bottom-example {
|
||||||
-webkit-border-radius: 4px 4px 0 0;
|
padding-top: 45px;
|
||||||
-moz-border-radius: 4px 4px 0 0;
|
}
|
||||||
border-radius: 4px 4px 0 0;
|
.bs-navbar-bottom-example .navbar-fixed-bottom {
|
||||||
|
bottom: -1px;
|
||||||
}
|
}
|
||||||
.bs-navbar-bottom-example .navbar {
|
.bs-navbar-bottom-example .navbar {
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@media (min-width: 768px) {
|
||||||
|
.bs-navbar-top-example {
|
||||||
|
border-radius: 0 0 4px 4px;
|
||||||
|
}
|
||||||
|
.bs-navbar-bottom-example {
|
||||||
|
border-radius: 4px 4px 0 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Pagination */
|
||||||
|
.bs-example .pagination {
|
||||||
|
margin-top: 10px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
/* Example modals */
|
/* Example modals */
|
||||||
.bs-example-modal {
|
.bs-example-modal {
|
||||||
background-color: #f5f5f5;
|
background-color: #f5f5f5;
|
||||||
@@ -519,19 +578,11 @@ body {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Example dropdowns */
|
/* Example dropdowns */
|
||||||
.bs-example > .dropdown > .dropdown-menu,
|
.bs-example > .dropdown > .dropdown-menu {
|
||||||
.bs-example-submenu > .pull-left > .dropup > .dropdown-menu,
|
|
||||||
.bs-example-submenu > .pull-left > .dropdown > .dropdown-menu {
|
|
||||||
position: static;
|
position: static;
|
||||||
display: block;
|
display: block;
|
||||||
margin-bottom: 5px;
|
margin-bottom: 5px;
|
||||||
}
|
}
|
||||||
.bs-example-submenu {
|
|
||||||
min-height: 230px;
|
|
||||||
}
|
|
||||||
.bs-example-submenu > .pull-left + .pull-left {
|
|
||||||
margin-left: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Example tabbable tabs */
|
/* Example tabbable tabs */
|
||||||
.bs-example-tabs .nav-tabs {
|
.bs-example-tabs .nav-tabs {
|
||||||
@@ -542,6 +593,10 @@ body {
|
|||||||
.bs-example-tooltips {
|
.bs-example-tooltips {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
.bs-example-tooltips > .btn {
|
||||||
|
margin-top: 5px;
|
||||||
|
margin-bottom: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
/* Popovers */
|
/* Popovers */
|
||||||
.bs-example-popover {
|
.bs-example-popover {
|
||||||
@@ -557,19 +612,6 @@ body {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* Example templates
|
|
||||||
-------------------------------------------------- */
|
|
||||||
|
|
||||||
.bs-examples h4 {
|
|
||||||
margin-bottom: 5px;
|
|
||||||
}
|
|
||||||
.bs-examples p {
|
|
||||||
margin-bottom: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* Responsive docs
|
/* Responsive docs
|
||||||
-------------------------------------------------- */
|
-------------------------------------------------- */
|
||||||
|
|
||||||
@@ -603,6 +645,10 @@ body {
|
|||||||
border-bottom: 0;
|
border-bottom: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.bs-table-scrollable .highlight pre {
|
||||||
|
white-space: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* Related: responsive utilities tables */
|
/* Related: responsive utilities tables */
|
||||||
.table code {
|
.table code {
|
||||||
@@ -637,17 +683,9 @@ body {
|
|||||||
------------------------- */
|
------------------------- */
|
||||||
.responsive-utilities-test {
|
.responsive-utilities-test {
|
||||||
margin-top: 5px;
|
margin-top: 5px;
|
||||||
padding-left: 0;
|
|
||||||
list-style: none;
|
|
||||||
overflow: hidden; /* clear floats */
|
|
||||||
}
|
}
|
||||||
.responsive-utilities-test li {
|
.responsive-utilities-test .col-xs-6 {
|
||||||
position: relative;
|
margin-bottom: 10px;
|
||||||
float: left;
|
|
||||||
width: 25%;
|
|
||||||
}
|
|
||||||
.responsive-utilities-test li + li {
|
|
||||||
margin-left: 10px;
|
|
||||||
}
|
}
|
||||||
.responsive-utilities-test span {
|
.responsive-utilities-test span {
|
||||||
padding: 15px 10px;
|
padding: 15px 10px;
|
||||||
@@ -657,13 +695,25 @@ body {
|
|||||||
text-align: center;
|
text-align: center;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
}
|
}
|
||||||
.responsive-utilities-test.visible-on [class*="hidden"],
|
.visible-on .col-xs-6 .hidden-xs,
|
||||||
.responsive-utilities-test.hidden-on [class*="visible"] {
|
.visible-on .col-xs-6 .hidden-sm,
|
||||||
|
.visible-on .col-xs-6 .hidden-md,
|
||||||
|
.visible-on .col-xs-6 .hidden-lg,
|
||||||
|
.hidden-on .col-xs-6 .visible-xs,
|
||||||
|
.hidden-on .col-xs-6 .visible-sm,
|
||||||
|
.hidden-on .col-xs-6 .visible-md,
|
||||||
|
.hidden-on .col-xs-6 .visible-lg {
|
||||||
color: #999;
|
color: #999;
|
||||||
border: 1px solid #ddd;
|
border: 1px solid #ddd;
|
||||||
}
|
}
|
||||||
.responsive-utilities-test.visible-on [class*="visible"],
|
.visible-on .col-xs-6 .visible-xs,
|
||||||
.responsive-utilities-test.hidden-on [class*="hidden"] {
|
.visible-on .col-xs-6 .visible-sm,
|
||||||
|
.visible-on .col-xs-6 .visible-md,
|
||||||
|
.visible-on .col-xs-6 .visible-lg,
|
||||||
|
.hidden-on .col-xs-6 .hidden-xs,
|
||||||
|
.hidden-on .col-xs-6 .hidden-sm,
|
||||||
|
.hidden-on .col-xs-6 .hidden-md,
|
||||||
|
.hidden-on .col-xs-6 .hidden-lg {
|
||||||
color: #468847;
|
color: #468847;
|
||||||
background-color: #dff0d8;
|
background-color: #dff0d8;
|
||||||
border: 1px solid #d6e9c6;
|
border: 1px solid #d6e9c6;
|
||||||
@@ -710,9 +760,7 @@ body {
|
|||||||
.bs-social-buttons li {
|
.bs-social-buttons li {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
line-height: 1;
|
line-height: 1;
|
||||||
}
|
padding: 5px 8px;
|
||||||
.bs-social-buttons li + li {
|
|
||||||
margin-left: 15px;
|
|
||||||
}
|
}
|
||||||
.bs-social-buttons .twitter-follow-button {
|
.bs-social-buttons .twitter-follow-button {
|
||||||
width: 225px !important;
|
width: 225px !important;
|
||||||
@@ -720,6 +768,11 @@ body {
|
|||||||
.bs-social-buttons .twitter-share-button {
|
.bs-social-buttons .twitter-share-button {
|
||||||
width: 98px !important;
|
width: 98px !important;
|
||||||
}
|
}
|
||||||
|
/* Style the GitHub buttons via CSS instead of inline attributes */
|
||||||
|
.github-btn {
|
||||||
|
border: 0;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -727,7 +780,7 @@ body {
|
|||||||
-------------------------------------------------- */
|
-------------------------------------------------- */
|
||||||
|
|
||||||
/* Pseudo :focus state for showing how it looks in the docs */
|
/* Pseudo :focus state for showing how it looks in the docs */
|
||||||
input.focused {
|
#focusedInput {
|
||||||
border-color: rgba(82,168,236,.8);
|
border-color: rgba(82,168,236,.8);
|
||||||
outline: 0;
|
outline: 0;
|
||||||
outline: thin dotted \9; /* IE6-9 */
|
outline: thin dotted \9; /* IE6-9 */
|
||||||
@@ -809,6 +862,19 @@ input.focused {
|
|||||||
border-radius: 4px 4px 0 0;
|
border-radius: 4px 4px 0 0;
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
}
|
}
|
||||||
|
.bs-example + .prettyprint,
|
||||||
|
.bs-example + .highlight {
|
||||||
|
margin-top: -16px;
|
||||||
|
margin-left: 0;
|
||||||
|
margin-right: 0;
|
||||||
|
border-width: 1px;
|
||||||
|
border-bottom-left-radius: 4px;
|
||||||
|
border-bottom-right-radius: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bs-masthead-links {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
.carbonad {
|
.carbonad {
|
||||||
margin: 0 !important;
|
margin: 0 !important;
|
||||||
@@ -820,10 +886,6 @@ input.focused {
|
|||||||
.bs-sidebar {
|
.bs-sidebar {
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
/* Show the hidden subnavs when space allows it */
|
|
||||||
.bs-sidebar .nav > .active > ul {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Tweak display of docs jumbotrons */
|
/* Tweak display of docs jumbotrons */
|
||||||
.bs-masthead {
|
.bs-masthead {
|
||||||
@@ -848,7 +910,23 @@ input.focused {
|
|||||||
|
|
||||||
/* Tablets/desktops and up */
|
/* Tablets/desktops and up */
|
||||||
@media screen and (min-width: 992px) {
|
@media screen and (min-width: 992px) {
|
||||||
|
.bs-header h1,
|
||||||
|
.bs-header p {
|
||||||
|
margin-right: 380px;
|
||||||
|
}
|
||||||
|
.carbonad {
|
||||||
|
position: absolute;
|
||||||
|
top: 20px;
|
||||||
|
right: 0;
|
||||||
|
padding: 15px !important;
|
||||||
|
width: 330px !important;
|
||||||
|
min-height: 132px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Show the hidden subnavs when space allows it */
|
||||||
|
.bs-sidebar .nav > .active > ul {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
/* Widen the fixed sidebar */
|
/* Widen the fixed sidebar */
|
||||||
.bs-sidebar.affix,
|
.bs-sidebar.affix,
|
||||||
.bs-sidebar.affix-bottom {
|
.bs-sidebar.affix-bottom {
|
||||||
@@ -866,18 +944,6 @@ input.focused {
|
|||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
}
|
}
|
||||||
.bs-header h1,
|
|
||||||
.bs-header p {
|
|
||||||
margin-right: 380px;
|
|
||||||
}
|
|
||||||
.carbonad {
|
|
||||||
position: absolute;
|
|
||||||
top: 20px;
|
|
||||||
right: 0;
|
|
||||||
padding: 15px !important;
|
|
||||||
width: 330px !important;
|
|
||||||
min-height: 132px;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Large desktops and up */
|
/* Large desktops and up */
|
||||||
@@ -886,7 +952,7 @@ input.focused {
|
|||||||
/* Widen the fixed sidebar again */
|
/* Widen the fixed sidebar again */
|
||||||
.bs-sidebar.affix-bottom,
|
.bs-sidebar.affix-bottom,
|
||||||
.bs-sidebar.affix {
|
.bs-sidebar.affix {
|
||||||
width: 270px;
|
width: 263px;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,6 +16,10 @@
|
|||||||
offset: navHeight
|
offset: navHeight
|
||||||
})
|
})
|
||||||
|
|
||||||
|
$window.on('load', function () {
|
||||||
|
$body.scrollspy('refresh')
|
||||||
|
})
|
||||||
|
|
||||||
$('.bs-docs-container [href=#]').click(function (e) {
|
$('.bs-docs-container [href=#]').click(function (e) {
|
||||||
e.preventDefault()
|
e.preventDefault()
|
||||||
})
|
})
|
||||||
@@ -46,7 +50,8 @@
|
|||||||
|
|
||||||
// tooltip demo
|
// tooltip demo
|
||||||
$('.tooltip-demo').tooltip({
|
$('.tooltip-demo').tooltip({
|
||||||
selector: "[data-toggle=tooltip]"
|
selector: "[data-toggle=tooltip]",
|
||||||
|
container: "body"
|
||||||
})
|
})
|
||||||
|
|
||||||
$('.tooltip-test').tooltip()
|
$('.tooltip-test').tooltip()
|
||||||
@@ -73,88 +78,6 @@
|
|||||||
|
|
||||||
// carousel demo
|
// carousel demo
|
||||||
$('.bs-docs-carousel-example').carousel()
|
$('.bs-docs-carousel-example').carousel()
|
||||||
|
|
||||||
// javascript build logic
|
|
||||||
var inputsComponent = $("#less input")
|
|
||||||
, inputsPlugin = $("#plugins input")
|
|
||||||
, inputsVariables = $("#less-variables input")
|
|
||||||
|
|
||||||
// toggle all plugin checkboxes
|
|
||||||
$('#less .toggle').on('click', function (e) {
|
|
||||||
e.preventDefault()
|
|
||||||
inputsComponent.prop('checked', !inputsComponent.is(':checked'))
|
|
||||||
})
|
|
||||||
|
|
||||||
$('#plugins .toggle').on('click', function (e) {
|
|
||||||
e.preventDefault()
|
|
||||||
inputsPlugin.prop('checked', !inputsPlugin.is(':checked'))
|
|
||||||
})
|
|
||||||
|
|
||||||
$('#less-variables .toggle').on('click', function (e) {
|
|
||||||
e.preventDefault()
|
|
||||||
inputsVariables.val('')
|
|
||||||
})
|
|
||||||
|
|
||||||
// request built javascript
|
|
||||||
$('.bs-customize-download .btn').on('click', function (e) {
|
|
||||||
e.preventDefault()
|
|
||||||
|
|
||||||
var css = $("#less input:checked")
|
|
||||||
.map(function () { return this.value })
|
|
||||||
.toArray()
|
|
||||||
, js = $("#plugins input:checked")
|
|
||||||
.map(function () { return this.value })
|
|
||||||
.toArray()
|
|
||||||
, vars = {}
|
|
||||||
|
|
||||||
$("#less-variables input")
|
|
||||||
.each(function () {
|
|
||||||
$(this).val() && (vars[ $(this).prev().text() ] = $(this).val())
|
|
||||||
})
|
|
||||||
|
|
||||||
$.ajax({
|
|
||||||
type: 'POST'
|
|
||||||
, url: /localhost/.test(window.location) ? 'http://localhost:9001' : 'http://bootstrap.herokuapp.com'
|
|
||||||
, dataType: 'jsonpi'
|
|
||||||
, params: {
|
|
||||||
js: js
|
|
||||||
, css: css
|
|
||||||
, vars: vars
|
|
||||||
}
|
|
||||||
})
|
|
||||||
})
|
|
||||||
})
|
|
||||||
|
|
||||||
// Modified from the original jsonpi https://github.com/benvinegar/jquery-jsonpi
|
|
||||||
$.ajaxTransport('jsonpi', function(opts, originalOptions, jqXHR) {
|
|
||||||
var url = opts.url;
|
|
||||||
|
|
||||||
return {
|
|
||||||
send: function(_, completeCallback) {
|
|
||||||
var name = 'jQuery_iframe_' + jQuery.now()
|
|
||||||
, iframe, form
|
|
||||||
|
|
||||||
iframe = $('<iframe>')
|
|
||||||
.attr('name', name)
|
|
||||||
.appendTo('head')
|
|
||||||
|
|
||||||
form = $('<form>')
|
|
||||||
.attr('method', opts.type) // GET or POST
|
|
||||||
.attr('action', url)
|
|
||||||
.attr('target', name)
|
|
||||||
|
|
||||||
$.each(opts.params, function(k, v) {
|
|
||||||
|
|
||||||
$('<input>')
|
|
||||||
.attr('type', 'hidden')
|
|
||||||
.attr('name', k)
|
|
||||||
.attr('value', typeof v == 'string' ? v : JSON.stringify(v))
|
|
||||||
.appendTo(form)
|
|
||||||
})
|
|
||||||
|
|
||||||
form.appendTo('body').submit()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
|
|
||||||
}(window.jQuery)
|
}(window.jQuery)
|
||||||
|
|||||||
@@ -0,0 +1,175 @@
|
|||||||
|
window.onload = function () { // wait for load in a dumb way because B-0
|
||||||
|
var cw = '/*!\n * Bootstrap v3.0.0-rc.2\n *\n * Copyright 2013 Twitter, Inc\n * Licensed under the Apache License v2.0\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Designed and built with all the love in the world @twitter by @mdo and @fat.\n */\n\n'
|
||||||
|
|
||||||
|
function generateUrl() {
|
||||||
|
var vars = {}
|
||||||
|
|
||||||
|
$('#less-variables-section input')
|
||||||
|
.each(function () {
|
||||||
|
$(this).val() && (vars[ $(this).prev().text() ] = $(this).val())
|
||||||
|
})
|
||||||
|
|
||||||
|
var data = {
|
||||||
|
vars: vars,
|
||||||
|
css: $('#less-section input:not(:checked)').map(function () { return this.value }).toArray(),
|
||||||
|
js: $('#plugin-section input:not(:checked)').map(function () { return this.value }).toArray()
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($.isEmptyObject(data.vars) && !data.css.length && !data.js.length) return
|
||||||
|
|
||||||
|
window.location = jQuery.param.querystring('/customize/', data)
|
||||||
|
}
|
||||||
|
|
||||||
|
function parseUrl() {
|
||||||
|
var data = jQuery.deparam.querystring()
|
||||||
|
|
||||||
|
if (data.js) {
|
||||||
|
for (var i = 0; i < data.js.length; i++) {
|
||||||
|
var input = $('input[value="'+data.js[i]+'"]')
|
||||||
|
input && input.prop('checked', false)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (data.css) {
|
||||||
|
for (var i = 0; i < data.css.length; i++) {
|
||||||
|
var input = $('input[value="'+data.css[i]+'"]')
|
||||||
|
input && input.prop('checked', false)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (data.vars) {
|
||||||
|
// todo (fat): vars
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function generateZip(css, js, complete) {
|
||||||
|
if (!css && !js) return alert('you want to build nothing… o_O')
|
||||||
|
|
||||||
|
var zip = new JSZip()
|
||||||
|
|
||||||
|
if (css) {
|
||||||
|
var cssFolder = zip.folder('css')
|
||||||
|
for (var fileName in css) {
|
||||||
|
cssFolder.file(fileName, css[fileName])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (js) {
|
||||||
|
var jsFolder = zip.folder('js')
|
||||||
|
for (var fileName in js) {
|
||||||
|
jsFolder.file(fileName, js[fileName])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var content = zip.generate()
|
||||||
|
|
||||||
|
location.href = 'data:application/zip;base64,' + content
|
||||||
|
|
||||||
|
complete()
|
||||||
|
}
|
||||||
|
|
||||||
|
function generateCustomCSS(vars) {
|
||||||
|
var result = ''
|
||||||
|
|
||||||
|
for (var key in vars) {
|
||||||
|
result += key + ': ' + vars[key] + ';\n'
|
||||||
|
}
|
||||||
|
|
||||||
|
return result + '\n\n'
|
||||||
|
}
|
||||||
|
|
||||||
|
function generateCSS() {
|
||||||
|
var $checked = $('#less-section input:checked')
|
||||||
|
|
||||||
|
if (!$checked.length) return false
|
||||||
|
|
||||||
|
var result = {}
|
||||||
|
var vars = {}
|
||||||
|
var css = ''
|
||||||
|
|
||||||
|
$('#less-variables-section input')
|
||||||
|
.each(function () {
|
||||||
|
$(this).val() && (vars[ $(this).prev().text() ] = $(this).val())
|
||||||
|
})
|
||||||
|
|
||||||
|
css += __less['variables.less']
|
||||||
|
if (vars) css += generateCustomCSS(vars)
|
||||||
|
css += __less['mixins.less']
|
||||||
|
css += $checked
|
||||||
|
.map(function () { return __less[this.value] })
|
||||||
|
.toArray()
|
||||||
|
.join('\n')
|
||||||
|
|
||||||
|
css = css.replace(/@import[^\n]*/gi, '') //strip any imports
|
||||||
|
|
||||||
|
try {
|
||||||
|
var parser = new less.Parser({
|
||||||
|
paths: ['variables.less', 'mixins.less']
|
||||||
|
, optimization: 0
|
||||||
|
, filename: 'bootstrap.css'
|
||||||
|
}).parse(css, function (err, tree) {
|
||||||
|
if (err) return alert(err)
|
||||||
|
|
||||||
|
result = {
|
||||||
|
'bootstrap.css' : cw + tree.toCSS(),
|
||||||
|
'bootstrap.min.css' : cw + tree.toCSS({ compress: true })
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} catch (err) {
|
||||||
|
return alert(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
|
||||||
|
function generateJavascript() {
|
||||||
|
var $checked = $('#plugin-section input:checked')
|
||||||
|
if (!$checked.length) return false
|
||||||
|
|
||||||
|
var js = $checked
|
||||||
|
.map(function () { return __js[this.value] })
|
||||||
|
.toArray()
|
||||||
|
.join('\n')
|
||||||
|
|
||||||
|
return {
|
||||||
|
'bootstrap.js': js,
|
||||||
|
'bootstrap.min.js': cw + uglify(js)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var $downloadBtn = $('#btn-download').on('click', function (e) {
|
||||||
|
e.preventDefault()
|
||||||
|
$downloadBtn.addClass('loading')
|
||||||
|
generateZip(generateCSS(), generateJavascript(), function () {
|
||||||
|
$downloadBtn.removeClass('loading')
|
||||||
|
setTimeout(function () {
|
||||||
|
generateUrl()
|
||||||
|
}, 1)
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
var inputsComponent = $('#less-section input')
|
||||||
|
var inputsPlugin = $('#plugin-section input')
|
||||||
|
var inputsVariables = $('#less-variables-section input')
|
||||||
|
|
||||||
|
$('#less-section .toggle').on('click', function (e) {
|
||||||
|
e.preventDefault()
|
||||||
|
inputsComponent.prop('checked', !inputsComponent.is(':checked'))
|
||||||
|
})
|
||||||
|
|
||||||
|
$('#plugin-section .toggle').on('click', function (e) {
|
||||||
|
e.preventDefault()
|
||||||
|
inputsPlugin.prop('checked', !inputsPlugin.is(':checked'))
|
||||||
|
})
|
||||||
|
|
||||||
|
$('#less-variables-section .toggle').on('click', function (e) {
|
||||||
|
e.preventDefault()
|
||||||
|
inputsVariables.val('')
|
||||||
|
})
|
||||||
|
|
||||||
|
try {
|
||||||
|
parseUrl()
|
||||||
|
} catch (e) {
|
||||||
|
// maybe alert user that we can't parse their url
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "bootstrap",
|
"name": "bootstrap",
|
||||||
"version": "3.0.0",
|
"version": "3.0.0",
|
||||||
"main": ["./dist/js/bootstrap.min.js", "./dist/js/bootstrap.js", "./dist/css/bootstrap.min.css", "./dist/css/bootstrap.css"],
|
"main": ["./dist/js/bootstrap.js", "./dist/css/bootstrap.css"],
|
||||||
"ignore": [
|
"ignore": [
|
||||||
"**/.*"
|
"**/.*"
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "twbs/bootstrap"
|
"name": "twbs/bootstrap"
|
||||||
, "description": "Sleek, intuitive, and powerful front-end framework for faster and easier web development."
|
, "description": "Sleek, intuitive, and powerful mobile first front-end framework for faster and easier web development."
|
||||||
, "keywords": ["bootstrap", "css"]
|
, "keywords": ["bootstrap", "css"]
|
||||||
, "homepage": "http://getbootstrap.com"
|
, "homepage": "http://getbootstrap.com"
|
||||||
, "authors": [
|
, "authors": [
|
||||||
|
|||||||
@@ -314,6 +314,7 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
|
|||||||
Carousel.DEFAULTS = {
|
Carousel.DEFAULTS = {
|
||||||
interval: 5000
|
interval: 5000
|
||||||
, pause: 'hover'
|
, pause: 'hover'
|
||||||
|
, wrap: true
|
||||||
}
|
}
|
||||||
|
|
||||||
Carousel.prototype.cycle = function (e) {
|
Carousel.prototype.cycle = function (e) {
|
||||||
@@ -378,12 +379,15 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
|
|||||||
var fallback = type == 'next' ? 'first' : 'last'
|
var fallback = type == 'next' ? 'first' : 'last'
|
||||||
var that = this
|
var that = this
|
||||||
|
|
||||||
|
if (!$next.length) {
|
||||||
|
if (!this.options.wrap) return
|
||||||
|
$next = this.$element.find('.item')[fallback]()
|
||||||
|
}
|
||||||
|
|
||||||
this.sliding = true
|
this.sliding = true
|
||||||
|
|
||||||
isCycling && this.pause()
|
isCycling && this.pause()
|
||||||
|
|
||||||
$next = $next.length ? $next : this.$element.find('.item')[fallback]()
|
|
||||||
|
|
||||||
var e = $.Event('slide.bs.carousel', { relatedTarget: $next[0], direction: direction })
|
var e = $.Event('slide.bs.carousel', { relatedTarget: $next[0], direction: direction })
|
||||||
|
|
||||||
if ($next.hasClass('active')) return
|
if ($next.hasClass('active')) return
|
||||||
@@ -535,7 +539,7 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
|
|||||||
this.$element.trigger(startEvent)
|
this.$element.trigger(startEvent)
|
||||||
if (startEvent.isDefaultPrevented()) return
|
if (startEvent.isDefaultPrevented()) return
|
||||||
|
|
||||||
var actives = this.$parent && this.$parent.find('> .accordion-group > .in')
|
var actives = this.$parent && this.$parent.find('> .panel > .in')
|
||||||
|
|
||||||
if (actives && actives.length) {
|
if (actives && actives.length) {
|
||||||
var hasData = actives.data('bs.collapse')
|
var hasData = actives.data('bs.collapse')
|
||||||
@@ -656,7 +660,7 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
|
|||||||
var $parent = parent && $(parent)
|
var $parent = parent && $(parent)
|
||||||
|
|
||||||
if (!data || !data.transitioning) {
|
if (!data || !data.transitioning) {
|
||||||
if ($parent) $parent.find('[data-toggle=collapse][data-parent=' + parent + ']').not($this).addClass('collapsed')
|
if ($parent) $parent.find('[data-toggle=collapse][data-parent="' + parent + '"]').not($this).addClass('collapsed')
|
||||||
$this[$target.hasClass('in') ? 'addClass' : 'removeClass']('collapsed')
|
$this[$target.hasClass('in') ? 'addClass' : 'removeClass']('collapsed')
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -707,7 +711,7 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
|
|||||||
clearMenus()
|
clearMenus()
|
||||||
|
|
||||||
if (!isActive) {
|
if (!isActive) {
|
||||||
if ('ontouchstart' in document.documentElement) {
|
if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) {
|
||||||
// if mobile we we use a backdrop because click events don't delegate
|
// if mobile we we use a backdrop because click events don't delegate
|
||||||
$('<div class="dropdown-backdrop"/>').insertAfter($(this)).on('click', clearMenus)
|
$('<div class="dropdown-backdrop"/>').insertAfter($(this)).on('click', clearMenus)
|
||||||
}
|
}
|
||||||
@@ -719,9 +723,9 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
|
|||||||
$parent
|
$parent
|
||||||
.toggleClass('open')
|
.toggleClass('open')
|
||||||
.trigger('shown.bs.dropdown')
|
.trigger('shown.bs.dropdown')
|
||||||
}
|
|
||||||
|
|
||||||
$this.focus()
|
$this.focus()
|
||||||
|
}
|
||||||
|
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
@@ -847,11 +851,11 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
|
|||||||
|
|
||||||
var Modal = function (element, options) {
|
var Modal = function (element, options) {
|
||||||
this.options = options
|
this.options = options
|
||||||
this.$element = $(element).on('click.dismiss.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this))
|
this.$element = $(element)
|
||||||
this.$backdrop =
|
this.$backdrop =
|
||||||
this.isShown = null
|
this.isShown = null
|
||||||
|
|
||||||
if (this.options.remote) this.$element.find('.modal-body').load(this.options.remote)
|
if (this.options.remote) this.$element.load(this.options.remote)
|
||||||
}
|
}
|
||||||
|
|
||||||
Modal.DEFAULTS = {
|
Modal.DEFAULTS = {
|
||||||
@@ -860,13 +864,13 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
|
|||||||
, show: true
|
, show: true
|
||||||
}
|
}
|
||||||
|
|
||||||
Modal.prototype.toggle = function () {
|
Modal.prototype.toggle = function (_relatedTarget) {
|
||||||
return this[!this.isShown ? 'show' : 'hide']()
|
return this[!this.isShown ? 'show' : 'hide'](_relatedTarget)
|
||||||
}
|
}
|
||||||
|
|
||||||
Modal.prototype.show = function () {
|
Modal.prototype.show = function (_relatedTarget) {
|
||||||
var that = this
|
var that = this
|
||||||
var e = $.Event('show.bs.modal')
|
var e = $.Event('show.bs.modal', { relatedTarget: _relatedTarget })
|
||||||
|
|
||||||
this.$element.trigger(e)
|
this.$element.trigger(e)
|
||||||
|
|
||||||
@@ -876,6 +880,8 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
|
|||||||
|
|
||||||
this.escape()
|
this.escape()
|
||||||
|
|
||||||
|
this.$element.on('click.dismiss.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this))
|
||||||
|
|
||||||
this.backdrop(function () {
|
this.backdrop(function () {
|
||||||
var transition = $.support.transition && that.$element.hasClass('fade')
|
var transition = $.support.transition && that.$element.hasClass('fade')
|
||||||
|
|
||||||
@@ -895,13 +901,15 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
|
|||||||
|
|
||||||
that.enforceFocus()
|
that.enforceFocus()
|
||||||
|
|
||||||
|
var e = $.Event('shown.bs.modal', { relatedTarget: _relatedTarget })
|
||||||
|
|
||||||
transition ?
|
transition ?
|
||||||
that.$element
|
that.$element.find('.modal-dialog') // wait for modal to slide in
|
||||||
.one($.support.transition.end, function () {
|
.one($.support.transition.end, function () {
|
||||||
that.$element.focus().trigger('shown.bs.modal')
|
that.$element.focus().trigger(e)
|
||||||
})
|
})
|
||||||
.emulateTransitionEnd(300) :
|
.emulateTransitionEnd(300) :
|
||||||
that.$element.focus().trigger('shown.bs.modal')
|
that.$element.focus().trigger(e)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -923,6 +931,7 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
|
|||||||
this.$element
|
this.$element
|
||||||
.removeClass('in')
|
.removeClass('in')
|
||||||
.attr('aria-hidden', true)
|
.attr('aria-hidden', true)
|
||||||
|
.off('click.dismiss.modal')
|
||||||
|
|
||||||
$.support.transition && this.$element.hasClass('fade') ?
|
$.support.transition && this.$element.hasClass('fade') ?
|
||||||
this.$element
|
this.$element
|
||||||
@@ -975,7 +984,7 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
|
|||||||
this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />')
|
this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />')
|
||||||
.appendTo(document.body)
|
.appendTo(document.body)
|
||||||
|
|
||||||
this.$element.on('click', $.proxy(function (e) {
|
this.$element.on('click.dismiss.modal', $.proxy(function (e) {
|
||||||
if (e.target !== e.currentTarget) return
|
if (e.target !== e.currentTarget) return
|
||||||
this.options.backdrop == 'static'
|
this.options.backdrop == 'static'
|
||||||
? this.$element[0].focus.call(this.$element[0])
|
? this.$element[0].focus.call(this.$element[0])
|
||||||
@@ -1014,15 +1023,15 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
|
|||||||
|
|
||||||
var old = $.fn.modal
|
var old = $.fn.modal
|
||||||
|
|
||||||
$.fn.modal = function (option) {
|
$.fn.modal = function (option, _relatedTarget) {
|
||||||
return this.each(function () {
|
return this.each(function () {
|
||||||
var $this = $(this)
|
var $this = $(this)
|
||||||
var data = $this.data('bs.modal')
|
var data = $this.data('bs.modal')
|
||||||
var options = $.extend({}, Modal.DEFAULTS, $this.data(), typeof option == 'object' && option)
|
var options = $.extend({}, Modal.DEFAULTS, $this.data(), typeof option == 'object' && option)
|
||||||
|
|
||||||
if (!data) $this.data('bs.modal', (data = new Modal(this, options)))
|
if (!data) $this.data('bs.modal', (data = new Modal(this, options)))
|
||||||
if (typeof option == 'string') data[option]()
|
if (typeof option == 'string') data[option](_relatedTarget)
|
||||||
else if (options.show) data.show()
|
else if (options.show) data.show(_relatedTarget)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1045,28 +1054,26 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
|
|||||||
var $this = $(this)
|
var $this = $(this)
|
||||||
var href = $this.attr('href')
|
var href = $this.attr('href')
|
||||||
var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) //strip for ie7
|
var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) //strip for ie7
|
||||||
var option = $target.data('modal') ? 'toggle' : $.extend({ remote:!/#/.test(href) && href }, $target.data(), $this.data())
|
var option = $target.data('modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data())
|
||||||
|
|
||||||
e.preventDefault()
|
e.preventDefault()
|
||||||
|
|
||||||
$target
|
$target
|
||||||
.modal(option)
|
.modal(option, this)
|
||||||
.one('hide', function () {
|
.one('hide', function () {
|
||||||
$this.is(':visible') && $this.focus()
|
$this.is(':visible') && $this.focus()
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
$(function () {
|
$(document)
|
||||||
var $body = $(document.body)
|
.on('show.bs.modal', '.modal', function () { $(document.body).addClass('modal-open') })
|
||||||
.on('shown.bs.modal', '.modal', function () { $body.addClass('modal-open') })
|
.on('hidden.bs.modal', '.modal', function () { $(document.body).removeClass('modal-open') })
|
||||||
.on('hidden.bs.modal', '.modal', function () { $body.removeClass('modal-open') })
|
|
||||||
})
|
|
||||||
|
|
||||||
}(window.jQuery);
|
}(window.jQuery);
|
||||||
|
|
||||||
/* ========================================================================
|
/* ========================================================================
|
||||||
* Bootstrap: tooltip.js v3.0.0
|
* Bootstrap: tooltip.js v3.0.0
|
||||||
* http://twbs.github.com/bootstrap/javascript.html#affix
|
* http://twbs.github.com/bootstrap/javascript.html#tooltip
|
||||||
* Inspired by the original jQuery.tipsy by Jason Frame
|
* Inspired by the original jQuery.tipsy by Jason Frame
|
||||||
* ========================================================================
|
* ========================================================================
|
||||||
* Copyright 2012 Twitter, Inc.
|
* Copyright 2012 Twitter, Inc.
|
||||||
@@ -1130,7 +1137,7 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
|
|||||||
var eventIn = trigger == 'hover' ? 'mouseenter' : 'focus'
|
var eventIn = trigger == 'hover' ? 'mouseenter' : 'focus'
|
||||||
var eventOut = trigger == 'hover' ? 'mouseleave' : 'blur'
|
var eventOut = trigger == 'hover' ? 'mouseleave' : 'blur'
|
||||||
|
|
||||||
this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this))
|
this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this))
|
||||||
this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))
|
this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1157,16 +1164,20 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
|
|||||||
return options
|
return options
|
||||||
}
|
}
|
||||||
|
|
||||||
Tooltip.prototype.enter = function (obj) {
|
Tooltip.prototype.getDelegateOptions = function () {
|
||||||
var defaults = this.getDefaults()
|
|
||||||
var options = {}
|
var options = {}
|
||||||
|
var defaults = this.getDefaults()
|
||||||
|
|
||||||
this._options && $.each(this._options, function (key, value) {
|
this._options && $.each(this._options, function (key, value) {
|
||||||
if (defaults[key] != value) options[key] = value
|
if (defaults[key] != value) options[key] = value
|
||||||
})
|
})
|
||||||
|
|
||||||
|
return options
|
||||||
|
}
|
||||||
|
|
||||||
|
Tooltip.prototype.enter = function (obj) {
|
||||||
var self = obj instanceof this.constructor ?
|
var self = obj instanceof this.constructor ?
|
||||||
obj : $(obj.currentTarget)[this.type](options).data('bs.' + this.type)
|
obj : $(obj.currentTarget)[this.type](this.getDelegateOptions()).data('bs.' + this.type)
|
||||||
|
|
||||||
clearTimeout(self.timeout)
|
clearTimeout(self.timeout)
|
||||||
|
|
||||||
@@ -1180,7 +1191,7 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
|
|||||||
|
|
||||||
Tooltip.prototype.leave = function (obj) {
|
Tooltip.prototype.leave = function (obj) {
|
||||||
var self = obj instanceof this.constructor ?
|
var self = obj instanceof this.constructor ?
|
||||||
obj : $(obj.currentTarget)[this.type](this._options).data('bs.' + this.type)
|
obj : $(obj.currentTarget)[this.type](this.getDelegateOptions()).data('bs.' + this.type)
|
||||||
|
|
||||||
clearTimeout(self.timeout)
|
clearTimeout(self.timeout)
|
||||||
|
|
||||||
@@ -1245,7 +1256,7 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
|
|||||||
.addClass(placement)
|
.addClass(placement)
|
||||||
}
|
}
|
||||||
|
|
||||||
var calculatedOffset = this.getCalcuatedOffset(placement, pos, actualWidth, actualHeight)
|
var calculatedOffset = this.getCalculatedOffset(placement, pos, actualWidth, actualHeight)
|
||||||
|
|
||||||
this.applyPlacement(calculatedOffset, placement)
|
this.applyPlacement(calculatedOffset, placement)
|
||||||
this.$element.trigger('shown.bs.' + this.type)
|
this.$element.trigger('shown.bs.' + this.type)
|
||||||
@@ -1358,7 +1369,7 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
|
|||||||
}, this.$element.offset())
|
}, this.$element.offset())
|
||||||
}
|
}
|
||||||
|
|
||||||
Tooltip.prototype.getCalcuatedOffset = function (placement, pos, actualWidth, actualHeight) {
|
Tooltip.prototype.getCalculatedOffset = function (placement, pos, actualWidth, actualHeight) {
|
||||||
return placement == 'bottom' ? { top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2 } :
|
return placement == 'bottom' ? { top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2 } :
|
||||||
placement == 'top' ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } :
|
placement == 'top' ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } :
|
||||||
placement == 'left' ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } :
|
placement == 'left' ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } :
|
||||||
@@ -1405,7 +1416,7 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
|
|||||||
}
|
}
|
||||||
|
|
||||||
Tooltip.prototype.toggle = function (e) {
|
Tooltip.prototype.toggle = function (e) {
|
||||||
var self = e ? $(e.currentTarget)[this.type](this._options).data('bs.' + this.type) : this
|
var self = e ? $(e.currentTarget)[this.type](this.getDelegateOptions()).data('bs.' + this.type) : this
|
||||||
self.tip().hasClass('in') ? self.leave(self) : self.enter(self)
|
self.tip().hasClass('in') ? self.leave(self) : self.enter(self)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1503,13 +1514,9 @@ if (!jQuery) { throw new Error("Bootstrap requires jQuery") }
|
|||||||
|
|
||||||
$tip.removeClass('fade top bottom left right in')
|
$tip.removeClass('fade top bottom left right in')
|
||||||
|
|
||||||
// Hide empty titles
|
|
||||||
//
|
|
||||||
// IE8 doesn't accept hiding via the `:empty` pseudo selector, we have to do
|
// IE8 doesn't accept hiding via the `:empty` pseudo selector, we have to do
|
||||||
// this manually by checking the contents.
|
// this manually by checking the contents.
|
||||||
if ($tip.find('.popover-title').html() === '') {
|
if (!$tip.find('.popover-title').html()) $tip.find('.popover-title').hide()
|
||||||
$tip.find('.popover-title').hide();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Popover.prototype.hasContent = function () {
|
Popover.prototype.hasContent = function () {
|
||||||
|
|||||||
@@ -0,0 +1,128 @@
|
|||||||
|
/* GLOBAL STYLES
|
||||||
|
-------------------------------------------------- */
|
||||||
|
/* Padding below the footer and lighter body text */
|
||||||
|
|
||||||
|
body {
|
||||||
|
padding-bottom: 40px;
|
||||||
|
color: #5a5a5a;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* CUSTOMIZE THE NAVBAR
|
||||||
|
-------------------------------------------------- */
|
||||||
|
|
||||||
|
/* Special class on .container surrounding .navbar, used for positioning it into place. */
|
||||||
|
.navbar-wrapper {
|
||||||
|
position: relative;
|
||||||
|
z-index: 15;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* CUSTOMIZE THE CAROUSEL
|
||||||
|
-------------------------------------------------- */
|
||||||
|
|
||||||
|
/* Carousel base class */
|
||||||
|
.carousel {
|
||||||
|
margin-bottom: 60px;
|
||||||
|
|
||||||
|
/* Negative margin to pull up carousel. 90px is roughly margins and height of navbar. */
|
||||||
|
margin-top: -90px;
|
||||||
|
}
|
||||||
|
/* Since positioning the image, we need to help out the caption */
|
||||||
|
.carousel-caption {
|
||||||
|
z-index: 10;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Declare heights because of positioning of img element */
|
||||||
|
.carousel .item {
|
||||||
|
height: 500px;
|
||||||
|
}
|
||||||
|
.carousel-inner > .item > img {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
min-width: 100%;
|
||||||
|
height: 500px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* MARKETING CONTENT
|
||||||
|
-------------------------------------------------- */
|
||||||
|
|
||||||
|
/* Pad the edges of the mobile views a bit */
|
||||||
|
.marketing {
|
||||||
|
padding-left: 15px;
|
||||||
|
padding-right: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Center align the text within the three columns below the carousel */
|
||||||
|
.marketing .col-lg-4 {
|
||||||
|
text-align: center;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
.marketing h2 {
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
.marketing .col-lg-4 p {
|
||||||
|
margin-left: 10px;
|
||||||
|
margin-right: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Featurettes
|
||||||
|
------------------------- */
|
||||||
|
|
||||||
|
.featurette-divider {
|
||||||
|
margin: 80px 0; /* Space out the Bootstrap <hr> more */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Thin out the marketing headings */
|
||||||
|
.featurette-heading {
|
||||||
|
font-weight: 300;
|
||||||
|
line-height: 1;
|
||||||
|
letter-spacing: -1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* RESPONSIVE CSS
|
||||||
|
-------------------------------------------------- */
|
||||||
|
|
||||||
|
@media (min-width: 768px) {
|
||||||
|
|
||||||
|
/* Remve the edge padding needed for mobile */
|
||||||
|
.marketing {
|
||||||
|
padding-left: 0;
|
||||||
|
padding-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Navbar positioning foo */
|
||||||
|
.navbar-wrapper {
|
||||||
|
margin-top: 20px;
|
||||||
|
}
|
||||||
|
/* The navbar becomes detached from the top, so we round the corners */
|
||||||
|
.navbar-wrapper .navbar {
|
||||||
|
border-radius: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Bump up size of carousel content */
|
||||||
|
.carousel-caption p {
|
||||||
|
margin-bottom: 20px;
|
||||||
|
font-size: 21px;
|
||||||
|
line-height: 1.4;
|
||||||
|
}
|
||||||
|
|
||||||
|
.featurette-heading {
|
||||||
|
font-size: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (min-width: 992px) {
|
||||||
|
.featurette-heading {
|
||||||
|
margin-top: 120px;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,197 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="author" content="">
|
||||||
|
<link rel="shortcut icon" href="../../assets/ico/favicon.png">
|
||||||
|
|
||||||
|
<title>Carousel Template for Bootstrap</title>
|
||||||
|
|
||||||
|
<!-- Bootstrap core CSS -->
|
||||||
|
<link href="../../dist/css/bootstrap.css" rel="stylesheet">
|
||||||
|
<link href="../../dist/css/bootstrap-glyphicons.css" rel="stylesheet">
|
||||||
|
|
||||||
|
<!-- Custom styles for this template -->
|
||||||
|
<link href="carousel.css" rel="stylesheet">
|
||||||
|
</head>
|
||||||
|
<!-- NAVBAR
|
||||||
|
================================================== -->
|
||||||
|
<body>
|
||||||
|
<div class="navbar-wrapper">
|
||||||
|
<div class="container">
|
||||||
|
|
||||||
|
<div class="navbar navbar-inverse navbar-static-top">
|
||||||
|
<div class="container">
|
||||||
|
<div class="navbar-header">
|
||||||
|
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
</button>
|
||||||
|
<a class="navbar-brand" href="#">Project name</a>
|
||||||
|
</div>
|
||||||
|
<div class="navbar-collapse collapse">
|
||||||
|
<ul class="nav navbar-nav">
|
||||||
|
<li class="active"><a href="#">Home</a></li>
|
||||||
|
<li><a href="#about">About</a></li>
|
||||||
|
<li><a href="#contact">Contact</a></li>
|
||||||
|
<li class="dropdown">
|
||||||
|
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
|
||||||
|
<ul class="dropdown-menu">
|
||||||
|
<li><a href="#">Action</a></li>
|
||||||
|
<li><a href="#">Another action</a></li>
|
||||||
|
<li><a href="#">Something else here</a></li>
|
||||||
|
<li class="divider"></li>
|
||||||
|
<li class="dropdown-header">Nav header</li>
|
||||||
|
<li><a href="#">Separated link</a></li>
|
||||||
|
<li><a href="#">One more separated link</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Carousel
|
||||||
|
================================================== -->
|
||||||
|
<div id="myCarousel" class="carousel slide">
|
||||||
|
<!-- Indicators -->
|
||||||
|
<ol class="carousel-indicators">
|
||||||
|
<li data-target="#myCarousel" data-slide-to="0" class="active"></li>
|
||||||
|
<li data-target="#myCarousel" data-slide-to="1"></li>
|
||||||
|
<li data-target="#myCarousel" data-slide-to="2"></li>
|
||||||
|
</ol>
|
||||||
|
<div class="carousel-inner">
|
||||||
|
<div class="item active">
|
||||||
|
<img src="data:image/png;base64," data-src="holder.js/100%x500/auto/#777:#7a7a7a/text:First slide" alt="First slide">
|
||||||
|
<div class="container">
|
||||||
|
<div class="carousel-caption">
|
||||||
|
<h1>Example headline.</h1>
|
||||||
|
<p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
|
||||||
|
<p><a class="btn btn-large btn-primary" href="#">Sign up today</a></p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="item">
|
||||||
|
<img src="data:image/png;base64," data-src="holder.js/100%x500/auto/#777:#7a7a7a/text:Second slide" alt="Second slide">
|
||||||
|
<div class="container">
|
||||||
|
<div class="carousel-caption">
|
||||||
|
<h1>Another example headline.</h1>
|
||||||
|
<p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
|
||||||
|
<p><a class="btn btn-large btn-primary" href="#">Learn more</a></p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="item">
|
||||||
|
<img src="data:image/png;base64," data-src="holder.js/100%x500/auto/#777:#7a7a7a/text:Third slide" alt="Third slide">
|
||||||
|
<div class="container">
|
||||||
|
<div class="carousel-caption">
|
||||||
|
<h1>One more for good measure.</h1>
|
||||||
|
<p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.</p>
|
||||||
|
<p><a class="btn btn-large btn-primary" href="#">Browse gallery</a></p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<a class="left carousel-control" href="#myCarousel" 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>
|
||||||
|
</div><!-- /.carousel -->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Marketing messaging and featurettes
|
||||||
|
================================================== -->
|
||||||
|
<!-- Wrap the rest of the page in another container to center all the content. -->
|
||||||
|
|
||||||
|
<div class="container marketing">
|
||||||
|
|
||||||
|
<!-- Three columns of text below the carousel -->
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-lg-4">
|
||||||
|
<img class="img-circle" src="data:image/png;base64," data-src="holder.js/140x140" alt="Generic placeholder image">
|
||||||
|
<h2>Heading</h2>
|
||||||
|
<p>Donec sed odio dui. Etiam porta sem malesuada magna mollis euismod. Nullam id dolor id nibh ultricies vehicula ut id elit. Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Praesent commodo cursus magna.</p>
|
||||||
|
<p><a class="btn btn-default" href="#">View details »</a></p>
|
||||||
|
</div><!-- /.col-lg-4 -->
|
||||||
|
<div class="col-lg-4">
|
||||||
|
<img class="img-circle" src="data:image/png;base64," data-src="holder.js/140x140" alt="Generic placeholder image">
|
||||||
|
<h2>Heading</h2>
|
||||||
|
<p>Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Cras mattis consectetur purus sit amet fermentum. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh.</p>
|
||||||
|
<p><a class="btn btn-default" href="#">View details »</a></p>
|
||||||
|
</div><!-- /.col-lg-4 -->
|
||||||
|
<div class="col-lg-4">
|
||||||
|
<img class="img-circle" src="data:image/png;base64," data-src="holder.js/140x140" alt="Generic placeholder image">
|
||||||
|
<h2>Heading</h2>
|
||||||
|
<p>Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Vestibulum id ligula porta felis euismod semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.</p>
|
||||||
|
<p><a class="btn btn-default" href="#">View details »</a></p>
|
||||||
|
</div><!-- /.col-lg-4 -->
|
||||||
|
</div><!-- /.row -->
|
||||||
|
|
||||||
|
|
||||||
|
<!-- START THE FEATURETTES -->
|
||||||
|
|
||||||
|
<hr class="featurette-divider">
|
||||||
|
|
||||||
|
<div class="row featurette">
|
||||||
|
<div class="col-md-7">
|
||||||
|
<h2 class="featurette-heading">First featurette heading. <span class="text-muted">It'll blow your mind.</span></h2>
|
||||||
|
<p class="lead">Donec ullamcorper nulla non metus auctor fringilla. Vestibulum id ligula porta felis euismod semper. Praesent commodo cursus magna, vel scelerisque nisl consectetur. Fusce dapibus, tellus ac cursus commodo.</p>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-5">
|
||||||
|
<img class="featurette-image img-responsive" src="data:image/png;base64," data-src="holder.js/500x500/auto" alt="Generic placeholder image">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<hr class="featurette-divider">
|
||||||
|
|
||||||
|
<div class="row featurette">
|
||||||
|
<div class="col-md-5">
|
||||||
|
<img class="featurette-image img-responsive" src="data:image/png;base64," data-src="holder.js/500x500/auto" alt="Generic placeholder image">
|
||||||
|
</div>
|
||||||
|
<div class="col-md-7">
|
||||||
|
<h2 class="featurette-heading">Oh yeah, it's that good. <span class="text-muted">See for yourself.</span></h2>
|
||||||
|
<p class="lead">Donec ullamcorper nulla non metus auctor fringilla. Vestibulum id ligula porta felis euismod semper. Praesent commodo cursus magna, vel scelerisque nisl consectetur. Fusce dapibus, tellus ac cursus commodo.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<hr class="featurette-divider">
|
||||||
|
|
||||||
|
<div class="row featurette">
|
||||||
|
<div class="col-md-7">
|
||||||
|
<h2 class="featurette-heading">And lastly, this one. <span class="text-muted">Checkmate.</span></h2>
|
||||||
|
<p class="lead">Donec ullamcorper nulla non metus auctor fringilla. Vestibulum id ligula porta felis euismod semper. Praesent commodo cursus magna, vel scelerisque nisl consectetur. Fusce dapibus, tellus ac cursus commodo.</p>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-5">
|
||||||
|
<img class="featurette-image img-responsive" src="data:image/png;base64," data-src="holder.js/500x500/auto" alt="Generic placeholder image">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<hr class="featurette-divider">
|
||||||
|
|
||||||
|
<!-- /END THE FEATURETTES -->
|
||||||
|
|
||||||
|
|
||||||
|
<!-- FOOTER -->
|
||||||
|
<footer>
|
||||||
|
<p class="pull-right"><a href="#">Back to top</a></p>
|
||||||
|
<p>© 2013 Company, Inc. · <a href="#">Privacy</a> · <a href="#">Terms</a></p>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
</div><!-- /.container -->
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Bootstrap core JavaScript
|
||||||
|
================================================== -->
|
||||||
|
<!-- Placed at the end of the document so the pages load faster -->
|
||||||
|
<script src="../../assets/js/jquery.js"></script>
|
||||||
|
<script src="../../assets/js/respond.min.js"></script>
|
||||||
|
<script src="../../dist/js/bootstrap.min.js"></script>
|
||||||
|
<script src="../../assets/js/holder.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
.container {
|
||||||
|
padding-left: 15px;
|
||||||
|
padding-right: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
h4 {
|
||||||
|
margin-top: 25px;
|
||||||
|
}
|
||||||
|
.row {
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
.row .row {
|
||||||
|
margin-top: 10px;
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
[class*="col-"] {
|
||||||
|
padding-top: 15px;
|
||||||
|
padding-bottom: 15px;
|
||||||
|
background-color: #eee;
|
||||||
|
border: 1px solid #ddd;
|
||||||
|
background-color: rgba(86,61,124,.15);
|
||||||
|
border: 1px solid rgba(86,61,124,.2);
|
||||||
|
}
|
||||||
|
|
||||||
|
hr {
|
||||||
|
margin-top: 40px;
|
||||||
|
margin-bottom: 40px;
|
||||||
|
}
|
||||||
@@ -0,0 +1,114 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="author" content="">
|
||||||
|
<link rel="shortcut icon" href="../../assets/ico/favicon.png">
|
||||||
|
|
||||||
|
<title>Grid Template for Bootstrap</title>
|
||||||
|
|
||||||
|
<!-- Bootstrap core CSS -->
|
||||||
|
<link href="../../dist/css/bootstrap.css" rel="stylesheet">
|
||||||
|
|
||||||
|
<!-- Custom styles for this template -->
|
||||||
|
<link href="grid.css" rel="stylesheet">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<div class="container">
|
||||||
|
|
||||||
|
<div class="page-header">
|
||||||
|
<h1>Bootstrap grid examples</h1>
|
||||||
|
<p class="lead">Basic grid layouts to get you familiar with building within the Bootstrap grid system.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h3>Three equal columns</h3>
|
||||||
|
<p>Get three equal-width columns <strong>starting at desktops and scaling to large desktops</strong>. On mobile devices, tablets and below, the columns will automatically stack.</p>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-4">.col-md-4</div>
|
||||||
|
<div class="col-md-4">.col-md-4</div>
|
||||||
|
<div class="col-md-4">.col-md-4</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h3>Three unequal columns</h3>
|
||||||
|
<p>Get three columns <strong>starting at desktops and scaling to large desktops</strong> of various widths. Remember, grid columns should add up to twelve for a single horizontal block. More than that, and columns start stacking no matter the viewport.</p>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-3">.col-md-3</div>
|
||||||
|
<div class="col-md-6">.col-md-6</div>
|
||||||
|
<div class="col-md-3">.col-md-3</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h3>Two columns</h3>
|
||||||
|
<p>Get two columns <strong>starting at desktops and scaling to large desktops</strong>.</p>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-8">.col-md-8</div>
|
||||||
|
<div class="col-md-4">.col-md-4</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h3>Full width, single column</h3>
|
||||||
|
<p class="text-warning">No grid classes are necessary for full-width elements.</p>
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
<h3>Two columns with two nested columns</h3>
|
||||||
|
<p>Per the documentation, nesting is easy—just put a row of columns within an existing row. This gives you two columns <strong>starting at desktops and scaling to large desktops</strong>, with another two (equal widths) within the larger column.</p>
|
||||||
|
<p>At mobile device sizes, tablets and down, these columns and their nested columns will stack.</p>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-8">
|
||||||
|
.col-md-8
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-6">.col-md-6</div>
|
||||||
|
<div class="col-md-6">.col-md-6</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-4">.col-md-4</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
<h3>Mixed: mobile and desktop</h3>
|
||||||
|
<p>The Bootstrap 3 grid system has four tiers of classes: xs (phones), sm (tablets), md (desktops), and lg (larger desktops). You can use nearly any combination of these classes to create more dynamic and flexible layouts.</p>
|
||||||
|
<p>Each tier of classes scales up, meaning if you plan on setting the same widths for xs and sm, you only need to specify xs.</p>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-xs-12 col-md-8">.col-xs-12 .col-md-8</div>
|
||||||
|
<div class="col-xs-6 col-md-4">.col-xs-6 .col-md-4</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-xs-6 col-md-4">.col-xs-6 .col-md-4</div>
|
||||||
|
<div class="col-xs-6 col-md-4">.col-xs-6 .col-md-4</div>
|
||||||
|
<div class="col-xs-6 col-md-4">.col-xs-6 .col-md-4</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-xs-6 col-md-6">.col-xs-6 .col-md-6</div>
|
||||||
|
<div class="col-xs-6 col-md-6">.col-xs-6 .col-md-6</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
<h3>Mixed: mobile, tablet, and desktop</h3>
|
||||||
|
<p></p>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-xs-12 col-sm-8 col-lg-8">.col-xs-12 .col-lg-8</div>
|
||||||
|
<div class="col-xs-6 col-sm-4 col-lg-4">.col-xs-6 .col-lg-4</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-xs-6 col-sm-4 col-lg-4">.col-xs-6 .col-sm-4 .col-lg-4</div>
|
||||||
|
<div class="col-xs-6 col-sm-4 col-lg-4">.col-xs-6 .col-sm-4 .col-lg-4</div>
|
||||||
|
<div class="col-xs-6 col-sm-4 col-lg-4">.col-xs-6 .col-sm-4 .col-lg-4</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-xs-6 col-sm-6 col-lg-6">.col-xs-6 .col-sm-6 .col-lg-6</div>
|
||||||
|
<div class="col-xs-6 col-sm-6 col-lg-6">.col-xs-6 .col-sm-6 .col-lg-6</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div> <!-- /container -->
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Bootstrap core JavaScript
|
||||||
|
================================================== -->
|
||||||
|
<!-- Placed at the end of the document so the pages load faster -->
|
||||||
|
<script src="../../assets/js/respond.min.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,73 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="author" content="">
|
||||||
|
<link rel="shortcut icon" href="../../assets/ico/favicon.png">
|
||||||
|
|
||||||
|
<title>Narrow Jumbotron Template for Bootstrap</title>
|
||||||
|
|
||||||
|
<!-- Bootstrap core CSS -->
|
||||||
|
<link href="../../dist/css/bootstrap.css" rel="stylesheet">
|
||||||
|
|
||||||
|
<!-- Custom styles for this template -->
|
||||||
|
<link href="jumbotron-narrow.css" rel="stylesheet">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div class="container-narrow">
|
||||||
|
<div class="header">
|
||||||
|
<ul class="nav nav-pills pull-right">
|
||||||
|
<li class="active"><a href="#">Home</a></li>
|
||||||
|
<li><a href="#">About</a></li>
|
||||||
|
<li><a href="#">Contact</a></li>
|
||||||
|
</ul>
|
||||||
|
<h3 class="text-muted">Project name</h3>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="jumbotron">
|
||||||
|
<h1>Jumbotron heading</h1>
|
||||||
|
<p class="lead">Cras justo odio, dapibus ac facilisis in, egestas eget quam. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.</p>
|
||||||
|
<p><a class="btn btn-large btn-success" href="#">Sign up today</a></p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row marketing">
|
||||||
|
<div class="col-lg-6">
|
||||||
|
<h4>Subheading</h4>
|
||||||
|
<p>Donec id elit non mi porta gravida at eget metus. Maecenas faucibus mollis interdum.</p>
|
||||||
|
|
||||||
|
<h4>Subheading</h4>
|
||||||
|
<p>Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Cras mattis consectetur purus sit amet fermentum.</p>
|
||||||
|
|
||||||
|
<h4>Subheading</h4>
|
||||||
|
<p>Maecenas sed diam eget risus varius blandit sit amet non magna.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-lg-6">
|
||||||
|
<h4>Subheading</h4>
|
||||||
|
<p>Donec id elit non mi porta gravida at eget metus. Maecenas faucibus mollis interdum.</p>
|
||||||
|
|
||||||
|
<h4>Subheading</h4>
|
||||||
|
<p>Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Cras mattis consectetur purus sit amet fermentum.</p>
|
||||||
|
|
||||||
|
<h4>Subheading</h4>
|
||||||
|
<p>Maecenas sed diam eget risus varius blandit sit amet non magna.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="footer">
|
||||||
|
<p>© Company 2013</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div> <!-- /container -->
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Bootstrap core JavaScript
|
||||||
|
================================================== -->
|
||||||
|
<!-- Placed at the end of the document so the pages load faster -->
|
||||||
|
<script src="../../assets/js/respond.min.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,78 @@
|
|||||||
|
/* Space out content a bit */
|
||||||
|
body {
|
||||||
|
padding-top: 20px;
|
||||||
|
padding-bottom: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Everything but the jumbotron gets side spacing for mobile-first views */
|
||||||
|
.header,
|
||||||
|
.marketing,
|
||||||
|
.footer {
|
||||||
|
padding-left: 15px;
|
||||||
|
padding-right: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Custom page header */
|
||||||
|
.header {
|
||||||
|
border-bottom: 1px solid #e5e5e5;
|
||||||
|
}
|
||||||
|
/* Make the masthead heading the same height as the navigation */
|
||||||
|
.header h3 {
|
||||||
|
margin-top: 0;
|
||||||
|
margin-bottom: 0;
|
||||||
|
line-height: 40px;
|
||||||
|
padding-bottom: 19px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Custom page footer */
|
||||||
|
.footer {
|
||||||
|
padding-top: 19px;
|
||||||
|
color: #777;
|
||||||
|
border-top: 1px solid #e5e5e5;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Custom container */
|
||||||
|
.container-narrow {
|
||||||
|
margin: 0 auto;
|
||||||
|
max-width: 700px;
|
||||||
|
}
|
||||||
|
.container-narrow > hr {
|
||||||
|
margin: 30px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Main marketing message and sign up button */
|
||||||
|
.jumbotron {
|
||||||
|
text-align: center;
|
||||||
|
border-bottom: 1px solid #e5e5e5;
|
||||||
|
}
|
||||||
|
.jumbotron .btn {
|
||||||
|
font-size: 21px;
|
||||||
|
padding: 14px 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Supporting marketing content */
|
||||||
|
.marketing {
|
||||||
|
margin: 40px 0;
|
||||||
|
}
|
||||||
|
.marketing p + h4 {
|
||||||
|
margin-top: 28px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Responsive: Portrait tablets and up */
|
||||||
|
@media screen and (min-width: 768px) {
|
||||||
|
/* Remove the padding we set earlier */
|
||||||
|
.header,
|
||||||
|
.marketing,
|
||||||
|
.footer {
|
||||||
|
padding-left: 0;
|
||||||
|
padding-right: 0;
|
||||||
|
}
|
||||||
|
/* Space out the masthead */
|
||||||
|
.header {
|
||||||
|
margin-bottom: 30px;
|
||||||
|
}
|
||||||
|
/* Remove the bottom border on the jumbotron for visual effect */
|
||||||
|
.jumbotron {
|
||||||
|
border-bottom: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,109 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="author" content="">
|
||||||
|
<link rel="shortcut icon" href="../../assets/ico/favicon.png">
|
||||||
|
|
||||||
|
<title>Jumbotron Template for Bootstrap</title>
|
||||||
|
|
||||||
|
<!-- Bootstrap core CSS -->
|
||||||
|
<link href="../../dist/css/bootstrap.css" rel="stylesheet">
|
||||||
|
|
||||||
|
<!-- Custom styles for this template -->
|
||||||
|
<link href="jumbotron.css" rel="stylesheet">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div class="navbar navbar-inverse navbar-fixed-top">
|
||||||
|
<div class="container">
|
||||||
|
<div class="navbar-header">
|
||||||
|
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
</button>
|
||||||
|
<a class="navbar-brand" href="#">Project name</a>
|
||||||
|
</div>
|
||||||
|
<div class="navbar-collapse collapse">
|
||||||
|
<ul class="nav navbar-nav">
|
||||||
|
<li class="active"><a href="#">Home</a></li>
|
||||||
|
<li><a href="#about">About</a></li>
|
||||||
|
<li><a href="#contact">Contact</a></li>
|
||||||
|
<li class="dropdown">
|
||||||
|
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
|
||||||
|
<ul class="dropdown-menu">
|
||||||
|
<li><a href="#">Action</a></li>
|
||||||
|
<li><a href="#">Another action</a></li>
|
||||||
|
<li><a href="#">Something else here</a></li>
|
||||||
|
<li class="divider"></li>
|
||||||
|
<li class="dropdown-header">Nav header</li>
|
||||||
|
<li><a href="#">Separated link</a></li>
|
||||||
|
<li><a href="#">One more separated link</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<form class="navbar-form navbar-right">
|
||||||
|
<div class="form-group">
|
||||||
|
<input type="text" placeholder="Email" class="form-control">
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<input type="password" placeholder="Password" class="form-control">
|
||||||
|
</div>
|
||||||
|
<button type="submit" class="btn">Sign in</button>
|
||||||
|
</form>
|
||||||
|
</div><!--/.navbar-collapse -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
|
||||||
|
<!-- Main jumbotron for a primary marketing message or call to action -->
|
||||||
|
<div class="jumbotron">
|
||||||
|
<h1>Hello, world!</h1>
|
||||||
|
<p>This is a template for a simple marketing or informational website. It includes a large callout called the hero unit and three supporting pieces of content. Use it as a starting point to create something more unique.</p>
|
||||||
|
<p><a class="btn btn-primary btn-large">Learn more »</a></p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="body-content">
|
||||||
|
|
||||||
|
<!-- Example row of columns -->
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-lg-4">
|
||||||
|
<h2>Heading</h2>
|
||||||
|
<p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. </p>
|
||||||
|
<p><a class="btn btn-default" href="#">View details »</a></p>
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-4">
|
||||||
|
<h2>Heading</h2>
|
||||||
|
<p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. </p>
|
||||||
|
<p><a class="btn btn-default" href="#">View details »</a></p>
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-4">
|
||||||
|
<h2>Heading</h2>
|
||||||
|
<p>Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Vestibulum id ligula porta felis euismod semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.</p>
|
||||||
|
<p><a class="btn btn-default" href="#">View details »</a></p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
<footer>
|
||||||
|
<p>© Company 2013</p>
|
||||||
|
</footer>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div> <!-- /container -->
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Bootstrap core JavaScript
|
||||||
|
================================================== -->
|
||||||
|
<!-- Placed at the end of the document so the pages load faster -->
|
||||||
|
<script src="../../assets/js/jquery.js"></script>
|
||||||
|
<script src="../../assets/js/respond.min.js"></script>
|
||||||
|
<script src="../../dist/js/bootstrap.min.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
/* Move down content because we have a fixed navbar that is 50px tall */
|
||||||
|
body {
|
||||||
|
padding-top: 50px;
|
||||||
|
padding-bottom: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Wrapping element */
|
||||||
|
/* Set some basic padding to keep content from hitting the edges */
|
||||||
|
.body-content {
|
||||||
|
padding-left: 15px;
|
||||||
|
padding-right: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Responsive: Portrait tablets and up */
|
||||||
|
@media screen and (min-width: 768px) {
|
||||||
|
/* Let the jumbotron breathe */
|
||||||
|
.jumbotron {
|
||||||
|
margin-top: 20px;
|
||||||
|
}
|
||||||
|
/* Remove padding from wrapping element since we kick in the grid classes here */
|
||||||
|
.body-content {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,79 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="author" content="">
|
||||||
|
<link rel="shortcut icon" href="../../assets/ico/favicon.png">
|
||||||
|
|
||||||
|
<title>Justified Nav Template for Bootstrap</title>
|
||||||
|
|
||||||
|
<!-- Bootstrap core CSS -->
|
||||||
|
<link href="../../dist/css/bootstrap.css" rel="stylesheet">
|
||||||
|
|
||||||
|
<!-- Custom styles for this template -->
|
||||||
|
<link href="justified-nav.css" rel="stylesheet">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
|
||||||
|
<div class="masthead">
|
||||||
|
<h3 class="text-muted">Project name</h3>
|
||||||
|
<ul class="nav nav-justified">
|
||||||
|
<li class="active"><a href="#">Home</a></li>
|
||||||
|
<li><a href="#">Projects</a></li>
|
||||||
|
<li><a href="#">Services</a></li>
|
||||||
|
<li><a href="#">Downloads</a></li>
|
||||||
|
<li><a href="#">About</a></li>
|
||||||
|
<li><a href="#">Contact</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Jumbotron -->
|
||||||
|
<div class="jumbotron">
|
||||||
|
<h1>Marketing stuff!</h1>
|
||||||
|
<p class="lead">Cras justo odio, dapibus ac facilisis in, egestas eget quam. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet.</p>
|
||||||
|
<p><a class="btn btn-large btn-success" href="#">Get started today</a></p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="body-content">
|
||||||
|
|
||||||
|
<!-- Example row of columns -->
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-lg-4">
|
||||||
|
<h2>Heading</h2>
|
||||||
|
<p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. </p>
|
||||||
|
<p><a class="btn btn-primary" href="#">View details »</a></p>
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-4">
|
||||||
|
<h2>Heading</h2>
|
||||||
|
<p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. </p>
|
||||||
|
<p><a class="btn btn-primary" href="#">View details »</a></p>
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-4">
|
||||||
|
<h2>Heading</h2>
|
||||||
|
<p>Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Vestibulum id ligula porta felis euismod semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa.</p>
|
||||||
|
<p><a class="btn btn-primary" href="#">View details »</a></p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div><!-- /.body-content -->
|
||||||
|
|
||||||
|
<!-- Site footer -->
|
||||||
|
<div class="footer">
|
||||||
|
<p>© Company 2013</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div> <!-- /container -->
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Bootstrap core JavaScript
|
||||||
|
================================================== -->
|
||||||
|
<!-- Placed at the end of the document so the pages load faster -->
|
||||||
|
<script src="../../assets/js/respond.min.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,97 @@
|
|||||||
|
body {
|
||||||
|
padding-top: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Everything but the jumbotron gets side spacing for mobile-first views */
|
||||||
|
.masthead,
|
||||||
|
.footer {
|
||||||
|
padding-left: 15px;
|
||||||
|
padding-right: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer {
|
||||||
|
border-top: 1px solid #eee;
|
||||||
|
margin-top: 40px;
|
||||||
|
padding-top: 40px;
|
||||||
|
padding-bottom: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Main marketing message and sign up button */
|
||||||
|
.jumbotron {
|
||||||
|
text-align: center;
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
.jumbotron .btn {
|
||||||
|
font-size: 21px;
|
||||||
|
padding: 14px 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Customize the nav-justified links to be fill the entire space of the .navbar */
|
||||||
|
|
||||||
|
.nav-justified {
|
||||||
|
background-color: #eee;
|
||||||
|
border-radius: 5px;
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
}
|
||||||
|
.nav-justified > li > a {
|
||||||
|
padding-top: 15px;
|
||||||
|
padding-bottom: 15px;
|
||||||
|
color: #777;
|
||||||
|
font-weight: bold;
|
||||||
|
text-align: center;
|
||||||
|
border-bottom: 1px solid #d5d5d5;
|
||||||
|
background-color: #e5e5e5; /* Old browsers */
|
||||||
|
background-repeat: repeat-x; /* Repeat the gradient */
|
||||||
|
background-image: -moz-linear-gradient(top, #f5f5f5 0%, #e5e5e5 100%); /* FF3.6+ */
|
||||||
|
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f5f5f5), color-stop(100%,#e5e5e5)); /* Chrome,Safari4+ */
|
||||||
|
background-image: -webkit-linear-gradient(top, #f5f5f5 0%,#e5e5e5 100%); /* Chrome 10+,Safari 5.1+ */
|
||||||
|
background-image: -ms-linear-gradient(top, #f5f5f5 0%,#e5e5e5 100%); /* IE10+ */
|
||||||
|
background-image: -o-linear-gradient(top, #f5f5f5 0%,#e5e5e5 100%); /* Opera 11.10+ */
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f5f5f5', endColorstr='#e5e5e5',GradientType=0 ); /* IE6-9 */
|
||||||
|
background-image: linear-gradient(top, #f5f5f5 0%,#e5e5e5 100%); /* W3C */
|
||||||
|
}
|
||||||
|
.nav-justified > .active > a,
|
||||||
|
.nav-justified > .active > a:hover,
|
||||||
|
.nav-justified > .active > a:focus {
|
||||||
|
background-color: #ddd;
|
||||||
|
background-image: none;
|
||||||
|
box-shadow: inset 0 3px 7px rgba(0,0,0,.15);
|
||||||
|
}
|
||||||
|
.nav-justified > li:first-child > a {
|
||||||
|
border-radius: 5px 5px 0 0;
|
||||||
|
}
|
||||||
|
.nav-justified > li:last-child > a {
|
||||||
|
border-bottom: 0;
|
||||||
|
border-radius: 0 0 5px 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (min-width: 768px) {
|
||||||
|
.nav-justified {
|
||||||
|
max-height: 52px;
|
||||||
|
}
|
||||||
|
.nav-justified > li > a {
|
||||||
|
border-left: 1px solid #fff;
|
||||||
|
border-right: 1px solid #d5d5d5;
|
||||||
|
}
|
||||||
|
.nav-justified > li:first-child > a {
|
||||||
|
border-left: 0;
|
||||||
|
border-radius: 5px 0 0 5px;
|
||||||
|
}
|
||||||
|
.nav-justified > li:last-child > a {
|
||||||
|
border-radius: 0 5px 5px 0;
|
||||||
|
border-right: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* Responsive: Portrait tablets and up */
|
||||||
|
@media screen and (min-width: 768px) {
|
||||||
|
/* Remove the padding we set earlier */
|
||||||
|
.masthead,
|
||||||
|
.marketing,
|
||||||
|
.footer {
|
||||||
|
padding-left: 0;
|
||||||
|
padding-right: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,81 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="author" content="">
|
||||||
|
<link rel="shortcut icon" href="../../assets/ico/favicon.png">
|
||||||
|
|
||||||
|
<title>Fixed Top Navbar Example for Bootstrap</title>
|
||||||
|
|
||||||
|
<!-- Bootstrap core CSS -->
|
||||||
|
<link href="../../dist/css/bootstrap.css" rel="stylesheet">
|
||||||
|
|
||||||
|
<!-- Custom styles for this template -->
|
||||||
|
<link href="navbar-fixed-top.css" rel="stylesheet">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<!-- Fixed navbar -->
|
||||||
|
<div class="navbar navbar-fixed-top">
|
||||||
|
<div class="container">
|
||||||
|
<div class="navbar-header">
|
||||||
|
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
</button>
|
||||||
|
<a class="navbar-brand" href="#">Project name</a>
|
||||||
|
</div>
|
||||||
|
<div class="navbar-collapse collapse">
|
||||||
|
<ul class="nav navbar-nav">
|
||||||
|
<li class="active"><a href="#">Home</a></li>
|
||||||
|
<li><a href="#about">About</a></li>
|
||||||
|
<li><a href="#contact">Contact</a></li>
|
||||||
|
<li class="dropdown">
|
||||||
|
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
|
||||||
|
<ul class="dropdown-menu">
|
||||||
|
<li><a href="#">Action</a></li>
|
||||||
|
<li><a href="#">Another action</a></li>
|
||||||
|
<li><a href="#">Something else here</a></li>
|
||||||
|
<li class="divider"></li>
|
||||||
|
<li class="dropdown-header">Nav header</li>
|
||||||
|
<li><a href="#">Separated link</a></li>
|
||||||
|
<li><a href="#">One more separated link</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<ul class="nav navbar-nav navbar-right">
|
||||||
|
<li><a href="../navbar/">Default</a></li>
|
||||||
|
<li><a href="../navbar-static-top/">Static top</a></li>
|
||||||
|
<li class="active"><a href="./">Fixed top</a></li>
|
||||||
|
</ul>
|
||||||
|
</div><!--/.nav-collapse -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
|
||||||
|
<!-- Main component for a primary marketing message or call to action -->
|
||||||
|
<div class="jumbotron">
|
||||||
|
<h1>Navbar example</h1>
|
||||||
|
<p>This example is a quick exercise to illustrate how the default, static and fixed to top navbar work. It includes the responsive CSS and HTML, so it also adapts to your viewport and device.</p>
|
||||||
|
<p>To see the difference between static and fixed top navbars, just scroll.</p>
|
||||||
|
<p>
|
||||||
|
<a class="btn btn-large btn-primary" href="../../components/#navbar">View navbar docs »</a>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div> <!-- /container -->
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Bootstrap core JavaScript
|
||||||
|
================================================== -->
|
||||||
|
<!-- Placed at the end of the document so the pages load faster -->
|
||||||
|
<script src="../../assets/js/jquery.js"></script>
|
||||||
|
<script src="../../assets/js/respond.min.js"></script>
|
||||||
|
<script src="../../dist/js/bootstrap.min.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
body {
|
||||||
|
min-height: 2000px;
|
||||||
|
padding-top: 70px;
|
||||||
|
}
|
||||||
@@ -0,0 +1,82 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="author" content="">
|
||||||
|
<link rel="shortcut icon" href="../../assets/ico/favicon.png">
|
||||||
|
|
||||||
|
<title>Static Top Navbar Example for Bootstrap</title>
|
||||||
|
|
||||||
|
<!-- Bootstrap core CSS -->
|
||||||
|
<link href="../../dist/css/bootstrap.css" rel="stylesheet">
|
||||||
|
|
||||||
|
<!-- Custom styles for this template -->
|
||||||
|
<link href="navbar-static-top.css" rel="stylesheet">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<!-- Static navbar -->
|
||||||
|
<div class="navbar navbar-static-top">
|
||||||
|
<div class="container">
|
||||||
|
<div class="navbar-header">
|
||||||
|
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
</button>
|
||||||
|
<a class="navbar-brand" href="#">Project name</a>
|
||||||
|
</div>
|
||||||
|
<div class="navbar-collapse collapse">
|
||||||
|
<ul class="nav navbar-nav">
|
||||||
|
<li class="active"><a href="#">Home</a></li>
|
||||||
|
<li><a href="#about">About</a></li>
|
||||||
|
<li><a href="#contact">Contact</a></li>
|
||||||
|
<li class="dropdown">
|
||||||
|
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
|
||||||
|
<ul class="dropdown-menu">
|
||||||
|
<li><a href="#">Action</a></li>
|
||||||
|
<li><a href="#">Another action</a></li>
|
||||||
|
<li><a href="#">Something else here</a></li>
|
||||||
|
<li class="divider"></li>
|
||||||
|
<li class="dropdown-header">Nav header</li>
|
||||||
|
<li><a href="#">Separated link</a></li>
|
||||||
|
<li><a href="#">One more separated link</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<ul class="nav navbar-nav navbar-right">
|
||||||
|
<li><a href="../navbar/">Default</a></li>
|
||||||
|
<li class="active"><a href="./">Static top</a></li>
|
||||||
|
<li><a href="../navbar-fixed-top/">Fixed top</a></li>
|
||||||
|
</ul>
|
||||||
|
</div><!--/.nav-collapse -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
|
||||||
|
<!-- Main component for a primary marketing message or call to action -->
|
||||||
|
<div class="jumbotron">
|
||||||
|
<h1>Navbar example</h1>
|
||||||
|
<p>This example is a quick exercise to illustrate how the default, static and fixed to top navbar work. It includes the responsive CSS and HTML, so it also adapts to your viewport and device.</p>
|
||||||
|
<p>To see the difference between static and fixed top navbars, just scroll.</p>
|
||||||
|
<p>
|
||||||
|
<a class="btn btn-large btn-primary" href="../../components/#navbar">View navbar docs »</a>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div> <!-- /container -->
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Bootstrap core JavaScript
|
||||||
|
================================================== -->
|
||||||
|
<!-- Placed at the end of the document so the pages load faster -->
|
||||||
|
<script src="../../assets/js/jquery.js"></script>
|
||||||
|
<script src="../../assets/js/respond.min.js"></script>
|
||||||
|
<script src="../../dist/js/bootstrap.min.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
body {
|
||||||
|
min-height: 2000px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar-static-top {
|
||||||
|
margin-bottom: 19px;
|
||||||
|
}
|
||||||
@@ -0,0 +1,79 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="author" content="">
|
||||||
|
|
||||||
|
<title>Navbar Template for Bootstrap</title>
|
||||||
|
|
||||||
|
<!-- Bootstrap core CSS -->
|
||||||
|
<link href="../../dist/css/bootstrap.css" rel="stylesheet">
|
||||||
|
|
||||||
|
<!-- Custom styles for this template -->
|
||||||
|
<link href="navbar.css" rel="stylesheet">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
|
||||||
|
<!-- Static navbar -->
|
||||||
|
<div class="navbar">
|
||||||
|
<div class="container">
|
||||||
|
<div class="navbar-header">
|
||||||
|
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
</button>
|
||||||
|
<a class="navbar-brand" href="#">Project name</a>
|
||||||
|
</div>
|
||||||
|
<div class="navbar-collapse collapse">
|
||||||
|
<ul class="nav navbar-nav">
|
||||||
|
<li class="active"><a href="#">Home</a></li>
|
||||||
|
<li><a href="#about">About</a></li>
|
||||||
|
<li><a href="#contact">Contact</a></li>
|
||||||
|
<li class="dropdown">
|
||||||
|
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
|
||||||
|
<ul class="dropdown-menu">
|
||||||
|
<li><a href="#">Action</a></li>
|
||||||
|
<li><a href="#">Another action</a></li>
|
||||||
|
<li><a href="#">Something else here</a></li>
|
||||||
|
<li class="divider"></li>
|
||||||
|
<li class="dropdown-header">Nav header</li>
|
||||||
|
<li><a href="#">Separated link</a></li>
|
||||||
|
<li><a href="#">One more separated link</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<ul class="nav navbar-nav navbar-right">
|
||||||
|
<li class="active"><a href="./">Default</a></li>
|
||||||
|
<li><a href="../navbar-static-top/">Static top</a></li>
|
||||||
|
<li><a href="../navbar-fixed-top/">Fixed top</a></li>
|
||||||
|
</ul>
|
||||||
|
</div><!--/.nav-collapse -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Main component for a primary marketing message or call to action -->
|
||||||
|
<div class="jumbotron">
|
||||||
|
<h1>Navbar example</h1>
|
||||||
|
<p>This example is a quick exercise to illustrate how the default, static navbar and fixed to top navbar work. It includes the responsive CSS and HTML, so it also adapts to your viewport and device.</p>
|
||||||
|
<p>
|
||||||
|
<a class="btn btn-large btn-primary" href="../../components/#navbar">View navbar docs »</a>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div> <!-- /container -->
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Bootstrap core JavaScript
|
||||||
|
================================================== -->
|
||||||
|
<!-- Placed at the end of the document so the pages load faster -->
|
||||||
|
<script src="../../assets/js/jquery.js"></script>
|
||||||
|
<script src="../../assets/js/respond.min.js"></script>
|
||||||
|
<script src="../../dist/js/bootstrap.min.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
body {
|
||||||
|
padding: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar {
|
||||||
|
margin-bottom: 30px;
|
||||||
|
}
|
||||||
@@ -0,0 +1,47 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="author" content="">
|
||||||
|
|
||||||
|
<!-- Note there is no responsive meta tag here -->
|
||||||
|
|
||||||
|
<link rel="shortcut icon" href="../../assets/ico/favicon.png">
|
||||||
|
|
||||||
|
<title>Non-responsive Template for Bootstrap</title>
|
||||||
|
|
||||||
|
<!-- Bootstrap core CSS -->
|
||||||
|
<link href="../../dist/css/bootstrap.css" rel="stylesheet">
|
||||||
|
|
||||||
|
<!-- Custom styles for this template -->
|
||||||
|
<link href="non-responsive.css" rel="stylesheet">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<div class="container">
|
||||||
|
|
||||||
|
<div class="page-header">
|
||||||
|
<h1>Non-responsive Bootstrap</h1>
|
||||||
|
<p class="lead">Disable the responsiveness of Bootstrap by fixing the width of the container and using the first grid system tier.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h3>What changes</h3>
|
||||||
|
<p>Note the lack of the <code><meta name="viewport" content="width=device-width, initial-scale=1.0"></code>, which disables the zooming aspect of sites in mobile devices. In addition, we reset our container's width and are basically good to go.</p>
|
||||||
|
|
||||||
|
<h3>Non-responsive grid system</h3>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-xs-4">One third</div>
|
||||||
|
<div class="col-xs-4">One third</div>
|
||||||
|
<div class="col-xs-4">One third</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div> <!-- /container -->
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Bootstrap core JavaScript
|
||||||
|
================================================== -->
|
||||||
|
<!-- Placed at the end of the document so the pages load faster -->
|
||||||
|
<script src="../../assets/js/respond.min.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
.container {
|
||||||
|
max-width: none !important;
|
||||||
|
width: 970px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.col-xs-4 {
|
||||||
|
padding-top: 15px;
|
||||||
|
padding-bottom: 15px;
|
||||||
|
background-color: #eee;
|
||||||
|
border: 1px solid #ddd;
|
||||||
|
background-color: rgba(86,61,124,.15);
|
||||||
|
border: 1px solid rgba(86,61,124,.2);
|
||||||
|
}
|
||||||
@@ -0,0 +1,122 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="author" content="">
|
||||||
|
<link rel="shortcut icon" href="../../assets/ico/favicon.png">
|
||||||
|
|
||||||
|
<title>Off Canvas Template for Bootstrap</title>
|
||||||
|
|
||||||
|
<!-- Bootstrap core CSS -->
|
||||||
|
<link href="../../dist/css/bootstrap.min.css" rel="stylesheet">
|
||||||
|
|
||||||
|
<!-- Custom styles for this template -->
|
||||||
|
<link href="offcanvas.css" rel="stylesheet">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<div class="navbar navbar-fixed-top navbar-inverse" role="navigation">
|
||||||
|
<div class="container">
|
||||||
|
<div class="navbar-header">
|
||||||
|
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
</button>
|
||||||
|
<a class="navbar-brand" href="#">Project name</a>
|
||||||
|
</div>
|
||||||
|
<div class="collapse navbar-collapse">
|
||||||
|
<ul class="nav navbar-nav">
|
||||||
|
<li class="active"><a href="#">Home</a></li>
|
||||||
|
<li><a href="#about">About</a></li>
|
||||||
|
<li><a href="#contact">Contact</a></li>
|
||||||
|
</ul>
|
||||||
|
</div><!-- /.nav-collapse -->
|
||||||
|
</div><!-- /.container -->
|
||||||
|
</div><!-- /.navbar -->
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
|
||||||
|
<div class="row row-offcanvas row-offcanvas-right">
|
||||||
|
<div class="col-xs-12 col-sm-9">
|
||||||
|
<p class="pull-right visible-xs">
|
||||||
|
<button type="button" class="btn btn-primary btn-xs" data-toggle="offcanvas">Toggle nav</button>
|
||||||
|
</p>
|
||||||
|
<div class="jumbotron">
|
||||||
|
<h1>Hello, world!</h1>
|
||||||
|
<p>This is an example to show the potential of an offcanvas layout pattern in Bootstrap. Try some responsive-range viewport sizes to see it in action.</p>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-6 col-sm-6 col-lg-4">
|
||||||
|
<h2>Heading</h2>
|
||||||
|
<p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. </p>
|
||||||
|
<p><a class="btn btn-default" href="#">View details »</a></p>
|
||||||
|
</div><!--/span-->
|
||||||
|
<div class="col-6 col-sm-6 col-lg-4">
|
||||||
|
<h2>Heading</h2>
|
||||||
|
<p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. </p>
|
||||||
|
<p><a class="btn btn-default" href="#">View details »</a></p>
|
||||||
|
</div><!--/span-->
|
||||||
|
<div class="col-6 col-sm-6 col-lg-4">
|
||||||
|
<h2>Heading</h2>
|
||||||
|
<p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. </p>
|
||||||
|
<p><a class="btn btn-default" href="#">View details »</a></p>
|
||||||
|
</div><!--/span-->
|
||||||
|
<div class="col-6 col-sm-6 col-lg-4">
|
||||||
|
<h2>Heading</h2>
|
||||||
|
<p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. </p>
|
||||||
|
<p><a class="btn btn-default" href="#">View details »</a></p>
|
||||||
|
</div><!--/span-->
|
||||||
|
<div class="col-6 col-sm-6 col-lg-4">
|
||||||
|
<h2>Heading</h2>
|
||||||
|
<p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. </p>
|
||||||
|
<p><a class="btn btn-default" href="#">View details »</a></p>
|
||||||
|
</div><!--/span-->
|
||||||
|
<div class="col-6 col-sm-6 col-lg-4">
|
||||||
|
<h2>Heading</h2>
|
||||||
|
<p>Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. </p>
|
||||||
|
<p><a class="btn btn-default" href="#">View details »</a></p>
|
||||||
|
</div><!--/span-->
|
||||||
|
</div><!--/row-->
|
||||||
|
</div><!--/span-->
|
||||||
|
|
||||||
|
<div class="col-xs-6 col-sm-3 sidebar-offcanvas" id="sidebar" role="navigation">
|
||||||
|
<div class="well sidebar-nav">
|
||||||
|
<ul class="nav">
|
||||||
|
<li>Sidebar</li>
|
||||||
|
<li class="active"><a href="#">Link</a></li>
|
||||||
|
<li><a href="#">Link</a></li>
|
||||||
|
<li><a href="#">Link</a></li>
|
||||||
|
<li>Sidebar</li>
|
||||||
|
<li><a href="#">Link</a></li>
|
||||||
|
<li><a href="#">Link</a></li>
|
||||||
|
<li><a href="#">Link</a></li>
|
||||||
|
<li>Sidebar</li>
|
||||||
|
<li><a href="#">Link</a></li>
|
||||||
|
<li><a href="#">Link</a></li>
|
||||||
|
</ul>
|
||||||
|
</div><!--/.well -->
|
||||||
|
</div><!--/span-->
|
||||||
|
</div><!--/row-->
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
<footer>
|
||||||
|
<p>© Company 2013</p>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
</div><!--/.container-->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Bootstrap core JavaScript
|
||||||
|
================================================== -->
|
||||||
|
<!-- Placed at the end of the document so the pages load faster -->
|
||||||
|
<script src="../../assets/js/jquery.js"></script>
|
||||||
|
<script src="../../assets/js/respond.min.js"></script>
|
||||||
|
<script src="../../dist/js/bootstrap.min.js"></script>
|
||||||
|
<script src="offcanvas.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,48 @@
|
|||||||
|
/*
|
||||||
|
* Style twaks
|
||||||
|
* --------------------------------------------------
|
||||||
|
*/
|
||||||
|
body {
|
||||||
|
padding-top: 70px;
|
||||||
|
}
|
||||||
|
footer {
|
||||||
|
padding-left: 15px;
|
||||||
|
padding-right: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Off Canvas
|
||||||
|
* --------------------------------------------------
|
||||||
|
*/
|
||||||
|
@media screen and (max-width: 768px) {
|
||||||
|
.row-offcanvas {
|
||||||
|
position: relative;
|
||||||
|
-webkit-transition: all 0.25s ease-out;
|
||||||
|
-moz-transition: all 0.25s ease-out;
|
||||||
|
transition: all 0.25s ease-out;
|
||||||
|
}
|
||||||
|
|
||||||
|
.row-offcanvas-right
|
||||||
|
.sidebar-offcanvas {
|
||||||
|
right: -50%; /* 6 columns */
|
||||||
|
}
|
||||||
|
|
||||||
|
.row-offcanvas-left
|
||||||
|
.sidebar-offcanvas {
|
||||||
|
left: -50%; /* 6 columns */
|
||||||
|
}
|
||||||
|
|
||||||
|
.row-offcanvas-right.active {
|
||||||
|
right: 50%; /* 6 columns */
|
||||||
|
}
|
||||||
|
|
||||||
|
.row-offcanvas-left.active {
|
||||||
|
left: 50%; /* 6 columns */
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar-offcanvas {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
width: 50%; /* 6 columns */
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
$(document).ready(function() {
|
||||||
|
$('[data-toggle=offcanvas]').click(function() {
|
||||||
|
$('.row-offcanvas').toggleClass('active');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
After Width: | Height: | Size: 80 KiB |
|
After Width: | Height: | Size: 98 KiB |
|
After Width: | Height: | Size: 67 KiB |
|
After Width: | Height: | Size: 77 KiB |
|
After Width: | Height: | Size: 77 KiB |
|
After Width: | Height: | Size: 37 KiB |
|
After Width: | Height: | Size: 39 KiB |
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 43 KiB |
|
After Width: | Height: | Size: 110 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 38 KiB |
|
After Width: | Height: | Size: 24 KiB |
@@ -0,0 +1,41 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="author" content="">
|
||||||
|
<link rel="shortcut icon" href="../../assets/ico/favicon.png">
|
||||||
|
|
||||||
|
<title>Signin Template for Bootstrap</title>
|
||||||
|
|
||||||
|
<!-- Bootstrap core CSS -->
|
||||||
|
<link href="../../dist/css/bootstrap.css" rel="stylesheet">
|
||||||
|
|
||||||
|
<!-- Custom styles for this template -->
|
||||||
|
<link href="signin.css" rel="stylesheet">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
|
||||||
|
<form class="form-signin">
|
||||||
|
<h2 class="form-signin-heading">Please sign in</h2>
|
||||||
|
<input type="text" class="form-control" placeholder="Email address" autofocus>
|
||||||
|
<input type="password" class="form-control" placeholder="Password">
|
||||||
|
<label class="checkbox">
|
||||||
|
<input type="checkbox" value="remember-me"> Remember me
|
||||||
|
</label>
|
||||||
|
<button class="btn btn-large btn-primary btn-block" type="submit">Sign in</button>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
</div> <!-- /container -->
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Bootstrap core JavaScript
|
||||||
|
================================================== -->
|
||||||
|
<!-- Placed at the end of the document so the pages load faster -->
|
||||||
|
<script src="../../assets/js/respond.min.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
body {
|
||||||
|
padding-top: 40px;
|
||||||
|
padding-bottom: 40px;
|
||||||
|
background-color: #eee;
|
||||||
|
}
|
||||||
|
|
||||||
|
.form-signin {
|
||||||
|
max-width: 330px;
|
||||||
|
padding: 15px;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
.form-signin .form-signin-heading,
|
||||||
|
.form-signin .checkbox {
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
.form-signin .checkbox {
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
.form-signin .form-control {
|
||||||
|
position: relative;
|
||||||
|
font-size: 16px;
|
||||||
|
height: auto;
|
||||||
|
padding: 10px;
|
||||||
|
-webkit-box-sizing: border-box;
|
||||||
|
-moz-box-sizing: border-box;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
.form-signin .form-control:focus {
|
||||||
|
z-index: 2;
|
||||||
|
}
|
||||||
|
.form-signin input[type="text"] {
|
||||||
|
margin-bottom: -1px;
|
||||||
|
border-bottom-left-radius: 0;
|
||||||
|
border-bottom-right-radius: 0;
|
||||||
|
}
|
||||||
|
.form-signin input[type="password"] {
|
||||||
|
margin-bottom: 10px;
|
||||||
|
border-top-left-radius: 0;
|
||||||
|
border-top-right-radius: 0;
|
||||||
|
}
|
||||||
@@ -0,0 +1,58 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="author" content="">
|
||||||
|
<link rel="shortcut icon" href="../../assets/ico/favicon.png">
|
||||||
|
|
||||||
|
<title>Starter Template for Bootstrap</title>
|
||||||
|
|
||||||
|
<!-- Bootstrap core CSS -->
|
||||||
|
<link href="../../dist/css/bootstrap.css" rel="stylesheet">
|
||||||
|
|
||||||
|
<!-- Custom styles for this template -->
|
||||||
|
<link href="starter-template.css" rel="stylesheet">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div class="navbar navbar-inverse navbar-fixed-top">
|
||||||
|
<div class="container">
|
||||||
|
<div class="navbar-header">
|
||||||
|
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
</button>
|
||||||
|
<a class="navbar-brand" href="#">Project name</a>
|
||||||
|
</div>
|
||||||
|
<div class="collapse navbar-collapse">
|
||||||
|
<ul class="nav navbar-nav">
|
||||||
|
<li class="active"><a href="#">Home</a></li>
|
||||||
|
<li><a href="#about">About</a></li>
|
||||||
|
<li><a href="#contact">Contact</a></li>
|
||||||
|
</ul>
|
||||||
|
</div><!--/.nav-collapse -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
|
||||||
|
<div class="starter-template">
|
||||||
|
<h1>Bootstrap starter template</h1>
|
||||||
|
<p class="lead">Use this document as a way to quickly start any new project.<br> All you get is this text and a mostly barebones HTML document.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div><!-- /.container -->
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Bootstrap core JavaScript
|
||||||
|
================================================== -->
|
||||||
|
<!-- Placed at the end of the document so the pages load faster -->
|
||||||
|
<script src="../../assets/js/jquery.js"></script>
|
||||||
|
<script src="../../assets/js/respond.min.js"></script>
|
||||||
|
<script src="../../dist/js/bootstrap.min.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
body {
|
||||||
|
padding-top: 50px;
|
||||||
|
}
|
||||||
|
.starter-template {
|
||||||
|
padding: 40px 15px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
@@ -0,0 +1,81 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="author" content="">
|
||||||
|
<link rel="shortcut icon" href="../../assets/ico/favicon.png">
|
||||||
|
|
||||||
|
<title>Sticky Footer Navbar Template for Bootstrap</title>
|
||||||
|
|
||||||
|
<!-- Bootstrap core CSS -->
|
||||||
|
<link href="../../dist/css/bootstrap.css" rel="stylesheet">
|
||||||
|
|
||||||
|
<!-- Custom styles for this template -->
|
||||||
|
<link href="sticky-footer-navbar.css" rel="stylesheet">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<!-- Wrap all page content here -->
|
||||||
|
<div id="wrap">
|
||||||
|
|
||||||
|
<!-- Fixed navbar -->
|
||||||
|
<div class="navbar navbar-fixed-top">
|
||||||
|
<div class="container">
|
||||||
|
<div class="navbar-header">
|
||||||
|
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
</button>
|
||||||
|
<a class="navbar-brand" href="#">Project name</a>
|
||||||
|
</div>
|
||||||
|
<div class="collapse navbar-collapse">
|
||||||
|
<ul class="nav navbar-nav">
|
||||||
|
<li class="active"><a href="#">Home</a></li>
|
||||||
|
<li><a href="#about">About</a></li>
|
||||||
|
<li><a href="#contact">Contact</a></li>
|
||||||
|
<li class="dropdown">
|
||||||
|
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
|
||||||
|
<ul class="dropdown-menu">
|
||||||
|
<li><a href="#">Action</a></li>
|
||||||
|
<li><a href="#">Another action</a></li>
|
||||||
|
<li><a href="#">Something else here</a></li>
|
||||||
|
<li class="divider"></li>
|
||||||
|
<li class="dropdown-header">Nav header</li>
|
||||||
|
<li><a href="#">Separated link</a></li>
|
||||||
|
<li><a href="#">One more separated link</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div><!--/.nav-collapse -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Begin page content -->
|
||||||
|
<div class="container">
|
||||||
|
<div class="page-header">
|
||||||
|
<h1>Sticky footer with fixed navbar</h1>
|
||||||
|
</div>
|
||||||
|
<p class="lead">Pin a fixed-height footer to the bottom of the viewport in desktop browsers with this custom HTML and CSS. A fixed navbar has been added within <code>#wrap</code> with <code>padding-top: 60px;</code> on the <code>.container</code>.</p>
|
||||||
|
<p>Back to <a href="../sticky-footer">the default sticky footer</a> minus the navbar.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="footer">
|
||||||
|
<div class="container">
|
||||||
|
<p class="text-muted credit">Example courtesy <a href="http://martinbean.co.uk">Martin Bean</a> and <a href="http://ryanfait.com/sticky-footer/">Ryan Fait</a>.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Bootstrap core JavaScript
|
||||||
|
================================================== -->
|
||||||
|
<!-- Placed at the end of the document so the pages load faster -->
|
||||||
|
<script src="../../assets/js/jquery.js"></script>
|
||||||
|
<script src="../../assets/js/respond.min.js"></script>
|
||||||
|
<script src="../../dist/js/bootstrap.min.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
/* Sticky footer styles
|
||||||
|
-------------------------------------------------- */
|
||||||
|
|
||||||
|
html,
|
||||||
|
body {
|
||||||
|
height: 100%;
|
||||||
|
/* The html and body elements cannot have any padding or margin. */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Wrapper for page content to push down footer */
|
||||||
|
#wrap {
|
||||||
|
min-height: 100%;
|
||||||
|
height: auto !important;
|
||||||
|
height: 100%;
|
||||||
|
/* Negative indent footer by its height */
|
||||||
|
margin: 0 auto -60px;
|
||||||
|
/* Pad bottom by footer height */
|
||||||
|
padding: 0 0 60px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Set the fixed height of the footer here */
|
||||||
|
#footer {
|
||||||
|
height: 60px;
|
||||||
|
background-color: #f5f5f5;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Custom page CSS
|
||||||
|
-------------------------------------------------- */
|
||||||
|
/* Not required for template or sticky footer method. */
|
||||||
|
|
||||||
|
#wrap > .container {
|
||||||
|
padding: 60px 15px 0;
|
||||||
|
}
|
||||||
|
.container .credit {
|
||||||
|
margin: 20px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#footer > .container {
|
||||||
|
padding-left: 15px;
|
||||||
|
padding-right: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
code {
|
||||||
|
font-size: 80%;
|
||||||
|
}
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="author" content="">
|
||||||
|
<link rel="shortcut icon" href="../../assets/ico/favicon.png">
|
||||||
|
|
||||||
|
<title>Sticky Footer Template for Bootstrap</title>
|
||||||
|
|
||||||
|
<!-- Bootstrap core CSS -->
|
||||||
|
<link href="../../dist/css/bootstrap.css" rel="stylesheet">
|
||||||
|
|
||||||
|
<!-- Custom styles for this template -->
|
||||||
|
<link href="sticky-footer.css" rel="stylesheet">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<!-- Wrap all page content here -->
|
||||||
|
<div id="wrap">
|
||||||
|
|
||||||
|
<!-- Begin page content -->
|
||||||
|
<div class="container">
|
||||||
|
<div class="page-header">
|
||||||
|
<h1>Sticky footer</h1>
|
||||||
|
</div>
|
||||||
|
<p class="lead">Pin a fixed-height footer to the bottom of the viewport in desktop browsers with this custom HTML and CSS.</p>
|
||||||
|
<p>Use <a href="../sticky-footer-navbar">the sticky footer with a fixed navbar</a> if need be, too.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="footer">
|
||||||
|
<div class="container">
|
||||||
|
<p class="text-muted credit">Example courtesy <a href="http://martinbean.co.uk">Martin Bean</a> and <a href="http://ryanfait.com/sticky-footer/">Ryan Fait</a>.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Bootstrap core JavaScript
|
||||||
|
================================================== -->
|
||||||
|
<!-- Placed at the end of the document so the pages load faster -->
|
||||||
|
<script src="../../assets/js/respond.min.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
/* Sticky footer styles
|
||||||
|
-------------------------------------------------- */
|
||||||
|
|
||||||
|
html,
|
||||||
|
body {
|
||||||
|
height: 100%;
|
||||||
|
/* The html and body elements cannot have any padding or margin. */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Wrapper for page content to push down footer */
|
||||||
|
#wrap {
|
||||||
|
min-height: 100%;
|
||||||
|
height: auto !important;
|
||||||
|
height: 100%;
|
||||||
|
/* Negative indent footer by its height */
|
||||||
|
margin: 0 auto -60px;
|
||||||
|
/* Pad bottom by footer height */
|
||||||
|
padding: 0 0 60px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Set the fixed height of the footer here */
|
||||||
|
#footer {
|
||||||
|
height: 60px;
|
||||||
|
background-color: #f5f5f5;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Custom page CSS
|
||||||
|
-------------------------------------------------- */
|
||||||
|
/* Not required for template or sticky footer method. */
|
||||||
|
|
||||||
|
.container {
|
||||||
|
width: auto;
|
||||||
|
max-width: 680px;
|
||||||
|
padding: 0 15px;
|
||||||
|
}
|
||||||
|
.container .credit {
|
||||||
|
margin: 20px 0;
|
||||||
|
}
|
||||||
@@ -15,11 +15,16 @@ base_url: "../"
|
|||||||
</div>
|
</div>
|
||||||
<p class="lead">There are a few easy ways to quickly get started with Bootstrap, each one appealing to a different skill level and use case. Read through to see what suits your particular needs.</p>
|
<p class="lead">There are a few easy ways to quickly get started with Bootstrap, each one appealing to a different skill level and use case. Read through to see what suits your particular needs.</p>
|
||||||
|
|
||||||
|
<h3 id="download-source">Download latest full source</h3>
|
||||||
|
<p>Until Bootstrap 3.0.0 is finalized, download the latest full source code (includes compiled and minified versions of our CSS and JavaScript under the <code>dist/</code> directory).</p>
|
||||||
|
<p><a class="btn btn-lg btn-primary" href="{{ site.download }}" onclick="_gaq.push(['_trackEvent', 'Getting started', 'Download', 'Download source']);">Download latest Bootstrap 3</a></p>
|
||||||
|
<!--
|
||||||
<h3>Download compiled CSS and JS</h3>
|
<h3>Download compiled CSS and JS</h3>
|
||||||
<p class="lead">The fastest way to get started is to get the compiled and minified versions of our CSS and JavaScript. No documentation or original source files are included.</p>
|
<p class="lead">The fastest way to get started is to get the compiled and minified versions of our CSS and JavaScript. No documentation or original source files are included.</p>
|
||||||
<p><a class="btn btn-lg btn-primary" href="{{ site.download_dist }}" onclick="_gaq.push(['_trackEvent', 'Getting started', 'Download', 'Download compiled']);">Download Bootstrap</a></p>
|
<p><a class="btn btn-lg btn-primary" href="{{ site.download_dist }}" onclick="_gaq.push(['_trackEvent', 'Getting started', 'Download', 'Download compiled']);">Download Bootstrap</a></p>
|
||||||
|
-->
|
||||||
|
|
||||||
<h3 id="download-options">More download options</h3>
|
<h3 id="download-additional">Additional downloads</h3>
|
||||||
<div class="bs-docs-dl-options">
|
<div class="bs-docs-dl-options">
|
||||||
<h4>
|
<h4>
|
||||||
<a href="{{ site.download }}" onclick="_gaq.push(['_trackEvent', 'Getting started', 'Download', 'Download source']);">Download latest source code</a>
|
<a href="{{ site.download }}" onclick="_gaq.push(['_trackEvent', 'Getting started', 'Download', 'Download source']);">Download latest source code</a>
|
||||||
@@ -36,7 +41,7 @@ base_url: "../"
|
|||||||
{% highlight bash %}$ bower install bootstrap{% endhighlight %}
|
{% highlight bash %}$ bower install bootstrap{% endhighlight %}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<h3 id="download-cdn">Use the Bootstrap CDN</h3>
|
<h3 id="download-cdn">Bootstrap CDN</h3>
|
||||||
<p>The folks over at <a href="https://www.netdna.com/">NetDNA</a> have graciously provided CDN support for Bootstrap's CSS and JavaScript. To use, swap your local instances for the <a href="http://www.bootstrapcdn.com/">Bootstrap CDN</a> links listed below.</p>
|
<p>The folks over at <a href="https://www.netdna.com/">NetDNA</a> have graciously provided CDN support for Bootstrap's CSS and JavaScript. To use, swap your local instances for the <a href="http://www.bootstrapcdn.com/">Bootstrap CDN</a> links listed below.</p>
|
||||||
{% highlight html linenos %}
|
{% highlight html linenos %}
|
||||||
<!-- Latest compiled and minified CSS -->
|
<!-- Latest compiled and minified CSS -->
|
||||||
@@ -88,7 +93,7 @@ bootstrap/
|
|||||||
<div class="page-header">
|
<div class="page-header">
|
||||||
<h1 id="template">Basic template</h1>
|
<h1 id="template">Basic template</h1>
|
||||||
</div>
|
</div>
|
||||||
<p class="lead">Make use of a super basic HTML template, or dive into a <a href="{{ site.examples }}">few examples</a> we've started for you. We encourage folks to iterate on these examples and not simply use them as an end result.</p>
|
<p class="lead">Make use of a super basic HTML template, or dive into a <a href="../getting-started#examples">few examples</a> we've started for you. We encourage folks to iterate on these examples and not simply use them as an end result.</p>
|
||||||
|
|
||||||
<p>Copy and paste the HTML from below to get started with a bare bones Bootstrap document.</p>
|
<p>Copy and paste the HTML from below to get started with a bare bones Bootstrap document.</p>
|
||||||
{% highlight html %}
|
{% highlight html %}
|
||||||
@@ -103,8 +108,8 @@ bootstrap/
|
|||||||
<body>
|
<body>
|
||||||
<h1>Hello, world!</h1>
|
<h1>Hello, world!</h1>
|
||||||
|
|
||||||
<!-- JavaScript plugins (requires jQuery) -->
|
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
|
||||||
<script src="http://code.jquery.com/jquery.js"></script>
|
<script src="//code.jquery.com/jquery.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>
|
||||||
|
|
||||||
@@ -113,9 +118,196 @@ bootstrap/
|
|||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
{% endhighlight %}
|
{% endhighlight %}
|
||||||
|
</div>
|
||||||
|
|
||||||
<h3>Looking for more example templates?</h3>
|
|
||||||
<p>Check out the new <a href="{{ site.examples_repo }}">Examples repository on GitHub</a>, or <a href="{{ site.examples }}">view them in your browser</a>. Included are over a dozen example templates for building with and extending Bootstrap.</p>
|
|
||||||
|
<!-- Template
|
||||||
|
================================================== -->
|
||||||
|
<div class="bs-docs-section">
|
||||||
|
<div class="page-header">
|
||||||
|
<h1 id="examples">Examples</h1>
|
||||||
|
</div>
|
||||||
|
<p class="lead">Build on the basic template above with Bootstrap's many components. Check out some of the more advanced tips for how to customize and build on top of them.</p>
|
||||||
|
|
||||||
|
<div class="row bs-examples">
|
||||||
|
<div class="col-xs-6 col-md-4">
|
||||||
|
<a class="thumbnail" href="../examples/starter-template/">
|
||||||
|
<img src="../examples/screenshots/starter-template.jpg" alt="">
|
||||||
|
</a>
|
||||||
|
<h4>Starter template</h4>
|
||||||
|
<p>Nothing but the basics: compiled CSS and JavaScript along with a container.</p>
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-6 col-md-4">
|
||||||
|
<a class="thumbnail" href="../examples/grid/">
|
||||||
|
<img src="../examples/screenshots/grid.jpg" alt="">
|
||||||
|
</a>
|
||||||
|
<h4>Grids</h4>
|
||||||
|
<p>Multiple examples of grid layouts with all four tiers, nesting, and more.</p>
|
||||||
|
</div>
|
||||||
|
<div class="clearfix visible-xs"></div>
|
||||||
|
|
||||||
|
<div class="col-xs-6 col-md-4">
|
||||||
|
<a class="thumbnail" href="../examples/jumbotron/">
|
||||||
|
<img src="../examples/screenshots/jumbotron.jpg" alt="">
|
||||||
|
</a>
|
||||||
|
<h4>Jumbotron</h4>
|
||||||
|
<p>Build around the jumbotron with a navbar and some basic grid columns.</p>
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-6 col-md-4">
|
||||||
|
<a class="thumbnail" href="../examples/jumbotron-narrow/">
|
||||||
|
<img src="../examples/screenshots/jumbotron-narrow.jpg" alt="">
|
||||||
|
</a>
|
||||||
|
<h4>Narrow jumbotron</h4>
|
||||||
|
<p>Build a more custom page by narrowing the default container and jumbotron.</p>
|
||||||
|
</div>
|
||||||
|
<div class="clearfix visible-xs"></div>
|
||||||
|
|
||||||
|
<div class="col-xs-6 col-md-4">
|
||||||
|
<a class="thumbnail" href="../examples/navbar/">
|
||||||
|
<img src="../examples/screenshots/navbar.jpg" alt="">
|
||||||
|
</a>
|
||||||
|
<h4>Navbar</h4>
|
||||||
|
<p>Super basic template that includes the navbar along with some additional content.</p>
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-6 col-md-4">
|
||||||
|
<a class="thumbnail" href="../examples/navbar-static-top/">
|
||||||
|
<img src="../examples/screenshots/navbar-static.jpg" alt="">
|
||||||
|
</a>
|
||||||
|
<h4>Static top navbar</h4>
|
||||||
|
<p>Super basic template with a static top navbar along with some additional content.</p>
|
||||||
|
</div>
|
||||||
|
<div class="clearfix visible-xs"></div>
|
||||||
|
|
||||||
|
<div class="col-xs-6 col-md-4">
|
||||||
|
<a class="thumbnail" href="../examples/navbar-fixed-top/">
|
||||||
|
<img src="../examples/screenshots/navbar-fixed.jpg" alt="">
|
||||||
|
</a>
|
||||||
|
<h4>Fixed navbar</h4>
|
||||||
|
<p>Super basic template with a fixed top navbar along with some additional content.</p>
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-6 col-md-4">
|
||||||
|
<a class="thumbnail" href="../examples/signin/">
|
||||||
|
<img src="../examples/screenshots/sign-in.jpg" alt="">
|
||||||
|
</a>
|
||||||
|
<h4>Sign-in page</h4>
|
||||||
|
<p>Custom form layout and design for a simple sign in form.</p>
|
||||||
|
</div>
|
||||||
|
<div class="clearfix visible-xs"></div>
|
||||||
|
|
||||||
|
<div class="col-xs-6 col-md-4">
|
||||||
|
<a class="thumbnail" href="../examples/sticky-footer/">
|
||||||
|
<img src="../examples/screenshots/sticky-footer.jpg" alt="">
|
||||||
|
</a>
|
||||||
|
<h4>Sticky footer</h4>
|
||||||
|
<p>Attach a footer to the bottom of the viewport when the content is shorter than it.</p>
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-6 col-md-4">
|
||||||
|
<a class="thumbnail" href="../examples/sticky-footer-navbar/">
|
||||||
|
<img src="../examples/screenshots/sticky-footer-navbar.jpg" alt="">
|
||||||
|
</a>
|
||||||
|
<h4>Sticky footer with navbar</h4>
|
||||||
|
<p>Attach a footer to the bottom of the viewport with a fixed navbar at the top.</p>
|
||||||
|
</div>
|
||||||
|
<div class="clearfix visible-xs"></div>
|
||||||
|
|
||||||
|
<div class="col-xs-6 col-md-4">
|
||||||
|
<a class="thumbnail" href="../examples/justified-nav/">
|
||||||
|
<img src="../examples/screenshots/justified-nav.jpg" alt="">
|
||||||
|
</a>
|
||||||
|
<h4>Justified nav</h4>
|
||||||
|
<p>Expand on the default navbar and more to create justified navigation links.</p>
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-6 col-md-4">
|
||||||
|
<a class="thumbnail" href="../examples/offcanvas/">
|
||||||
|
<img src="../examples/screenshots/offcanvas.jpg" alt="">
|
||||||
|
</a>
|
||||||
|
<h4>Offcanvas</h4>
|
||||||
|
<p>Build a toggleable off-canvas navigation menu for use with Bootstrap.</p>
|
||||||
|
</div>
|
||||||
|
<div class="clearfix visible-xs"></div>
|
||||||
|
|
||||||
|
<div class="col-xs-6 col-md-4">
|
||||||
|
<a class="thumbnail" href="../examples/carousel/">
|
||||||
|
<img src="../examples/screenshots/carousel.jpg" alt="">
|
||||||
|
</a>
|
||||||
|
<h4>Carousel</h4>
|
||||||
|
<p>Customize the navbar and carousel, then add some new components.</p>
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-6 col-md-4">
|
||||||
|
<a class="thumbnail" href="../examples/non-responsive/">
|
||||||
|
<img src="../examples/screenshots/non-responsive.jpg" alt="">
|
||||||
|
</a>
|
||||||
|
<h4>Non-responsive Bootstrap</h4>
|
||||||
|
<p>Easily disable the responsiveness of Bootstrap <a href="../getting-started/#disable-responsive">per our docs</a>.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Template
|
||||||
|
================================================== -->
|
||||||
|
<div class="bs-docs-section">
|
||||||
|
<div class="page-header">
|
||||||
|
<h1 id="disable-responsive">Disabling responsiveness</h1>
|
||||||
|
</div>
|
||||||
|
<p class="lead">Don't want your site or application to be scale on different device? With a little bit of work, you can disable the responsive features of Bootstrap so that mobile users see your full desktop-version site.</p>
|
||||||
|
|
||||||
|
<h3>Steps to disable responsive views</h3>
|
||||||
|
<p>To disable responsive features, follow these steps. See it in action in the modified template below.</p>
|
||||||
|
<ol>
|
||||||
|
<li>Remove (or just don't add) the viewport <code><meta></code> mentioned in <a href="../css/#overview-mobile">the CSS docs</a></li>
|
||||||
|
<li>Remove the <code>max-width</code> on the <code>.container</code> for all grid tiers with <code>.container { max-width: none !important; }</code> and set a regular width like <code>width: 970px;</code>. Be sure that this comes after the default Bootstrap CSS. You can optionally avoid the <code>!important</code> with media queries or some selector-fu.</li>
|
||||||
|
<li>For grid layouts, make use of <code>.col-xs-*</code> classes in addition to or in place of the medium/large ones. Don't worry, the extra-small device grid scales up to all resolutions, so you're set there.</li>
|
||||||
|
</ol>
|
||||||
|
<p>You'll still need respond.js for IE8 (since our media queries are still there and need to be picked up). This just disables the "mobile site" of Bootstrap.</p>
|
||||||
|
|
||||||
|
<h3>Bootstrap template with disabled responsive</h3>
|
||||||
|
<p>We've taken the above steps and applied them to a basic template here. Note the steps above are called out in comments here, e.g. <code><-- 1. --></code>.</p>
|
||||||
|
{% highlight html %}
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>Disabling responsiveness in Bootstrap</title>
|
||||||
|
|
||||||
|
<!-- 1. Note there is no meta tag here -->
|
||||||
|
|
||||||
|
<!-- Load default Bootstrap -->
|
||||||
|
<link href="css/bootstrap.min.css" rel="stylesheet" media="screen">
|
||||||
|
|
||||||
|
<!-- 2. Add our custom CSS to set the container's fixed width -->
|
||||||
|
<style>
|
||||||
|
.container {
|
||||||
|
max-width: none !important;
|
||||||
|
width: 970px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<h1>Hello, world!</h1>
|
||||||
|
|
||||||
|
<!-- 3. When using grid columns, use the `.col-xs-*` classes -->
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-xs-4">One third</div>
|
||||||
|
<div class="col-xs-4">One third</div>
|
||||||
|
<div class="col-xs-4">One third</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
|
||||||
|
<script src="//code.jquery.com/jquery.js"></script>
|
||||||
|
|
||||||
|
<!-- Include all compiled plugins (below), or include individual files as needed -->
|
||||||
|
<script src="js/bootstrap.min.js"></script>
|
||||||
|
|
||||||
|
<!-- Enable responsive features in IE8 with Respond.js (https://github.com/scottjehl/Respond) -->
|
||||||
|
<script src="js/respond.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
{% endhighlight %}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
@@ -144,7 +336,7 @@ bootstrap/
|
|||||||
<p>In addition, <strong>Internet Explorer 8 requires the use of <a href="https://github.com/scottjehl/Respond">respond.js</a> to enable media query support.</strong></p>
|
<p>In addition, <strong>Internet Explorer 8 requires the use of <a href="https://github.com/scottjehl/Respond">respond.js</a> to enable media query support.</strong></p>
|
||||||
|
|
||||||
<h3>IE Compatibility modes</h3>
|
<h3>IE Compatibility modes</h3>
|
||||||
<p>Bootstrap is not supported in the old Internet Explorer compatibility modes. To be sure you're using the latest rendering mode for IE, consider including the appropriate <code>meta</code> tag in your pages.</p>
|
<p>Bootstrap is not supported in the old Internet Explorer compatibility modes. To be sure you're using the latest rendering mode for IE, consider including the appropriate <code>meta</code> tag in your pages:</p>
|
||||||
{% highlight html %}
|
{% highlight html %}
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
{% endhighlight %}
|
{% endhighlight %}
|
||||||
@@ -162,16 +354,31 @@ bootstrap/
|
|||||||
|
|
||||||
{% highlight js %}
|
{% highlight js %}
|
||||||
if (navigator.userAgent.match(/IEMobile\/10\.0/)) {
|
if (navigator.userAgent.match(/IEMobile\/10\.0/)) {
|
||||||
var msViewportStyle = document.createElement("style");
|
var msViewportStyle = document.createElement("style")
|
||||||
msViewportStyle.appendChild(
|
msViewportStyle.appendChild(
|
||||||
document.createTextNode(
|
document.createTextNode(
|
||||||
"@-ms-viewport{width:auto!important}"
|
"@-ms-viewport{width:auto!important}"
|
||||||
)
|
)
|
||||||
);
|
)
|
||||||
document.getElementsByTagName("head")[0].appendChild(msViewportStyle);
|
document.getElementsByTagName("head")[0].appendChild(msViewportStyle)
|
||||||
}
|
}
|
||||||
{% endhighlight %}
|
{% endhighlight %}
|
||||||
<p>For more information and usage guidelines, read <a href="http://timkadlec.com/2013/01/windows-phone-8-and-device-width/">Windows Phone 8 and Device-Width</a>.</p>
|
<p>For more information and usage guidelines, read <a href="http://timkadlec.com/2013/01/windows-phone-8-and-device-width/">Windows Phone 8 and Device-Width</a>.</p>
|
||||||
|
|
||||||
|
<h3>Safari percent rounding</h3>
|
||||||
|
<p>In the latest Safari for Mac, its rendering engine has a little trouble with the long decimal places of our <code>.col-*-1</code> grid classes, meaning if you have 12 individual columns you'll notice they come up short compared to other rows of columns. There's not much we can do here (<a href="https://github.com/twbs/bootstrap/issues/9282">see #9282</a>) but you do have some options:</p>
|
||||||
|
<ul>
|
||||||
|
<li>Add <code>.pull-right</code> to your last grid column to get the hard-right alignment</li>
|
||||||
|
<li>Tweak your percentages manually to get the perfect rounding for Safari (more difficult than the first option)</li>
|
||||||
|
</ul>
|
||||||
|
<p>We'll keep an eye on this though and update our code if we have an easy solution.</p>
|
||||||
|
|
||||||
|
<h3>Modals and mobile devices</h3>
|
||||||
|
<p>Support for <code>overflow: hidden</code> on the <code><body></code> element is quite limited in iOS and Android. To that end, when you scroll past the top or bottom of a modal in either of those devices' browsers, the <code><body></code> content will begin to scroll.</p>
|
||||||
|
<p>Also, note that if you're using inputs in your modal – iOS has a rendering bug which doesn't update the position of fixed elements when the virtual keyboard is triggered. There are a few work arounds for this including transforming your elements to position absolute or invoking a timer on focus to try to correct the positioning manually. This is not handled by Bootstrap, so it is up to you to decide which solution is best for your application.</p>
|
||||||
|
|
||||||
|
<h3>Browser zooming</h3>
|
||||||
|
<p>Page zooming inevitably presents rendering artifacts in some components, both in Bootstrap and the rest of the web. Depending on the issue, we may be able to fix it (search first and then open an issue if need be). However, we tend to ignore these as they often have no direct solution other than hacky workarounds.</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
@@ -182,7 +389,7 @@ if (navigator.userAgent.match(/IEMobile\/10\.0/)) {
|
|||||||
<div class="page-header">
|
<div class="page-header">
|
||||||
<h1 id="third-parties">Third party support</h1>
|
<h1 id="third-parties">Third party support</h1>
|
||||||
</div>
|
</div>
|
||||||
<p class="lead">While we don't officially support any third party plugins or add-ons, we do offer some helpful advice to help avoid potential issues in your projects.</p>
|
<p class="lead">While we don't officially support any third party plugins or add-ons, we do offer some useful advice to help avoid potential issues in your projects.</p>
|
||||||
|
|
||||||
<h3>Google Maps</h3>
|
<h3>Google Maps</h3>
|
||||||
<p>If you're using Google Maps on a Bootstrapped project, you might run into some display problems due to our use of <code>* { box-sizing: border-box; }</code>. Previously, you may have also ran into issues with the use of <code>max-width</code> on images. The following snippet should avoid all those problems.</p>
|
<p>If you're using Google Maps on a Bootstrapped project, you might run into some display problems due to our use of <code>* { box-sizing: border-box; }</code>. Previously, you may have also ran into issues with the use of <code>max-width</code> on images. The following snippet should avoid all those problems.</p>
|
||||||
@@ -206,6 +413,37 @@ img { max-width: none; }
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Accessibility
|
||||||
|
================================================== -->
|
||||||
|
<div class="bs-docs-section">
|
||||||
|
<div class="page-header">
|
||||||
|
<h1 id="accessibility">Accessibility</h1>
|
||||||
|
</div>
|
||||||
|
<p class="lead">Bootstrap follows common web standards, and with minimal extra effort, can be used to create sites that are accessibile to those using <abbr title="Assistive Technology" class="initialism">AT</abbr>.</p>
|
||||||
|
|
||||||
|
<h3>Skip navigation</h3>
|
||||||
|
<p>If your navigation contains many links and comes before the main content in the DOM, add a <code>Skip to content</code> link immediately after your opening <code><body></code> tag. <a href="http://a11yproject.com/posts/skip-nav-links/">(read why)</a></p>
|
||||||
|
{% highlight html %}
|
||||||
|
<body>
|
||||||
|
<a href="#content" class="sr-only">Skip to content</a>
|
||||||
|
<div class="container" id="content">
|
||||||
|
The main page content.
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
{% endhighlight %}
|
||||||
|
|
||||||
|
<h3>Nested headers</h3>
|
||||||
|
<p>Another "gotcha" has to do with how you nest your <code><header></code> elements. <a href="http://squizlabs.github.io/HTML_CodeSniffer/Standards/Section508/">Section 508</a> states that your largest header must be an <code>h1</code>, and the next header must be an <code><h2></code>, etc. This is hard to achieve in practice, but if the largest header on your site is smaller than Bootstrap's default 38px, you should consider modifying your stylesheets before using a smaller header element.</p>
|
||||||
|
|
||||||
|
<h3>Additional resources</h3>
|
||||||
|
<ul>
|
||||||
|
<li><a href="https://github.com/squizlabs/HTML_CodeSniffer">"HTML Codesniffer" bookmarklet for identifying accessibility issues</a></li>
|
||||||
|
<li><a href="http://a11yproject.com/">The A11Y Project</a></li>
|
||||||
|
<li><a href="https://developer.mozilla.org/en-US/docs/Accessibility">MDN accessibility documentation</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- License FAQs
|
<!-- License FAQs
|
||||||
================================================== -->
|
================================================== -->
|
||||||
@@ -318,7 +556,7 @@ img { max-width: none; }
|
|||||||
|
|
||||||
<div class="bs-callout bs-callout-info">
|
<div class="bs-callout bs-callout-info">
|
||||||
<h4>Alternate customization methods</h4>
|
<h4>Alternate customization methods</h4>
|
||||||
<p>While not recommended for folks new to Bootstrap, you may use one of two alternate methods for customization. The first is modifying the source .less files (making upgrades super difficult), and the second is mapping source LESS code to <a href="http://ruby.bvision.com/blog/please-stop-embedding-bootstrap-classes-in-your-html">your own classes via mixins</a>. For the time being, neither options are documented here.</p>
|
<p>While not recommended for folks new to Bootstrap, you may use one of two alternate methods for customization. The first is modifying the source .less files (making upgrades super difficult), and the second is mapping source LESS code to <a href="http://ruby.bvision.com/blog/please-stop-embedding-bootstrap-classes-in-your-html">your own classes via mixins</a>. For the time being, neither of those options are documented here.</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<h3>Removing potential bloat</h3>
|
<h3>Removing potential bloat</h3>
|
||||||
|
|||||||
@@ -4,13 +4,13 @@ title: Bootstrap
|
|||||||
base_url: "./"
|
base_url: "./"
|
||||||
---
|
---
|
||||||
|
|
||||||
<div class="bs-masthead">
|
<main class="bs-masthead" id="content" role="main">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<h1>Bootstrap 3</h1>
|
<h1>Bootstrap 3</h1>
|
||||||
<p class="lead">Sleek, intuitive, and powerful mobile-first front-end framework for faster and easier web development.</p>
|
<p class="lead">Sleek, intuitive, and powerful mobile-first front-end framework for faster and easier web development.</p>
|
||||||
<p>
|
<p>
|
||||||
<a href="{{ site.download }}" class="btn btn-outline btn-lg" onclick="_gaq.push(['_trackEvent', 'Jumbotron actions', 'Download', 'Download 3.0.0 RC1']);">Download latest BS3</a>
|
<a href="{{ site.download }}" class="btn btn-outline btn-lg" onclick="_gaq.push(['_trackEvent', 'Jumbotron actions', 'Download', 'Download 3.0.0 RC2']);">Download latest BS3</a>
|
||||||
</p>
|
</p>
|
||||||
<p><strong>Heads up!</strong> Downloads are pulled directly from the latest commited code on GitHub, and as a result our docs may at times be out of sync.</p>
|
<p><strong>Heads up!</strong> Downloads are pulled directly from the latest committed code on GitHub, and as a result our docs may at times be out of sync.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</main>
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ base_url: "../"
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<h3 id="js-individual-compiled">Individual or compiled</h3>
|
<h3 id="js-individual-compiled">Individual or compiled</h3>
|
||||||
<p>Plugins can be included individually (using Bootstrap's individual <code>*.js</code> files, or all at once (using <code>bootstrap.js</code> or the minified <code>bootstrap.min.js</code>.</p>
|
<p>Plugins can be included individually (using Bootstrap's individual <code>*.js</code> files), or all at once (using <code>bootstrap.js</code> or the minified <code>bootstrap.min.js</code>).</p>
|
||||||
|
|
||||||
<div class="bs-callout bs-callout-danger">
|
<div class="bs-callout bs-callout-danger">
|
||||||
<h4>Do not attempt to include both.</h4>
|
<h4>Do not attempt to include both.</h4>
|
||||||
@@ -196,7 +196,7 @@ $('#myModal').on('show.bs.modal', function (e) {
|
|||||||
<a data-toggle="modal" href="#myModal" class="btn btn-primary btn-lg">Launch demo modal</a>
|
<a data-toggle="modal" href="#myModal" class="btn btn-primary btn-lg">Launch demo modal</a>
|
||||||
|
|
||||||
<!-- Modal -->
|
<!-- Modal -->
|
||||||
<div class="modal fade" id="myModal">
|
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
|
||||||
<div class="modal-dialog">
|
<div class="modal-dialog">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
@@ -215,6 +215,17 @@ $('#myModal').on('show.bs.modal', function (e) {
|
|||||||
</div><!-- /.modal -->
|
</div><!-- /.modal -->
|
||||||
{% endhighlight %}
|
{% endhighlight %}
|
||||||
|
|
||||||
|
|
||||||
|
<div class="bs-callout bs-callout-warning">
|
||||||
|
<h4>Make modals accessible</h4>
|
||||||
|
<p>
|
||||||
|
Be sure to add <code>role="dialog"</code> to your primary modal div. In the example above, <code>div#myModal</code>.<br>
|
||||||
|
Also, the <code>aria-labelledby</code> attribute references your modal title. In this example, <code>h4#myModalLabel</code>.<br>
|
||||||
|
Finally, <code>aria-hidden="true"</code> tells assistive technologies to skip DOM elements.<br>
|
||||||
|
Additionally, you may give a description of your modal dialog. Use the <code>aria-describedby</code> attribute in the modal's primary <code><div></code> to point to this description (this is not shown in the above example).
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
<h2 id="modals-usage">Usage</h2>
|
<h2 id="modals-usage">Usage</h2>
|
||||||
|
|
||||||
<h3>Via data attributes</h3>
|
<h3>Via data attributes</h3>
|
||||||
@@ -262,7 +273,7 @@ $('#myModal').on('show.bs.modal', function (e) {
|
|||||||
<td>remote</td>
|
<td>remote</td>
|
||||||
<td>path</td>
|
<td>path</td>
|
||||||
<td>false</td>
|
<td>false</td>
|
||||||
<td><p>If a remote URL is provided, content will be loaded via jQuery's <code>load</code> method and injected into the <code>.modal-body</code>. If you're using the data api, you may alternatively use the <code>href</code> attribute to specify the remote source. An example of this is shown below:</p>
|
<td><p>If a remote URL is provided, content will be loaded via jQuery's <code>load</code> method and injected into the root of the modal element. If you're using the data api, you may alternatively use the <code>href</code> attribute to specify the remote source. An example of this is shown below:</p>
|
||||||
{% highlight html %}
|
{% highlight html %}
|
||||||
<a data-toggle="modal" href="remote.html" data-target="#modal">Click me</a>
|
<a data-toggle="modal" href="remote.html" data-target="#modal">Click me</a>
|
||||||
{% endhighlight %}
|
{% endhighlight %}
|
||||||
@@ -305,19 +316,19 @@ $('#myModal').modal({
|
|||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<td>show</td>
|
<td>show.bs.modal</td>
|
||||||
<td>This event fires immediately when the <code>show</code> instance method is called.</td>
|
<td>This event fires immediately when the <code>show</code> instance method is called.</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>shown</td>
|
<td>shown.bs.modal</td>
|
||||||
<td>This event is fired when the modal has been made visible to the user (will wait for CSS transitions to complete).</td>
|
<td>This event is fired when the modal has been made visible to the user (will wait for CSS transitions to complete).</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>hide</td>
|
<td>hide.bs.modal</td>
|
||||||
<td>This event is fired immediately when the <code>hide</code> instance method has been called.</td>
|
<td>This event is fired immediately when the <code>hide</code> instance method has been called.</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>hidden</td>
|
<td>hidden.bs.modal</td>
|
||||||
<td>This event is fired when the modal has finished being hidden from the user (will wait for CSS transitions to complete).</td>
|
<td>This event is fired when the modal has finished being hidden from the user (will wait for CSS transitions to complete).</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
@@ -344,52 +355,53 @@ $('#myModal').on('hidden.bs.modal', function () {
|
|||||||
|
|
||||||
<h3>Within a navbar</h3>
|
<h3>Within a navbar</h3>
|
||||||
<div class="bs-example">
|
<div class="bs-example">
|
||||||
<div id="navbar-example" class="navbar navbar-static">
|
<nav id="navbar-example" class="navbar navbar-static" role="navigation">
|
||||||
<div class="container" style="width: auto;">
|
<div class="navbar-header">
|
||||||
<a class="navbar-brand" href="#">Project Name</a>
|
|
||||||
<button class="navbar-toggle" type="button" data-toggle="collapse" data-target=".bs-js-navbar-collapse">
|
<button class="navbar-toggle" type="button" data-toggle="collapse" data-target=".bs-js-navbar-collapse">
|
||||||
|
<span class="sr-only">Toggle navigation</span>
|
||||||
<span class="icon-bar"></span>
|
<span class="icon-bar"></span>
|
||||||
<span class="icon-bar"></span>
|
<span class="icon-bar"></span>
|
||||||
<span class="icon-bar"></span>
|
<span class="icon-bar"></span>
|
||||||
</button>
|
</button>
|
||||||
<div class="nav-collapse collapse bs-js-navbar-collapse">
|
<a class="navbar-brand" href="#">Project Name</a>
|
||||||
<ul class="nav navbar-nav" role="navigation">
|
</div>
|
||||||
<li class="dropdown">
|
<div class="collapse navbar-collapse bs-js-navbar-collapse">
|
||||||
<a id="drop1" href="#" role="button" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
|
<ul class="nav navbar-nav">
|
||||||
<ul class="dropdown-menu" role="menu" aria-labelledby="drop1">
|
<li class="dropdown">
|
||||||
<li role="presentation"><a role="menuitem" tabindex="-1" href="http://twitter.com/fat">Action</a></li>
|
<a id="drop1" href="#" role="button" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
|
||||||
<li role="presentation"><a role="menuitem" tabindex="-1" href="http://twitter.com/fat">Another action</a></li>
|
<ul class="dropdown-menu" role="menu" aria-labelledby="drop1">
|
||||||
<li role="presentation"><a role="menuitem" tabindex="-1" href="http://twitter.com/fat">Something else here</a></li>
|
<li role="presentation"><a role="menuitem" tabindex="-1" href="http://twitter.com/fat">Action</a></li>
|
||||||
<li role="presentation" class="divider"></li>
|
<li role="presentation"><a role="menuitem" tabindex="-1" href="http://twitter.com/fat">Another action</a></li>
|
||||||
<li role="presentation"><a role="menuitem" tabindex="-1" href="http://twitter.com/fat">Separated link</a></li>
|
<li role="presentation"><a role="menuitem" tabindex="-1" href="http://twitter.com/fat">Something else here</a></li>
|
||||||
</ul>
|
<li role="presentation" class="divider"></li>
|
||||||
</li>
|
<li role="presentation"><a role="menuitem" tabindex="-1" href="http://twitter.com/fat">Separated link</a></li>
|
||||||
<li class="dropdown">
|
</ul>
|
||||||
<a href="#" id="drop2" role="button" class="dropdown-toggle" data-toggle="dropdown">Dropdown 2 <b class="caret"></b></a>
|
</li>
|
||||||
<ul class="dropdown-menu" role="menu" aria-labelledby="drop2">
|
<li class="dropdown">
|
||||||
<li role="presentation"><a role="menuitem" tabindex="-1" href="http://twitter.com/fat">Action</a></li>
|
<a href="#" id="drop2" role="button" class="dropdown-toggle" data-toggle="dropdown">Dropdown 2 <b class="caret"></b></a>
|
||||||
<li role="presentation"><a role="menuitem" tabindex="-1" href="http://twitter.com/fat">Another action</a></li>
|
<ul class="dropdown-menu" role="menu" aria-labelledby="drop2">
|
||||||
<li role="presentation"><a role="menuitem" tabindex="-1" href="http://twitter.com/fat">Something else here</a></li>
|
<li role="presentation"><a role="menuitem" tabindex="-1" href="http://twitter.com/fat">Action</a></li>
|
||||||
<li role="presentation" class="divider"></li>
|
<li role="presentation"><a role="menuitem" tabindex="-1" href="http://twitter.com/fat">Another action</a></li>
|
||||||
<li role="presentation"><a role="menuitem" tabindex="-1" href="http://twitter.com/fat">Separated link</a></li>
|
<li role="presentation"><a role="menuitem" tabindex="-1" href="http://twitter.com/fat">Something else here</a></li>
|
||||||
</ul>
|
<li role="presentation" class="divider"></li>
|
||||||
</li>
|
<li role="presentation"><a role="menuitem" tabindex="-1" href="http://twitter.com/fat">Separated link</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
<ul class="nav navbar-nav pull-right">
|
</li>
|
||||||
<li id="fat-menu" class="dropdown">
|
</ul>
|
||||||
<a href="#" id="drop3" role="button" class="dropdown-toggle" data-toggle="dropdown">Dropdown 3 <b class="caret"></b></a>
|
<ul class="nav navbar-nav navbar-right">
|
||||||
<ul class="dropdown-menu" role="menu" aria-labelledby="drop3">
|
<li id="fat-menu" class="dropdown">
|
||||||
<li role="presentation"><a role="menuitem" tabindex="-1" href="http://twitter.com/fat">Action</a></li>
|
<a href="#" id="drop3" role="button" class="dropdown-toggle" data-toggle="dropdown">Dropdown 3 <b class="caret"></b></a>
|
||||||
<li role="presentation"><a role="menuitem" tabindex="-1" href="http://twitter.com/fat">Another action</a></li>
|
<ul class="dropdown-menu" role="menu" aria-labelledby="drop3">
|
||||||
<li role="presentation"><a role="menuitem" tabindex="-1" href="http://twitter.com/fat">Something else here</a></li>
|
<li role="presentation"><a role="menuitem" tabindex="-1" href="http://twitter.com/fat">Action</a></li>
|
||||||
<li role="presentation" class="divider"></li>
|
<li role="presentation"><a role="menuitem" tabindex="-1" href="http://twitter.com/fat">Another action</a></li>
|
||||||
<li role="presentation"><a role="menuitem" tabindex="-1" href="http://twitter.com/fat">Separated link</a></li>
|
<li role="presentation"><a role="menuitem" tabindex="-1" href="http://twitter.com/fat">Something else here</a></li>
|
||||||
</ul>
|
<li role="presentation" class="divider"></li>
|
||||||
</li>
|
<li role="presentation"><a role="menuitem" tabindex="-1" href="http://twitter.com/fat">Separated link</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div><!-- /.nav-collapse -->
|
</li>
|
||||||
</div><!-- /.container -->
|
</ul>
|
||||||
</div> <!-- /navbar-example -->
|
</div><!-- /.nav-collapse -->
|
||||||
|
</nav> <!-- /navbar-example -->
|
||||||
</div> <!-- /example -->
|
</div> <!-- /example -->
|
||||||
|
|
||||||
<h3>Within tabs</h3>
|
<h3>Within tabs</h3>
|
||||||
@@ -466,10 +478,43 @@ $('.dropdown-toggle').dropdown()
|
|||||||
<h3>Methods</h3>
|
<h3>Methods</h3>
|
||||||
<h4>$().dropdown('toggle')</h4>
|
<h4>$().dropdown('toggle')</h4>
|
||||||
<p>Toggles the dropdown menu of a given navbar or tabbed navigation.</p>
|
<p>Toggles the dropdown menu of a given navbar or tabbed navigation.</p>
|
||||||
|
|
||||||
|
<h3>Events</h3>
|
||||||
|
<div class="bs-table-scrollable">
|
||||||
|
<table class="table table-bordered table-striped">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th style="width: 150px;">Event Type</th>
|
||||||
|
<th>Description</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>show.bs.dropdown</td>
|
||||||
|
<td>This event fires immediately when the show instance method is called.</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>shown.bs.dropdown</td>
|
||||||
|
<td>This event is fired when the dropdown has been made visible to the user (will wait for CSS transitions, to complete).</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>hide.bs.dropdown</td>
|
||||||
|
<td>This event is fired immediately when the hide instance method has been called.</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>hidden.bs.dropdown</td>
|
||||||
|
<td>This event is fired when the dropdown has finished being hidden from the user (will wait for CSS transitions, to complete).</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div><!-- ./bs-table-scrollable -->
|
||||||
|
{% highlight js %}
|
||||||
|
$('#myDropdown').on('show.bs.dropdown', function () {
|
||||||
|
// do something…
|
||||||
|
})
|
||||||
|
{% endhighlight %}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ScrollSpy
|
<!-- ScrollSpy
|
||||||
================================================== -->
|
================================================== -->
|
||||||
<div class="bs-docs-section">
|
<div class="bs-docs-section">
|
||||||
@@ -481,26 +526,32 @@ $('.dropdown-toggle').dropdown()
|
|||||||
<h2 id="scrollspy-examples">Example in navbar</h2>
|
<h2 id="scrollspy-examples">Example in navbar</h2>
|
||||||
<p>The ScrollSpy plugin is for automatically updating nav targets based on scroll position. Scroll the area below the navbar and watch the active class change. The dropdown sub items will be highlighted as well.</p>
|
<p>The ScrollSpy plugin is for automatically updating nav targets based on scroll position. Scroll the area below the navbar and watch the active class change. The dropdown sub items will be highlighted as well.</p>
|
||||||
<div class="bs-example">
|
<div class="bs-example">
|
||||||
<div id="navbar-example2" class="navbar navbar-static">
|
<nav id="navbar-example2" class="navbar navbar-static" role="navigation">
|
||||||
<div class="navbar-inner">
|
<div class="navbar-header">
|
||||||
<div class="container" style="width: auto;">
|
<button class="navbar-toggle" type="button" data-toggle="collapse" data-target=".bs-js-navbar-scrollspy">
|
||||||
<a class="navbar-brand" href="#">Project Name</a>
|
<span class="sr-only">Toggle navigation</span>
|
||||||
<ul class="nav navbar-nav">
|
<span class="icon-bar"></span>
|
||||||
<li><a href="#fat">@fat</a></li>
|
<span class="icon-bar"></span>
|
||||||
<li><a href="#mdo">@mdo</a></li>
|
<span class="icon-bar"></span>
|
||||||
<li class="dropdown">
|
</button>
|
||||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
|
<a class="navbar-brand" href="#">Project Name</a>
|
||||||
<ul class="dropdown-menu">
|
|
||||||
<li><a href="#one">one</a></li>
|
|
||||||
<li><a href="#two">two</a></li>
|
|
||||||
<li class="divider"></li>
|
|
||||||
<li><a href="#three">three</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="collapse navbar-collapse bs-js-navbar-scrollspy">
|
||||||
|
<ul class="nav navbar-nav">
|
||||||
|
<li><a href="#fat">@fat</a></li>
|
||||||
|
<li><a href="#mdo">@mdo</a></li>
|
||||||
|
<li class="dropdown">
|
||||||
|
<a href="#" id="navbarDrop1" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
|
||||||
|
<ul class="dropdown-menu" role="menu" aria-labelledby="navbarDrop1">
|
||||||
|
<li><a href="#one" tabindex="-1">one</a></li>
|
||||||
|
<li><a href="#two" tabindex="-1">two</a></li>
|
||||||
|
<li class="divider"></li>
|
||||||
|
<li><a href="#three" tabindex="-1">three</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
<div data-spy="scroll" data-target="#navbar-example2" data-offset="0" class="scrollspy-example">
|
<div data-spy="scroll" data-target="#navbar-example2" data-offset="0" class="scrollspy-example">
|
||||||
<h4 id="fat">@fat</h4>
|
<h4 id="fat">@fat</h4>
|
||||||
<p>Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.</p>
|
<p>Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.</p>
|
||||||
@@ -545,7 +596,7 @@ $('body').scrollspy({ target: '#navbar-example' })
|
|||||||
{% highlight js %}
|
{% highlight js %}
|
||||||
$('[data-spy="scroll"]').each(function () {
|
$('[data-spy="scroll"]').each(function () {
|
||||||
var $spy = $(this).scrollspy('refresh')
|
var $spy = $(this).scrollspy('refresh')
|
||||||
});
|
})
|
||||||
{% endhighlight %}
|
{% endhighlight %}
|
||||||
|
|
||||||
|
|
||||||
@@ -583,7 +634,7 @@ $('[data-spy="scroll"]').each(function () {
|
|||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<td>activate</td>
|
<td>activate.bs.scrollspy</td>
|
||||||
<td>This event fires whenever a new item becomes activated by the scrollspy.</td>
|
<td>This event fires whenever a new item becomes activated by the scrollspy.</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
@@ -612,10 +663,10 @@ $('#myScrollspy').on('activate.bs.scrollspy', function () {
|
|||||||
<li class="active"><a href="#home" data-toggle="tab">Home</a></li>
|
<li class="active"><a href="#home" data-toggle="tab">Home</a></li>
|
||||||
<li><a href="#profile" data-toggle="tab">Profile</a></li>
|
<li><a href="#profile" data-toggle="tab">Profile</a></li>
|
||||||
<li class="dropdown">
|
<li class="dropdown">
|
||||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
|
<a href="#" id="myTabDrop1" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
|
||||||
<ul class="dropdown-menu">
|
<ul class="dropdown-menu" role="menu" aria-labelledby="myTabDrop1">
|
||||||
<li><a href="#dropdown1" data-toggle="tab">@fat</a></li>
|
<li><a href="#dropdown1" tabindex="-1" data-toggle="tab">@fat</a></li>
|
||||||
<li><a href="#dropdown2" data-toggle="tab">@mdo</a></li>
|
<li><a href="#dropdown2" tabindex="-1" data-toggle="tab">@mdo</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
@@ -640,17 +691,17 @@ $('#myScrollspy').on('activate.bs.scrollspy', function () {
|
|||||||
<p>Enable tabbable tabs via JavaScript (each tab needs to be activated individually):</p>
|
<p>Enable tabbable tabs via JavaScript (each tab needs to be activated individually):</p>
|
||||||
{% highlight js %}
|
{% highlight js %}
|
||||||
$('#myTab a').click(function (e) {
|
$('#myTab a').click(function (e) {
|
||||||
e.preventDefault();
|
e.preventDefault()
|
||||||
$(this).tab('show');
|
$(this).tab('show')
|
||||||
})
|
})
|
||||||
{% endhighlight %}
|
{% endhighlight %}
|
||||||
|
|
||||||
<p>You can activate individual tabs in several ways:</p>
|
<p>You can activate individual tabs in several ways:</p>
|
||||||
{% highlight js %}
|
{% highlight js %}
|
||||||
$('#myTab a[href="#profile"]').tab('show'); // Select tab by name
|
$('#myTab a[href="#profile"]').tab('show') // Select tab by name
|
||||||
$('#myTab a:first').tab('show'); // Select first tab
|
$('#myTab a:first').tab('show') // Select first tab
|
||||||
$('#myTab a:last').tab('show'); // Select last tab
|
$('#myTab a:last').tab('show') // Select last tab
|
||||||
$('#myTab li:eq(2) a').tab('show'); // Select third tab (0-indexed)
|
$('#myTab li:eq(2) a').tab('show') // Select third tab (0-indexed)
|
||||||
{% endhighlight %}
|
{% endhighlight %}
|
||||||
|
|
||||||
<h3>Markup</h3>
|
<h3>Markup</h3>
|
||||||
@@ -688,7 +739,7 @@ $('#myTab li:eq(2) a').tab('show'); // Select third tab (0-indexed)
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
$(function () {
|
$(function () {
|
||||||
$('#myTab a:last').tab('show');
|
$('#myTab a:last').tab('show')
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
{% endhighlight %}
|
{% endhighlight %}
|
||||||
@@ -704,11 +755,11 @@ $('#myTab li:eq(2) a').tab('show'); // Select third tab (0-indexed)
|
|||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<td>show</td>
|
<td>show.bs.tab</td>
|
||||||
<td>This event fires on tab show, but before the new tab has been shown. Use <code>event.target</code> and <code>event.relatedTarget</code> to target the active tab and the previous active tab (if available) respectively.</td>
|
<td>This event fires on tab show, but before the new tab has been shown. Use <code>event.target</code> and <code>event.relatedTarget</code> to target the active tab and the previous active tab (if available) respectively.</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>shown</td>
|
<td>shown.bs.tab</td>
|
||||||
<td>This event fires on tab show after a tab has been shown. Use <code>event.target</code> and <code>event.relatedTarget</code> to target the active tab and the previous active tab (if available) respectively.</td>
|
<td>This event fires on tab show after a tab has been shown. Use <code>event.target</code> and <code>event.relatedTarget</code> to target the active tab and the previous active tab (if available) respectively.</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
@@ -873,19 +924,19 @@ $('#example').tooltip(options)
|
|||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<td>show</td>
|
<td>show.bs.tooltip</td>
|
||||||
<td>This event fires immediately when the <code>show</code> instance method is called.</td>
|
<td>This event fires immediately when the <code>show</code> instance method is called.</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>shown</td>
|
<td>shown.bs.tooltip</td>
|
||||||
<td>This event is fired when the tooltip has been made visible to the user (will wait for CSS transitions to complete).</td>
|
<td>This event is fired when the tooltip has been made visible to the user (will wait for CSS transitions to complete).</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>hide</td>
|
<td>hide.bs.tooltip</td>
|
||||||
<td>This event is fired immediately when the <code>hide</code> instance method has been called.</td>
|
<td>This event is fired immediately when the <code>hide</code> instance method has been called.</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>hidden</td>
|
<td>hidden.bs.tooltip</td>
|
||||||
<td>This event is fired when the tooltip has finished being hidden from the user (will wait for CSS transitions to complete).</td>
|
<td>This event is fired when the tooltip has finished being hidden from the user (will wait for CSS transitions to complete).</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
@@ -893,7 +944,7 @@ $('#example').tooltip(options)
|
|||||||
</div><!-- /.bs-table-scrollable -->
|
</div><!-- /.bs-table-scrollable -->
|
||||||
{% highlight js %}
|
{% highlight js %}
|
||||||
$('#myTooltip').on('hidden.bs.tooltip', function () {
|
$('#myTooltip').on('hidden.bs.tooltip', function () {
|
||||||
// do something…
|
// do something…
|
||||||
})
|
})
|
||||||
{% endhighlight %}
|
{% endhighlight %}
|
||||||
</div>
|
</div>
|
||||||
@@ -1053,7 +1104,7 @@ $('#myTooltip').on('hidden.bs.tooltip', function () {
|
|||||||
<td>string | false</td>
|
<td>string | false</td>
|
||||||
<td>false</td>
|
<td>false</td>
|
||||||
<td>
|
<td>
|
||||||
<p>Appends the popover to a specific element. Example: <code>container: 'body'</code></p>
|
<p>Appends the popover to a specific element. Example: <code>container: 'body'</code>. This option is particularly useful inthat 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>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
@@ -1097,19 +1148,19 @@ $('#myTooltip').on('hidden.bs.tooltip', function () {
|
|||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<td>show</td>
|
<td>show.bs.popover</td>
|
||||||
<td>This event fires immediately when the <code>show</code> instance method is called.</td>
|
<td>This event fires immediately when the <code>show</code> instance method is called.</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>shown</td>
|
<td>shown.bs.popover</td>
|
||||||
<td>This event is fired when the popover has been made visible to the user (will wait for CSS transitions to complete).</td>
|
<td>This event is fired when the popover has been made visible to the user (will wait for CSS transitions to complete).</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>hide</td>
|
<td>hide.bs.popover</td>
|
||||||
<td>This event is fired immediately when the <code>hide</code> instance method has been called.</td>
|
<td>This event is fired immediately when the <code>hide</code> instance method has been called.</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>hidden</td>
|
<td>hidden.bs.popover</td>
|
||||||
<td>This event is fired when the popover has finished being hidden from the user (will wait for CSS transitions to complete).</td>
|
<td>This event is fired when the popover has finished being hidden from the user (will wait for CSS transitions to complete).</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
@@ -1134,14 +1185,14 @@ $('#myPopover').on('hidden.bs.popover', function () {
|
|||||||
<p>Add dismiss functionality to all alert messages with this plugin.</p>
|
<p>Add dismiss functionality to all alert messages with this plugin.</p>
|
||||||
<div class="bs-example">
|
<div class="bs-example">
|
||||||
<div class="alert fade in">
|
<div class="alert fade in">
|
||||||
<button type="button" class="close" data-dismiss="alert">×</button>
|
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||||
<strong>Holy guacamole!</strong> Best check yo self, you're not looking too good.
|
<strong>Holy guacamole!</strong> Best check yo self, you're not looking too good.
|
||||||
</div>
|
</div>
|
||||||
</div><!-- /example -->
|
</div><!-- /example -->
|
||||||
|
|
||||||
<div class="bs-example">
|
<div class="bs-example">
|
||||||
<div class="alert alert-block alert-error fade in">
|
<div class="alert alert-block alert-danger fade in">
|
||||||
<button type="button" class="close" data-dismiss="alert">×</button>
|
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||||
<h4>Oh snap! You got an error!</h4>
|
<h4>Oh snap! You got an error!</h4>
|
||||||
<p>Change this and that and try again. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Cras mattis consectetur purus sit amet fermentum.</p>
|
<p>Change this and that and try again. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Cras mattis consectetur purus sit amet fermentum.</p>
|
||||||
<p>
|
<p>
|
||||||
@@ -1157,7 +1208,7 @@ $('#myPopover').on('hidden.bs.popover', function () {
|
|||||||
|
|
||||||
<h3>Markup</h3>
|
<h3>Markup</h3>
|
||||||
<p>Just add <code>data-dismiss="alert"</code> to your close button to automatically give an alert close functionality.</p>
|
<p>Just add <code>data-dismiss="alert"</code> to your close button to automatically give an alert close functionality.</p>
|
||||||
{% highlight html %}<a class="close" data-dismiss="alert" href="#">×</a>{% endhighlight %}
|
{% highlight html %}<a class="close" data-dismiss="alert" href="#" aria-hidden="true">×</a>{% endhighlight %}
|
||||||
|
|
||||||
<h3>Methods</h3>
|
<h3>Methods</h3>
|
||||||
|
|
||||||
@@ -1181,11 +1232,11 @@ $('#myPopover').on('hidden.bs.popover', function () {
|
|||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<td>close</td>
|
<td>close.bs.alert</td>
|
||||||
<td>This event fires immediately when the <code>close</code> instance method is called.</td>
|
<td>This event fires immediately when the <code>close</code> instance method is called.</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>closed</td>
|
<td>closed.bs.alert</td>
|
||||||
<td>This event is fired when the alert has been closed (will wait for CSS transitions to complete).</td>
|
<td>This event is fired when the alert has been closed (will wait for CSS transitions to complete).</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
@@ -1358,42 +1409,48 @@ $('.nav-tabs').button()
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<h2 id="collapse-examples">Example accordion</h2>
|
<h2 id="collapse-examples">Example accordion</h2>
|
||||||
<p>Using the collapse plugin, we built a simple accordion style widget:</p>
|
<p>Using the collapse plugin, we built a simple accordion by extending the panel component.</p>
|
||||||
|
|
||||||
<div class="bs-example">
|
<div class="bs-example">
|
||||||
<div class="accordion" id="accordion2">
|
<div class="panel-group" id="accordion">
|
||||||
<div class="accordion-group">
|
<div class="panel">
|
||||||
<div class="accordion-heading">
|
<div class="panel-heading">
|
||||||
<a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapseOne">
|
<h4 class="panel-title">
|
||||||
Collapsible Group Item #1
|
<a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion" href="#collapseOne">
|
||||||
</a>
|
Collapsible Group Item #1
|
||||||
|
</a>
|
||||||
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="collapseOne" class="accordion-body collapse in">
|
<div id="collapseOne" class="panel-collapse collapse in">
|
||||||
<div class="accordion-inner">
|
<div class="panel-body">
|
||||||
Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
|
Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="accordion-group">
|
<div class="panel">
|
||||||
<div class="accordion-heading">
|
<div class="panel-heading">
|
||||||
<a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapseTwo">
|
<h4 class="panel-title">
|
||||||
Collapsible Group Item #2
|
<a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion" href="#collapseTwo">
|
||||||
</a>
|
Collapsible Group Item #2
|
||||||
|
</a>
|
||||||
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="collapseTwo" class="accordion-body collapse">
|
<div id="collapseTwo" class="panel-collapse collapse">
|
||||||
<div class="accordion-inner">
|
<div class="panel-body">
|
||||||
Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
|
Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="accordion-group">
|
<div class="panel">
|
||||||
<div class="accordion-heading">
|
<div class="panel-heading">
|
||||||
<a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapseThree">
|
<h4 class="panel-title">
|
||||||
Collapsible Group Item #3
|
<a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion" href="#collapseThree">
|
||||||
</a>
|
Collapsible Group Item #3
|
||||||
|
</a>
|
||||||
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="collapseThree" class="accordion-body collapse">
|
<div id="collapseThree" class="panel-collapse collapse">
|
||||||
<div class="accordion-inner">
|
<div class="panel-body">
|
||||||
Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
|
Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -1401,40 +1458,46 @@ $('.nav-tabs').button()
|
|||||||
</div>
|
</div>
|
||||||
</div><!-- /example -->
|
</div><!-- /example -->
|
||||||
{% highlight html %}
|
{% highlight html %}
|
||||||
<div class="accordion" id="accordion2">
|
<div class="panel-group" id="accordion">
|
||||||
<div class="accordion-group">
|
<div class="panel">
|
||||||
<div class="accordion-heading">
|
<div class="panel-heading">
|
||||||
<a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapseOne">
|
<h4 class="panel-title">
|
||||||
Collapsible Group Item #1
|
<a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion" href="#collapseOne">
|
||||||
</a>
|
Collapsible Group Item #1
|
||||||
|
</a>
|
||||||
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="collapseOne" class="accordion-body collapse in">
|
<div id="collapseOne" class="panel-collapse collapse in">
|
||||||
<div class="accordion-inner">
|
<div class="panel-body">
|
||||||
...
|
Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="accordion-group">
|
<div class="panel">
|
||||||
<div class="accordion-heading">
|
<div class="panel-heading">
|
||||||
<a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapseTwo">
|
<h4 class="panel-title">
|
||||||
Collapsible Group Item #2
|
<a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion" href="#collapseTwo">
|
||||||
</a>
|
Collapsible Group Item #2
|
||||||
|
</a>
|
||||||
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="collapseTwo" class="accordion-body collapse">
|
<div id="collapseTwo" class="panel-collapse collapse">
|
||||||
<div class="accordion-inner">
|
<div class="panel-body">
|
||||||
...
|
Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="accordion-group">
|
<div class="panel">
|
||||||
<div class="accordion-heading">
|
<div class="panel-heading">
|
||||||
<a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapseThree">
|
<h4 class="panel-title">
|
||||||
Collapsible Group Item #3
|
<a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion" href="#collapseThree">
|
||||||
</a>
|
Collapsible Group Item #3
|
||||||
|
</a>
|
||||||
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div id="collapseThree" class="accordion-body collapse">
|
<div id="collapseThree" class="panel-collapse collapse">
|
||||||
<div class="accordion-inner">
|
<div class="panel-body">
|
||||||
...
|
Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -1523,21 +1586,21 @@ $('#myCollapsible').collapse({
|
|||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<td>show</td>
|
<td>show.bs.collapse</td>
|
||||||
<td>This event fires immediately when the <code>show</code> instance method is called.</td>
|
<td>This event fires immediately when the <code>show</code> instance method is called.</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>shown</td>
|
<td>shown.bs.collapse</td>
|
||||||
<td>This event is fired when a collapse element has been made visible to the user (will wait for CSS transitions to complete).</td>
|
<td>This event is fired when a collapse element has been made visible to the user (will wait for CSS transitions to complete).</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>hide</td>
|
<td>hide.bs.collapse</td>
|
||||||
<td>
|
<td>
|
||||||
This event is fired immediately when the <code>hide</code> method has been called.
|
This event is fired immediately when the <code>hide</code> method has been called.
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>hidden</td>
|
<td>hidden.bs.collapse</td>
|
||||||
<td>This event is fired when a collapse element has been hidden from the user (will wait for CSS transitions to complete).</td>
|
<td>This event is fired when a collapse element has been hidden from the user (will wait for CSS transitions to complete).</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
@@ -1570,13 +1633,13 @@ $('#myCollapsible').on('hidden.bs.collapse', function () {
|
|||||||
</ol>
|
</ol>
|
||||||
<div class="carousel-inner">
|
<div class="carousel-inner">
|
||||||
<div class="item active">
|
<div class="item active">
|
||||||
<img data-src="holder.js/900x500/auto/#777:#555/text:First slide" alt="">
|
<img src="data:image/png;base64," data-src="holder.js/900x500/auto/#777:#555/text:First slide" alt="First slide">
|
||||||
</div>
|
</div>
|
||||||
<div class="item">
|
<div class="item">
|
||||||
<img data-src="holder.js/900x500/auto/#666:#444/text:Second slide" alt="">
|
<img src="data:image/png;base64," data-src="holder.js/900x500/auto/#666:#444/text:Second slide" alt="Second slide">
|
||||||
</div>
|
</div>
|
||||||
<div class="item">
|
<div class="item">
|
||||||
<img data-src="holder.js/900x500/auto/#555:#333/text:Third slide" alt="">
|
<img src="data:image/png;base64," 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" data-slide="prev">
|
||||||
@@ -1599,7 +1662,7 @@ $('#myCollapsible').on('hidden.bs.collapse', function () {
|
|||||||
<!-- Wrapper for slides -->
|
<!-- Wrapper for slides -->
|
||||||
<div class="carousel-inner">
|
<div class="carousel-inner">
|
||||||
<div class="item active">
|
<div class="item active">
|
||||||
<img src="..." alt="">
|
<img src="..." alt="...">
|
||||||
<div class="carousel-caption">
|
<div class="carousel-caption">
|
||||||
...
|
...
|
||||||
</div>
|
</div>
|
||||||
@@ -1632,21 +1695,21 @@ $('#myCollapsible').on('hidden.bs.collapse', function () {
|
|||||||
</ol>
|
</ol>
|
||||||
<div class="carousel-inner">
|
<div class="carousel-inner">
|
||||||
<div class="item active">
|
<div class="item active">
|
||||||
<img data-src="holder.js/900x500/auto/#777:#777" alt="">
|
<img data-src="holder.js/900x500/auto/#777:#777" src="data:image/png;base64," alt="First slide image">
|
||||||
<div class="carousel-caption">
|
<div class="carousel-caption">
|
||||||
<h3>First slide label</h3>
|
<h3>First slide label</h3>
|
||||||
<p>Nulla vitae elit libero, a pharetra augue mollis interdum.</p>
|
<p>Nulla vitae elit libero, a pharetra augue mollis interdum.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="item">
|
<div class="item">
|
||||||
<img data-src="holder.js/900x500/auto/#666:#666" alt="">
|
<img data-src="holder.js/900x500/auto/#666:#666" src="data:image/png;base64," alt="Second slide image">
|
||||||
<div class="carousel-caption">
|
<div class="carousel-caption">
|
||||||
<h3>Second slide label</h3>
|
<h3>Second slide label</h3>
|
||||||
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
|
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="item">
|
<div class="item">
|
||||||
<img data-src="holder.js/900x500/auto/#555:#5555" alt="">
|
<img data-src="holder.js/900x500/auto/#555:#5555" src="data:image/png;base64," alt="Third slide image">
|
||||||
<div class="carousel-caption">
|
<div class="carousel-caption">
|
||||||
<h3>Third slide label</h3>
|
<h3>Third slide label</h3>
|
||||||
<p>Praesent commodo cursus magna, vel scelerisque nisl consectetur.</p>
|
<p>Praesent commodo cursus magna, vel scelerisque nisl consectetur.</p>
|
||||||
@@ -1663,7 +1726,7 @@ $('#myCollapsible').on('hidden.bs.collapse', function () {
|
|||||||
</div><!-- /example -->
|
</div><!-- /example -->
|
||||||
{% highlight html %}
|
{% highlight html %}
|
||||||
<div class="item active">
|
<div class="item active">
|
||||||
<img src="..." alt="">
|
<img src="..." alt="...">
|
||||||
<div class="carousel-caption">
|
<div class="carousel-caption">
|
||||||
<h3>...</h3>
|
<h3>...</h3>
|
||||||
<p>...</p>
|
<p>...</p>
|
||||||
@@ -1671,6 +1734,10 @@ $('#myCollapsible').on('hidden.bs.collapse', function () {
|
|||||||
</div>
|
</div>
|
||||||
{% endhighlight %}
|
{% endhighlight %}
|
||||||
|
|
||||||
|
<div class="bs-callout bs-callout-danger">
|
||||||
|
<h4>Accessibility issue</h4>
|
||||||
|
<p>The carousel component is generally not compliant with accessibility standards. If you need to be compliant, please consider other options for presenting your content.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
<h2 id="carousel-usage">Usage</h2>
|
<h2 id="carousel-usage">Usage</h2>
|
||||||
|
|
||||||
@@ -1708,6 +1775,12 @@ $('.carousel').carousel()
|
|||||||
<td>"hover"</td>
|
<td>"hover"</td>
|
||||||
<td>Pauses the cycling of the carousel on mouseenter and resumes the cycling of the carousel on mouseleave.</td>
|
<td>Pauses the cycling of the carousel on mouseenter and resumes the cycling of the carousel on mouseleave.</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>wrap</td>
|
||||||
|
<td>boolean</td>
|
||||||
|
<td>true</td>
|
||||||
|
<td>Whether the carousel should cycle continuously or have hard stops.</td>
|
||||||
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div><!-- /.bs-table-scrollable -->
|
</div><!-- /.bs-table-scrollable -->
|
||||||
@@ -1716,7 +1789,7 @@ $('.carousel').carousel()
|
|||||||
|
|
||||||
<h4>.carousel(options)</h4>
|
<h4>.carousel(options)</h4>
|
||||||
<p>Initializes the carousel with an optional options <code>object</code> and starts cycling through items.</p>
|
<p>Initializes the carousel with an optional options <code>object</code> and starts cycling through items.</p>
|
||||||
{% highlight html %}
|
{% highlight js %}
|
||||||
$('.carousel').carousel({
|
$('.carousel').carousel({
|
||||||
interval: 2000
|
interval: 2000
|
||||||
})
|
})
|
||||||
@@ -1750,11 +1823,11 @@ $('.carousel').carousel({
|
|||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<td>slide</td>
|
<td>slide.bs.carousel</td>
|
||||||
<td>This event fires immediately when the <code>slide</code> instance method is invoked.</td>
|
<td>This event fires immediately when the <code>slide</code> instance method is invoked.</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>slid</td>
|
<td>slid.bs.carousel</td>
|
||||||
<td>This event is fired when the carousel has completed its slide transition.</td>
|
<td>This event is fired when the carousel has completed its slide transition.</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
@@ -1830,7 +1903,7 @@ $('#myCarousel').on('slide.bs.carousel', function () {
|
|||||||
<td>offset</td>
|
<td>offset</td>
|
||||||
<td>number | function | object</td>
|
<td>number | function | object</td>
|
||||||
<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 left 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>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|||||||
@@ -41,6 +41,7 @@
|
|||||||
Carousel.DEFAULTS = {
|
Carousel.DEFAULTS = {
|
||||||
interval: 5000
|
interval: 5000
|
||||||
, pause: 'hover'
|
, pause: 'hover'
|
||||||
|
, wrap: true
|
||||||
}
|
}
|
||||||
|
|
||||||
Carousel.prototype.cycle = function (e) {
|
Carousel.prototype.cycle = function (e) {
|
||||||
@@ -105,12 +106,15 @@
|
|||||||
var fallback = type == 'next' ? 'first' : 'last'
|
var fallback = type == 'next' ? 'first' : 'last'
|
||||||
var that = this
|
var that = this
|
||||||
|
|
||||||
|
if (!$next.length) {
|
||||||
|
if (!this.options.wrap) return
|
||||||
|
$next = this.$element.find('.item')[fallback]()
|
||||||
|
}
|
||||||
|
|
||||||
this.sliding = true
|
this.sliding = true
|
||||||
|
|
||||||
isCycling && this.pause()
|
isCycling && this.pause()
|
||||||
|
|
||||||
$next = $next.length ? $next : this.$element.find('.item')[fallback]()
|
|
||||||
|
|
||||||
var e = $.Event('slide.bs.carousel', { relatedTarget: $next[0], direction: direction })
|
var e = $.Event('slide.bs.carousel', { relatedTarget: $next[0], direction: direction })
|
||||||
|
|
||||||
if ($next.hasClass('active')) return
|
if ($next.hasClass('active')) return
|
||||||
|
|||||||
@@ -48,7 +48,7 @@
|
|||||||
this.$element.trigger(startEvent)
|
this.$element.trigger(startEvent)
|
||||||
if (startEvent.isDefaultPrevented()) return
|
if (startEvent.isDefaultPrevented()) return
|
||||||
|
|
||||||
var actives = this.$parent && this.$parent.find('> .accordion-group > .in')
|
var actives = this.$parent && this.$parent.find('> .panel > .in')
|
||||||
|
|
||||||
if (actives && actives.length) {
|
if (actives && actives.length) {
|
||||||
var hasData = actives.data('bs.collapse')
|
var hasData = actives.data('bs.collapse')
|
||||||
@@ -169,7 +169,7 @@
|
|||||||
var $parent = parent && $(parent)
|
var $parent = parent && $(parent)
|
||||||
|
|
||||||
if (!data || !data.transitioning) {
|
if (!data || !data.transitioning) {
|
||||||
if ($parent) $parent.find('[data-toggle=collapse][data-parent=' + parent + ']').not($this).addClass('collapsed')
|
if ($parent) $parent.find('[data-toggle=collapse][data-parent="' + parent + '"]').not($this).addClass('collapsed')
|
||||||
$this[$target.hasClass('in') ? 'addClass' : 'removeClass']('collapsed')
|
$this[$target.hasClass('in') ? 'addClass' : 'removeClass']('collapsed')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -40,7 +40,7 @@
|
|||||||
clearMenus()
|
clearMenus()
|
||||||
|
|
||||||
if (!isActive) {
|
if (!isActive) {
|
||||||
if ('ontouchstart' in document.documentElement) {
|
if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) {
|
||||||
// if mobile we we use a backdrop because click events don't delegate
|
// if mobile we we use a backdrop because click events don't delegate
|
||||||
$('<div class="dropdown-backdrop"/>').insertAfter($(this)).on('click', clearMenus)
|
$('<div class="dropdown-backdrop"/>').insertAfter($(this)).on('click', clearMenus)
|
||||||
}
|
}
|
||||||
@@ -52,9 +52,9 @@
|
|||||||
$parent
|
$parent
|
||||||
.toggleClass('open')
|
.toggleClass('open')
|
||||||
.trigger('shown.bs.dropdown')
|
.trigger('shown.bs.dropdown')
|
||||||
}
|
|
||||||
|
|
||||||
$this.focus()
|
$this.focus()
|
||||||
|
}
|
||||||
|
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,11 +25,11 @@
|
|||||||
|
|
||||||
var Modal = function (element, options) {
|
var Modal = function (element, options) {
|
||||||
this.options = options
|
this.options = options
|
||||||
this.$element = $(element).on('click.dismiss.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this))
|
this.$element = $(element)
|
||||||
this.$backdrop =
|
this.$backdrop =
|
||||||
this.isShown = null
|
this.isShown = null
|
||||||
|
|
||||||
if (this.options.remote) this.$element.find('.modal-body').load(this.options.remote)
|
if (this.options.remote) this.$element.load(this.options.remote)
|
||||||
}
|
}
|
||||||
|
|
||||||
Modal.DEFAULTS = {
|
Modal.DEFAULTS = {
|
||||||
@@ -38,13 +38,13 @@
|
|||||||
, show: true
|
, show: true
|
||||||
}
|
}
|
||||||
|
|
||||||
Modal.prototype.toggle = function () {
|
Modal.prototype.toggle = function (_relatedTarget) {
|
||||||
return this[!this.isShown ? 'show' : 'hide']()
|
return this[!this.isShown ? 'show' : 'hide'](_relatedTarget)
|
||||||
}
|
}
|
||||||
|
|
||||||
Modal.prototype.show = function () {
|
Modal.prototype.show = function (_relatedTarget) {
|
||||||
var that = this
|
var that = this
|
||||||
var e = $.Event('show.bs.modal')
|
var e = $.Event('show.bs.modal', { relatedTarget: _relatedTarget })
|
||||||
|
|
||||||
this.$element.trigger(e)
|
this.$element.trigger(e)
|
||||||
|
|
||||||
@@ -54,6 +54,8 @@
|
|||||||
|
|
||||||
this.escape()
|
this.escape()
|
||||||
|
|
||||||
|
this.$element.on('click.dismiss.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this))
|
||||||
|
|
||||||
this.backdrop(function () {
|
this.backdrop(function () {
|
||||||
var transition = $.support.transition && that.$element.hasClass('fade')
|
var transition = $.support.transition && that.$element.hasClass('fade')
|
||||||
|
|
||||||
@@ -73,13 +75,15 @@
|
|||||||
|
|
||||||
that.enforceFocus()
|
that.enforceFocus()
|
||||||
|
|
||||||
|
var e = $.Event('shown.bs.modal', { relatedTarget: _relatedTarget })
|
||||||
|
|
||||||
transition ?
|
transition ?
|
||||||
that.$element
|
that.$element.find('.modal-dialog') // wait for modal to slide in
|
||||||
.one($.support.transition.end, function () {
|
.one($.support.transition.end, function () {
|
||||||
that.$element.focus().trigger('shown.bs.modal')
|
that.$element.focus().trigger(e)
|
||||||
})
|
})
|
||||||
.emulateTransitionEnd(300) :
|
.emulateTransitionEnd(300) :
|
||||||
that.$element.focus().trigger('shown.bs.modal')
|
that.$element.focus().trigger(e)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -101,6 +105,7 @@
|
|||||||
this.$element
|
this.$element
|
||||||
.removeClass('in')
|
.removeClass('in')
|
||||||
.attr('aria-hidden', true)
|
.attr('aria-hidden', true)
|
||||||
|
.off('click.dismiss.modal')
|
||||||
|
|
||||||
$.support.transition && this.$element.hasClass('fade') ?
|
$.support.transition && this.$element.hasClass('fade') ?
|
||||||
this.$element
|
this.$element
|
||||||
@@ -153,7 +158,7 @@
|
|||||||
this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />')
|
this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />')
|
||||||
.appendTo(document.body)
|
.appendTo(document.body)
|
||||||
|
|
||||||
this.$element.on('click', $.proxy(function (e) {
|
this.$element.on('click.dismiss.modal', $.proxy(function (e) {
|
||||||
if (e.target !== e.currentTarget) return
|
if (e.target !== e.currentTarget) return
|
||||||
this.options.backdrop == 'static'
|
this.options.backdrop == 'static'
|
||||||
? this.$element[0].focus.call(this.$element[0])
|
? this.$element[0].focus.call(this.$element[0])
|
||||||
@@ -192,15 +197,15 @@
|
|||||||
|
|
||||||
var old = $.fn.modal
|
var old = $.fn.modal
|
||||||
|
|
||||||
$.fn.modal = function (option) {
|
$.fn.modal = function (option, _relatedTarget) {
|
||||||
return this.each(function () {
|
return this.each(function () {
|
||||||
var $this = $(this)
|
var $this = $(this)
|
||||||
var data = $this.data('bs.modal')
|
var data = $this.data('bs.modal')
|
||||||
var options = $.extend({}, Modal.DEFAULTS, $this.data(), typeof option == 'object' && option)
|
var options = $.extend({}, Modal.DEFAULTS, $this.data(), typeof option == 'object' && option)
|
||||||
|
|
||||||
if (!data) $this.data('bs.modal', (data = new Modal(this, options)))
|
if (!data) $this.data('bs.modal', (data = new Modal(this, options)))
|
||||||
if (typeof option == 'string') data[option]()
|
if (typeof option == 'string') data[option](_relatedTarget)
|
||||||
else if (options.show) data.show()
|
else if (options.show) data.show(_relatedTarget)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -223,21 +228,19 @@
|
|||||||
var $this = $(this)
|
var $this = $(this)
|
||||||
var href = $this.attr('href')
|
var href = $this.attr('href')
|
||||||
var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) //strip for ie7
|
var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) //strip for ie7
|
||||||
var option = $target.data('modal') ? 'toggle' : $.extend({ remote:!/#/.test(href) && href }, $target.data(), $this.data())
|
var option = $target.data('modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data())
|
||||||
|
|
||||||
e.preventDefault()
|
e.preventDefault()
|
||||||
|
|
||||||
$target
|
$target
|
||||||
.modal(option)
|
.modal(option, this)
|
||||||
.one('hide', function () {
|
.one('hide', function () {
|
||||||
$this.is(':visible') && $this.focus()
|
$this.is(':visible') && $this.focus()
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
$(function () {
|
$(document)
|
||||||
var $body = $(document.body)
|
.on('show.bs.modal', '.modal', function () { $(document.body).addClass('modal-open') })
|
||||||
.on('shown.bs.modal', '.modal', function () { $body.addClass('modal-open') })
|
.on('hidden.bs.modal', '.modal', function () { $(document.body).removeClass('modal-open') })
|
||||||
.on('hidden.bs.modal', '.modal', function () { $body.removeClass('modal-open') })
|
|
||||||
})
|
|
||||||
|
|
||||||
}(window.jQuery);
|
}(window.jQuery);
|
||||||
|
|||||||
@@ -58,13 +58,9 @@
|
|||||||
|
|
||||||
$tip.removeClass('fade top bottom left right in')
|
$tip.removeClass('fade top bottom left right in')
|
||||||
|
|
||||||
// Hide empty titles
|
|
||||||
//
|
|
||||||
// IE8 doesn't accept hiding via the `:empty` pseudo selector, we have to do
|
// IE8 doesn't accept hiding via the `:empty` pseudo selector, we have to do
|
||||||
// this manually by checking the contents.
|
// this manually by checking the contents.
|
||||||
if ($tip.find('.popover-title').html() === '') {
|
if (!$tip.find('.popover-title').html()) $tip.find('.popover-title').hide()
|
||||||
$tip.find('.popover-title').hide();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Popover.prototype.hasContent = function () {
|
Popover.prototype.hasContent = function () {
|
||||||
|
|||||||
@@ -126,4 +126,39 @@ $(function () {
|
|||||||
target3.click()
|
target3.click()
|
||||||
})
|
})
|
||||||
|
|
||||||
|
test("should allow dots in data-parent", function () {
|
||||||
|
$.support.transition = false
|
||||||
|
stop()
|
||||||
|
|
||||||
|
var accordion = $('<div class="accordion"><div class="accordion-group"></div><div class="accordion-group"></div><div class="accordion-group"></div></div>')
|
||||||
|
.appendTo($('#qunit-fixture'))
|
||||||
|
|
||||||
|
var target1 = $('<a data-toggle="collapse" href="#body1" data-parent=".accordion"></a>')
|
||||||
|
.appendTo(accordion.find('.accordion-group').eq(0))
|
||||||
|
|
||||||
|
var collapsible1 = $('<div id="body1" class="in"></div>')
|
||||||
|
.appendTo(accordion.find('.accordion-group').eq(0))
|
||||||
|
|
||||||
|
var target2 = $('<a class="collapsed" data-toggle="collapse" href="#body2" data-parent=".accordion"></a>')
|
||||||
|
.appendTo(accordion.find('.accordion-group').eq(1))
|
||||||
|
|
||||||
|
var collapsible2 = $('<div id="body2"></div>')
|
||||||
|
.appendTo(accordion.find('.accordion-group').eq(1))
|
||||||
|
|
||||||
|
var target3 = $('<a class="collapsed" data-toggle="collapse" href="#body3" data-parent=".accordion"></a>')
|
||||||
|
.appendTo(accordion.find('.accordion-group').eq(2))
|
||||||
|
|
||||||
|
var collapsible3 = $('<div id="body3"></div>')
|
||||||
|
.appendTo(accordion.find('.accordion-group').eq(2))
|
||||||
|
.on('show.bs.collapse', function () {
|
||||||
|
ok(target1.hasClass('collapsed'))
|
||||||
|
ok(target2.hasClass('collapsed'))
|
||||||
|
ok(!target3.hasClass('collapsed'))
|
||||||
|
|
||||||
|
start()
|
||||||
|
})
|
||||||
|
|
||||||
|
target3.click()
|
||||||
|
})
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -1,156 +1,196 @@
|
|||||||
$(function () {
|
$(function () {
|
||||||
|
|
||||||
module("modal")
|
module("modal")
|
||||||
|
|
||||||
test("should provide no conflict", function () {
|
test("should provide no conflict", function () {
|
||||||
var modal = $.fn.modal.noConflict()
|
var modal = $.fn.modal.noConflict()
|
||||||
ok(!$.fn.modal, 'modal was set back to undefined (org value)')
|
ok(!$.fn.modal, 'modal was set back to undefined (org value)')
|
||||||
$.fn.modal = modal
|
$.fn.modal = modal
|
||||||
})
|
})
|
||||||
|
|
||||||
test("should be defined on jquery object", function () {
|
test("should be defined on jquery object", function () {
|
||||||
var div = $("<div id='modal-test'></div>")
|
var div = $("<div id='modal-test'></div>")
|
||||||
ok(div.modal, 'modal method is defined')
|
ok(div.modal, 'modal method is defined')
|
||||||
})
|
})
|
||||||
|
|
||||||
test("should return element", function () {
|
test("should return element", function () {
|
||||||
var div = $("<div id='modal-test'></div>")
|
var div = $("<div id='modal-test'></div>")
|
||||||
ok(div.modal() == div, 'document.body returned')
|
ok(div.modal() == div, 'document.body returned')
|
||||||
$('#modal-test').remove()
|
$('#modal-test').remove()
|
||||||
})
|
})
|
||||||
|
|
||||||
test("should expose defaults var for settings", function () {
|
test("should expose defaults var for settings", function () {
|
||||||
ok($.fn.modal.Constructor.DEFAULTS, 'default object exposed')
|
ok($.fn.modal.Constructor.DEFAULTS, 'default object exposed')
|
||||||
})
|
})
|
||||||
|
|
||||||
test("should insert into dom when show method is called", function () {
|
test("should insert into dom when show method is called", function () {
|
||||||
stop()
|
stop()
|
||||||
$.support.transition = false
|
$.support.transition = false
|
||||||
$("<div id='modal-test'></div>")
|
$("<div id='modal-test'></div>")
|
||||||
.on("shown.bs.modal", function () {
|
.on("shown.bs.modal", function () {
|
||||||
ok($('#modal-test').length, 'modal inserted into dom')
|
ok($('#modal-test').length, 'modal inserted into dom')
|
||||||
$(this).remove()
|
$(this).remove()
|
||||||
|
start()
|
||||||
|
})
|
||||||
|
.modal("show")
|
||||||
|
})
|
||||||
|
|
||||||
|
test("should fire show event", function () {
|
||||||
|
stop()
|
||||||
|
$.support.transition = false
|
||||||
|
$("<div id='modal-test'></div>")
|
||||||
|
.on("show.bs.modal", function () {
|
||||||
|
ok(true, "show was called")
|
||||||
|
})
|
||||||
|
.on("shown.bs.modal", function () {
|
||||||
|
$(this).remove()
|
||||||
|
start()
|
||||||
|
})
|
||||||
|
.modal("show")
|
||||||
|
})
|
||||||
|
|
||||||
|
test("should not fire shown when default prevented", function () {
|
||||||
|
stop()
|
||||||
|
$.support.transition = false
|
||||||
|
$("<div id='modal-test'></div>")
|
||||||
|
.on("show.bs.modal", function (e) {
|
||||||
|
e.preventDefault()
|
||||||
|
ok(true, "show was called")
|
||||||
|
start()
|
||||||
|
})
|
||||||
|
.on("shown.bs.modal", function () {
|
||||||
|
ok(false, "shown was called")
|
||||||
|
})
|
||||||
|
.modal("show")
|
||||||
|
})
|
||||||
|
|
||||||
|
test("should hide modal when hide is called", function () {
|
||||||
|
stop()
|
||||||
|
$.support.transition = false
|
||||||
|
|
||||||
|
$("<div id='modal-test'></div>")
|
||||||
|
.on("shown.bs.modal", function () {
|
||||||
|
ok($('#modal-test').is(":visible"), 'modal visible')
|
||||||
|
ok($('#modal-test').length, 'modal inserted into dom')
|
||||||
|
$(this).modal("hide")
|
||||||
|
})
|
||||||
|
.on("hidden.bs.modal", function() {
|
||||||
|
ok(!$('#modal-test').is(":visible"), 'modal hidden')
|
||||||
|
$('#modal-test').remove()
|
||||||
|
start()
|
||||||
|
})
|
||||||
|
.modal("show")
|
||||||
|
})
|
||||||
|
|
||||||
|
test("should toggle when toggle is called", function () {
|
||||||
|
stop()
|
||||||
|
$.support.transition = false
|
||||||
|
var div = $("<div id='modal-test'></div>")
|
||||||
|
div
|
||||||
|
.on("shown.bs.modal", function () {
|
||||||
|
ok($('#modal-test').is(":visible"), 'modal visible')
|
||||||
|
ok($('#modal-test').length, 'modal inserted into dom')
|
||||||
|
div.modal("toggle")
|
||||||
|
})
|
||||||
|
.on("hidden.bs.modal", function() {
|
||||||
|
ok(!$('#modal-test').is(":visible"), 'modal hidden')
|
||||||
|
div.remove()
|
||||||
|
start()
|
||||||
|
})
|
||||||
|
.modal("toggle")
|
||||||
|
})
|
||||||
|
|
||||||
|
test("should remove from dom when click [data-dismiss=modal]", function () {
|
||||||
|
stop()
|
||||||
|
$.support.transition = false
|
||||||
|
var div = $("<div id='modal-test'><span class='close' data-dismiss='modal'></span></div>")
|
||||||
|
div
|
||||||
|
.on("shown.bs.modal", function () {
|
||||||
|
ok($('#modal-test').is(":visible"), 'modal visible')
|
||||||
|
ok($('#modal-test').length, 'modal inserted into dom')
|
||||||
|
div.find('.close').click()
|
||||||
|
})
|
||||||
|
.on("hidden.bs.modal", function() {
|
||||||
|
ok(!$('#modal-test').is(":visible"), 'modal hidden')
|
||||||
|
div.remove()
|
||||||
|
start()
|
||||||
|
})
|
||||||
|
.modal("toggle")
|
||||||
|
})
|
||||||
|
|
||||||
|
test("should allow modal close with 'backdrop:false'", function () {
|
||||||
|
stop()
|
||||||
|
$.support.transition = false
|
||||||
|
var div = $("<div>", { id: 'modal-test', "data-backdrop": false })
|
||||||
|
div
|
||||||
|
.on("shown.bs.modal", function () {
|
||||||
|
ok($('#modal-test').is(":visible"), 'modal visible')
|
||||||
|
div.modal("hide")
|
||||||
|
})
|
||||||
|
.on("hidden.bs.modal", function() {
|
||||||
|
ok(!$('#modal-test').is(":visible"), 'modal hidden')
|
||||||
|
div.remove()
|
||||||
|
start()
|
||||||
|
})
|
||||||
|
.modal("show")
|
||||||
|
})
|
||||||
|
|
||||||
|
test("should close modal when clicking outside of modal-content", function () {
|
||||||
|
stop()
|
||||||
|
$.support.transition = false
|
||||||
|
var div = $("<div id='modal-test'><div class='contents'></div></div>")
|
||||||
|
div
|
||||||
|
.bind("shown.bs.modal", function () {
|
||||||
|
ok($('#modal-test').length, 'modal insterted into dom')
|
||||||
|
$('.contents').click()
|
||||||
|
ok($('#modal-test').is(":visible"), 'modal visible')
|
||||||
|
$('#modal-test').click()
|
||||||
|
})
|
||||||
|
.bind("hidden.bs.modal", function() {
|
||||||
|
ok(!$('#modal-test').is(":visible"), 'modal hidden')
|
||||||
|
div.remove()
|
||||||
|
start()
|
||||||
|
})
|
||||||
|
.modal("show")
|
||||||
|
})
|
||||||
|
|
||||||
|
test("should trigger hide event once when clicking outside of modal-content", function () {
|
||||||
|
stop()
|
||||||
|
$.support.transition = false
|
||||||
|
var div = $("<div id='modal-test'><div class='contents'></div></div>")
|
||||||
|
var triggered
|
||||||
|
div
|
||||||
|
.bind("shown.bs.modal", function () {
|
||||||
|
triggered = 0
|
||||||
|
$('#modal-test').click()
|
||||||
|
})
|
||||||
|
.one("hidden.bs.modal", function() {
|
||||||
|
div.modal("show")
|
||||||
|
})
|
||||||
|
.bind("hide.bs.modal", function () {
|
||||||
|
triggered += 1
|
||||||
|
ok(triggered === 1, 'modal hide triggered once')
|
||||||
|
start()
|
||||||
|
})
|
||||||
|
.modal("show")
|
||||||
|
})
|
||||||
|
|
||||||
|
test("should close reopened modal with [data-dismiss=modal] click", function () {
|
||||||
|
stop()
|
||||||
|
$.support.transition = false
|
||||||
|
var div = $("<div id='modal-test'><div class='contents'><div id='close' data-dismiss='modal'></div></div></div>")
|
||||||
|
div
|
||||||
|
.bind("shown.bs.modal", function () {
|
||||||
|
$('#close').click()
|
||||||
|
ok(!$('#modal-test').is(":visible"), 'modal hidden')
|
||||||
|
})
|
||||||
|
.one("hidden.bs.modal", function() {
|
||||||
|
div.one('hidden.bs.modal', function () {
|
||||||
start()
|
start()
|
||||||
})
|
}).modal("show")
|
||||||
.modal("show")
|
})
|
||||||
})
|
.modal("show")
|
||||||
|
|
||||||
test("should fire show event", function () {
|
div.remove()
|
||||||
stop()
|
})
|
||||||
$.support.transition = false
|
|
||||||
$("<div id='modal-test'></div>")
|
|
||||||
.on("show.bs.modal", function () {
|
|
||||||
ok(true, "show was called")
|
|
||||||
})
|
|
||||||
.on("shown.bs.modal", function () {
|
|
||||||
$(this).remove()
|
|
||||||
start()
|
|
||||||
})
|
|
||||||
.modal("show")
|
|
||||||
})
|
|
||||||
|
|
||||||
test("should not fire shown when default prevented", function () {
|
|
||||||
stop()
|
|
||||||
$.support.transition = false
|
|
||||||
$("<div id='modal-test'></div>")
|
|
||||||
.on("show.bs.modal", function (e) {
|
|
||||||
e.preventDefault()
|
|
||||||
ok(true, "show was called")
|
|
||||||
start()
|
|
||||||
})
|
|
||||||
.on("shown.bs.modal", function () {
|
|
||||||
ok(false, "shown was called")
|
|
||||||
})
|
|
||||||
.modal("show")
|
|
||||||
})
|
|
||||||
|
|
||||||
test("should hide modal when hide is called", function () {
|
|
||||||
stop()
|
|
||||||
$.support.transition = false
|
|
||||||
|
|
||||||
$("<div id='modal-test'></div>")
|
|
||||||
.on("shown.bs.modal", function () {
|
|
||||||
ok($('#modal-test').is(":visible"), 'modal visible')
|
|
||||||
ok($('#modal-test').length, 'modal inserted into dom')
|
|
||||||
$(this).modal("hide")
|
|
||||||
})
|
|
||||||
.on("hidden.bs.modal", function() {
|
|
||||||
ok(!$('#modal-test').is(":visible"), 'modal hidden')
|
|
||||||
$('#modal-test').remove()
|
|
||||||
start()
|
|
||||||
})
|
|
||||||
.modal("show")
|
|
||||||
})
|
|
||||||
|
|
||||||
test("should toggle when toggle is called", function () {
|
|
||||||
stop()
|
|
||||||
$.support.transition = false
|
|
||||||
var div = $("<div id='modal-test'></div>")
|
|
||||||
div
|
|
||||||
.on("shown.bs.modal", function () {
|
|
||||||
ok($('#modal-test').is(":visible"), 'modal visible')
|
|
||||||
ok($('#modal-test').length, 'modal inserted into dom')
|
|
||||||
div.modal("toggle")
|
|
||||||
})
|
|
||||||
.on("hidden.bs.modal", function() {
|
|
||||||
ok(!$('#modal-test').is(":visible"), 'modal hidden')
|
|
||||||
div.remove()
|
|
||||||
start()
|
|
||||||
})
|
|
||||||
.modal("toggle")
|
|
||||||
})
|
|
||||||
|
|
||||||
test("should remove from dom when click [data-dismiss=modal]", function () {
|
|
||||||
stop()
|
|
||||||
$.support.transition = false
|
|
||||||
var div = $("<div id='modal-test'><span class='close' data-dismiss='modal'></span></div>")
|
|
||||||
div
|
|
||||||
.on("shown.bs.modal", function () {
|
|
||||||
ok($('#modal-test').is(":visible"), 'modal visible')
|
|
||||||
ok($('#modal-test').length, 'modal inserted into dom')
|
|
||||||
div.find('.close').click()
|
|
||||||
})
|
|
||||||
.on("hidden.bs.modal", function() {
|
|
||||||
ok(!$('#modal-test').is(":visible"), 'modal hidden')
|
|
||||||
div.remove()
|
|
||||||
start()
|
|
||||||
})
|
|
||||||
.modal("toggle")
|
|
||||||
})
|
|
||||||
|
|
||||||
test("should allow modal close with 'backdrop:false'", function () {
|
|
||||||
stop()
|
|
||||||
$.support.transition = false
|
|
||||||
var div = $("<div>", { id: 'modal-test', "data-backdrop": false })
|
|
||||||
div
|
|
||||||
.on("shown.bs.modal", function () {
|
|
||||||
ok($('#modal-test').is(":visible"), 'modal visible')
|
|
||||||
div.modal("hide")
|
|
||||||
})
|
|
||||||
.on("hidden.bs.modal", function() {
|
|
||||||
ok(!$('#modal-test').is(":visible"), 'modal hidden')
|
|
||||||
div.remove()
|
|
||||||
start()
|
|
||||||
})
|
|
||||||
.modal("show")
|
|
||||||
})
|
|
||||||
|
|
||||||
test("should close modal when clicking outside of modal-content", function () {
|
|
||||||
stop()
|
|
||||||
$.support.transition = false
|
|
||||||
var div = $("<div id='modal-test'><div class='contents'></div></div>")
|
|
||||||
div
|
|
||||||
.bind("shown.bs.modal", function () {
|
|
||||||
ok($('#modal-test').length, 'modal insterted into dom')
|
|
||||||
$('.contents').click()
|
|
||||||
ok($('#modal-test').is(":visible"), 'modal visible')
|
|
||||||
$('#modal-test').click()
|
|
||||||
})
|
|
||||||
.bind("hidden.bs.modal", function() {
|
|
||||||
ok(!$('#modal-test').is(":visible"), 'modal hidden')
|
|
||||||
div.remove()
|
|
||||||
start()
|
|
||||||
})
|
|
||||||
.modal("show")
|
|
||||||
})
|
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/* ========================================================================
|
/* ========================================================================
|
||||||
* Bootstrap: tooltip.js v3.0.0
|
* Bootstrap: tooltip.js v3.0.0
|
||||||
* http://twbs.github.com/bootstrap/javascript.html#affix
|
* http://twbs.github.com/bootstrap/javascript.html#tooltip
|
||||||
* Inspired by the original jQuery.tipsy by Jason Frame
|
* Inspired by the original jQuery.tipsy by Jason Frame
|
||||||
* ========================================================================
|
* ========================================================================
|
||||||
* Copyright 2012 Twitter, Inc.
|
* Copyright 2012 Twitter, Inc.
|
||||||
@@ -64,7 +64,7 @@
|
|||||||
var eventIn = trigger == 'hover' ? 'mouseenter' : 'focus'
|
var eventIn = trigger == 'hover' ? 'mouseenter' : 'focus'
|
||||||
var eventOut = trigger == 'hover' ? 'mouseleave' : 'blur'
|
var eventOut = trigger == 'hover' ? 'mouseleave' : 'blur'
|
||||||
|
|
||||||
this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this))
|
this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this))
|
||||||
this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))
|
this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -91,16 +91,20 @@
|
|||||||
return options
|
return options
|
||||||
}
|
}
|
||||||
|
|
||||||
Tooltip.prototype.enter = function (obj) {
|
Tooltip.prototype.getDelegateOptions = function () {
|
||||||
var defaults = this.getDefaults()
|
|
||||||
var options = {}
|
var options = {}
|
||||||
|
var defaults = this.getDefaults()
|
||||||
|
|
||||||
this._options && $.each(this._options, function (key, value) {
|
this._options && $.each(this._options, function (key, value) {
|
||||||
if (defaults[key] != value) options[key] = value
|
if (defaults[key] != value) options[key] = value
|
||||||
})
|
})
|
||||||
|
|
||||||
|
return options
|
||||||
|
}
|
||||||
|
|
||||||
|
Tooltip.prototype.enter = function (obj) {
|
||||||
var self = obj instanceof this.constructor ?
|
var self = obj instanceof this.constructor ?
|
||||||
obj : $(obj.currentTarget)[this.type](options).data('bs.' + this.type)
|
obj : $(obj.currentTarget)[this.type](this.getDelegateOptions()).data('bs.' + this.type)
|
||||||
|
|
||||||
clearTimeout(self.timeout)
|
clearTimeout(self.timeout)
|
||||||
|
|
||||||
@@ -114,7 +118,7 @@
|
|||||||
|
|
||||||
Tooltip.prototype.leave = function (obj) {
|
Tooltip.prototype.leave = function (obj) {
|
||||||
var self = obj instanceof this.constructor ?
|
var self = obj instanceof this.constructor ?
|
||||||
obj : $(obj.currentTarget)[this.type](this._options).data('bs.' + this.type)
|
obj : $(obj.currentTarget)[this.type](this.getDelegateOptions()).data('bs.' + this.type)
|
||||||
|
|
||||||
clearTimeout(self.timeout)
|
clearTimeout(self.timeout)
|
||||||
|
|
||||||
@@ -179,7 +183,7 @@
|
|||||||
.addClass(placement)
|
.addClass(placement)
|
||||||
}
|
}
|
||||||
|
|
||||||
var calculatedOffset = this.getCalcuatedOffset(placement, pos, actualWidth, actualHeight)
|
var calculatedOffset = this.getCalculatedOffset(placement, pos, actualWidth, actualHeight)
|
||||||
|
|
||||||
this.applyPlacement(calculatedOffset, placement)
|
this.applyPlacement(calculatedOffset, placement)
|
||||||
this.$element.trigger('shown.bs.' + this.type)
|
this.$element.trigger('shown.bs.' + this.type)
|
||||||
@@ -292,7 +296,7 @@
|
|||||||
}, this.$element.offset())
|
}, this.$element.offset())
|
||||||
}
|
}
|
||||||
|
|
||||||
Tooltip.prototype.getCalcuatedOffset = function (placement, pos, actualWidth, actualHeight) {
|
Tooltip.prototype.getCalculatedOffset = function (placement, pos, actualWidth, actualHeight) {
|
||||||
return placement == 'bottom' ? { top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2 } :
|
return placement == 'bottom' ? { top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2 } :
|
||||||
placement == 'top' ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } :
|
placement == 'top' ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } :
|
||||||
placement == 'left' ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } :
|
placement == 'left' ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } :
|
||||||
@@ -339,7 +343,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
Tooltip.prototype.toggle = function (e) {
|
Tooltip.prototype.toggle = function (e) {
|
||||||
var self = e ? $(e.currentTarget)[this.type](this._options).data('bs.' + this.type) : this
|
var self = e ? $(e.currentTarget)[this.type](this.getDelegateOptions()).data('bs.' + this.type) : this
|
||||||
self.tip().hasClass('in') ? self.leave(self) : self.enter(self)
|
self.tip().hasClass('in') ? self.leave(self) : self.enter(self)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,31 +0,0 @@
|
|||||||
//
|
|
||||||
// Accordion
|
|
||||||
// --------------------------------------------------
|
|
||||||
|
|
||||||
|
|
||||||
// Parent container
|
|
||||||
.accordion {
|
|
||||||
margin-bottom: @line-height-computed;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Group == heading + body
|
|
||||||
.accordion-group {
|
|
||||||
margin-bottom: 2px;
|
|
||||||
border: 1px solid @accordion-border-color;
|
|
||||||
border-radius: @border-radius-base;
|
|
||||||
}
|
|
||||||
.accordion-heading {
|
|
||||||
border-bottom: 0;
|
|
||||||
|
|
||||||
.accordion-toggle {
|
|
||||||
display: block;
|
|
||||||
padding: 8px 15px;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Inner needs the styles because you can't animate properly with any styles on the element
|
|
||||||
.accordion-inner {
|
|
||||||
padding: 9px 15px;
|
|
||||||
border-top: 1px solid @accordion-border-color;
|
|
||||||
}
|
|
||||||
@@ -7,7 +7,7 @@
|
|||||||
// -------------------------
|
// -------------------------
|
||||||
|
|
||||||
.alert {
|
.alert {
|
||||||
padding: @alert-padding (@alert-padding + 20) @alert-padding @alert-padding;
|
padding: @alert-padding;
|
||||||
margin-bottom: @line-height-computed;
|
margin-bottom: @line-height-computed;
|
||||||
color: @alert-text;
|
color: @alert-text;
|
||||||
background-color: @alert-bg;
|
background-color: @alert-bg;
|
||||||
@@ -30,14 +30,6 @@
|
|||||||
color: darken(@alert-text, 10%);
|
color: darken(@alert-text, 10%);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Adjust close link position
|
|
||||||
.close {
|
|
||||||
position: relative;
|
|
||||||
top: -2px;
|
|
||||||
right: -21px;
|
|
||||||
color: inherit;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Improve alignment and spacing of inner content
|
// Improve alignment and spacing of inner content
|
||||||
> p,
|
> p,
|
||||||
> ul {
|
> ul {
|
||||||
@@ -48,8 +40,25 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Dismissable alerts
|
||||||
|
//
|
||||||
|
// Expand the right padding and account for the close button's positioning.
|
||||||
|
|
||||||
|
.alert-dismissable {
|
||||||
|
padding-right: (@alert-padding + 20);
|
||||||
|
|
||||||
|
// Adjust close link position
|
||||||
|
.close {
|
||||||
|
position: relative;
|
||||||
|
top: -2px;
|
||||||
|
right: -21px;
|
||||||
|
color: inherit;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Alternate styles
|
// Alternate styles
|
||||||
// -------------------------
|
//
|
||||||
|
// Generate contextual modifier classes for colorizing the alert.
|
||||||
|
|
||||||
.alert-success {
|
.alert-success {
|
||||||
.alert-variant(@alert-success-bg; @alert-success-border; @alert-success-text);
|
.alert-variant(@alert-success-bg; @alert-success-border; @alert-success-text);
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
background-color: @badge-bg;
|
background-color: @badge-bg;
|
||||||
border-radius: @badge-border-radius;
|
border-radius: @badge-border-radius;
|
||||||
|
|
||||||
// Empty labels/badges collapse
|
// Empty badges collapse automatically (not available in IE8)
|
||||||
&:empty {
|
&:empty {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -54,7 +54,6 @@
|
|||||||
@import "labels.less";
|
@import "labels.less";
|
||||||
@import "badges.less";
|
@import "badges.less";
|
||||||
@import "progress-bars.less";
|
@import "progress-bars.less";
|
||||||
@import "accordion.less";
|
|
||||||
@import "carousel.less";
|
@import "carousel.less";
|
||||||
@import "jumbotron.less";
|
@import "jumbotron.less";
|
||||||
|
|
||||||
|
|||||||
@@ -18,16 +18,18 @@
|
|||||||
border-top-color: #fff;
|
border-top-color: #fff;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.dropup .caret {
|
.dropup {
|
||||||
.btn-default & {
|
& .btn-default .caret {
|
||||||
border-bottom-color: @btn-default-color;
|
border-bottom-color: @btn-default-color;
|
||||||
}
|
}
|
||||||
.btn-primary &,
|
& .btn-primary,
|
||||||
.btn-success &,
|
& .btn-success,
|
||||||
.btn-warning &,
|
& .btn-warning,
|
||||||
.btn-danger &,
|
& .btn-danger,
|
||||||
.btn-info & {
|
& .btn-info {
|
||||||
border-bottom-color: #fff;
|
.caret {
|
||||||
|
border-bottom-color: #fff;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -55,8 +57,13 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Prevent double borders when buttons are next to each other
|
// Prevent double borders when buttons are next to each other
|
||||||
.btn-group .btn + .btn {
|
.btn-group {
|
||||||
margin-left: -1px;
|
.btn + .btn,
|
||||||
|
.btn + .btn-group,
|
||||||
|
.btn-group + .btn,
|
||||||
|
.btn-group + .btn-group {
|
||||||
|
margin-left: -1px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Optional: Group multiple button groups together for a toolbar
|
// Optional: Group multiple button groups together for a toolbar
|
||||||
@@ -117,6 +124,14 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Sizing
|
||||||
|
//
|
||||||
|
// Remix the default button sizing classes into new ones for easier manipulation.
|
||||||
|
|
||||||
|
.btn-group-xs > .btn { .btn-xs(); }
|
||||||
|
.btn-group-sm > .btn { .btn-sm(); }
|
||||||
|
.btn-group-lg > .btn { .btn-lg(); }
|
||||||
|
|
||||||
|
|
||||||
// Split button dropdowns
|
// Split button dropdowns
|
||||||
// ----------------------
|
// ----------------------
|
||||||
@@ -155,26 +170,58 @@
|
|||||||
// Vertical button groups
|
// Vertical button groups
|
||||||
// ----------------------
|
// ----------------------
|
||||||
|
|
||||||
.btn-group-vertical > .btn {
|
.btn-group-vertical {
|
||||||
display: block;
|
> .btn,
|
||||||
float: none;
|
> .btn-group {
|
||||||
width: 100%;
|
display: block;
|
||||||
max-width: 100%;
|
float: none;
|
||||||
+ .btn {
|
width: 100%;
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Clear floats so dropdown menus can be properly placed
|
||||||
|
> .btn-group {
|
||||||
|
.clearfix();
|
||||||
|
> .btn {
|
||||||
|
float: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
> .btn + .btn,
|
||||||
|
> .btn + .btn-group,
|
||||||
|
> .btn-group + .btn,
|
||||||
|
> .btn-group + .btn-group {
|
||||||
margin-top: -1px;
|
margin-top: -1px;
|
||||||
|
margin-left: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.btn-group-vertical .btn {
|
|
||||||
|
.btn-group-vertical > .btn {
|
||||||
&:not(:first-child):not(:last-child) {
|
&:not(:first-child):not(:last-child) {
|
||||||
border-radius: 0;
|
border-radius: 0;
|
||||||
}
|
}
|
||||||
&:first-child:not(:last-child) {
|
&:first-child:not(:last-child) {
|
||||||
|
border-top-right-radius: @border-radius-base;
|
||||||
.border-bottom-radius(0);
|
.border-bottom-radius(0);
|
||||||
}
|
}
|
||||||
&:last-child:not(:first-child) {
|
&:last-child:not(:first-child) {
|
||||||
|
border-bottom-left-radius: @border-radius-base;
|
||||||
.border-top-radius(0);
|
.border-top-radius(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
|
||||||
|
border-radius: 0;
|
||||||
|
}
|
||||||
|
.btn-group-vertical > .btn-group:first-child {
|
||||||
|
> .btn:last-child,
|
||||||
|
> .dropdown-toggle {
|
||||||
|
.border-bottom-radius(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.btn-group-vertical > .btn-group:last-child > .btn:first-child {
|
||||||
|
.border-top-radius(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Justified button groups
|
// Justified button groups
|
||||||
@@ -184,6 +231,7 @@
|
|||||||
display: table;
|
display: table;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
table-layout: fixed;
|
table-layout: fixed;
|
||||||
|
border-collapse: separate;
|
||||||
.btn {
|
.btn {
|
||||||
float: none;
|
float: none;
|
||||||
display: table-cell;
|
display: table-cell;
|
||||||
@@ -193,7 +241,7 @@
|
|||||||
|
|
||||||
|
|
||||||
// Checkbox and radio options
|
// Checkbox and radio options
|
||||||
.btn-group[data-toggle="buttons"] > .btn > input[type="radio"],
|
[data-toggle="buttons"] > .btn > input[type="radio"],
|
||||||
.btn-group[data-toggle="buttons"] > .btn > input[type="checkbox"] {
|
[data-toggle="buttons"] > .btn > input[type="checkbox"] {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,13 +35,14 @@
|
|||||||
&:active,
|
&:active,
|
||||||
&.active {
|
&.active {
|
||||||
outline: 0;
|
outline: 0;
|
||||||
|
background-image: none;
|
||||||
.box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
|
.box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
|
||||||
}
|
}
|
||||||
|
|
||||||
&.disabled,
|
&.disabled,
|
||||||
&[disabled],
|
&[disabled],
|
||||||
fieldset[disabled] & {
|
fieldset[disabled] & {
|
||||||
cursor: default;
|
cursor: not-allowed;
|
||||||
pointer-events: none; // Future-proof disabling of clicks
|
pointer-events: none; // Future-proof disabling of clicks
|
||||||
.opacity(.65);
|
.opacity(.65);
|
||||||
.box-shadow(none);
|
.box-shadow(none);
|
||||||
@@ -54,26 +55,26 @@
|
|||||||
// --------------------------------------------------
|
// --------------------------------------------------
|
||||||
|
|
||||||
.btn-default {
|
.btn-default {
|
||||||
.btn-pseudo-states(@btn-default-color; @btn-default-bg; @btn-default-border);
|
.button-variant(@btn-default-color; @btn-default-bg; @btn-default-border);
|
||||||
}
|
}
|
||||||
.btn-primary {
|
.btn-primary {
|
||||||
.btn-pseudo-states(@btn-primary-color; @btn-primary-bg; @btn-primary-border);
|
.button-variant(@btn-primary-color; @btn-primary-bg; @btn-primary-border);
|
||||||
}
|
}
|
||||||
// Warning appears as orange
|
// Warning appears as orange
|
||||||
.btn-warning {
|
.btn-warning {
|
||||||
.btn-pseudo-states(@btn-warning-color; @btn-warning-bg; @btn-warning-border);
|
.button-variant(@btn-warning-color; @btn-warning-bg; @btn-warning-border);
|
||||||
}
|
}
|
||||||
// Danger and error appear as red
|
// Danger and error appear as red
|
||||||
.btn-danger {
|
.btn-danger {
|
||||||
.btn-pseudo-states(@btn-danger-color; @btn-danger-bg; @btn-danger-border);
|
.button-variant(@btn-danger-color; @btn-danger-bg; @btn-danger-border);
|
||||||
}
|
}
|
||||||
// Success appears as green
|
// Success appears as green
|
||||||
.btn-success {
|
.btn-success {
|
||||||
.btn-pseudo-states(@btn-success-color; @btn-success-bg; @btn-success-border);
|
.button-variant(@btn-success-color; @btn-success-bg; @btn-success-border);
|
||||||
}
|
}
|
||||||
// Info appears as blue-green
|
// Info appears as blue-green
|
||||||
.btn-info {
|
.btn-info {
|
||||||
.btn-pseudo-states(@btn-info-color; @btn-info-bg; @btn-info-border);
|
.button-variant(@btn-info-color; @btn-info-bg; @btn-info-border);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -121,20 +122,16 @@
|
|||||||
// --------------------------------------------------
|
// --------------------------------------------------
|
||||||
|
|
||||||
.btn-lg {
|
.btn-lg {
|
||||||
padding: @padding-large-vertical @padding-large-horizontal;
|
// line-height: ensure even-numbered height of button next to large input
|
||||||
font-size: @font-size-large;
|
.button-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @border-radius-large);
|
||||||
line-height: @line-height-large; // ensure even-numbered height of button next to large input
|
|
||||||
border-radius: @border-radius-large;
|
|
||||||
}
|
}
|
||||||
.btn-sm,
|
.btn-sm,
|
||||||
.btn-xs {
|
.btn-xs {
|
||||||
padding: @padding-small-vertical @padding-small-horizontal;
|
// line-height: ensure proper height of button next to small input
|
||||||
font-size: @font-size-small;
|
.button-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @border-radius-small);
|
||||||
line-height: @line-height-small; // ensure proper height of button next to small input
|
|
||||||
border-radius: @border-radius-small;
|
|
||||||
}
|
}
|
||||||
.btn-xs {
|
.btn-xs {
|
||||||
padding: 3px 5px;
|
padding: 1px 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -97,7 +97,6 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Toggles
|
// Toggles
|
||||||
.glyphicon,
|
|
||||||
.icon-prev,
|
.icon-prev,
|
||||||
.icon-next {
|
.icon-next {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
@@ -111,7 +110,7 @@
|
|||||||
margin-left: -10px;
|
margin-left: -10px;
|
||||||
font-family: serif;
|
font-family: serif;
|
||||||
}
|
}
|
||||||
// Non-glyphicon toggles
|
|
||||||
.icon-prev {
|
.icon-prev {
|
||||||
&:before {
|
&:before {
|
||||||
content: '\2039';// SINGLE LEFT-POINTING ANGLE QUOTATION MARK (U+2039)
|
content: '\2039';// SINGLE LEFT-POINTING ANGLE QUOTATION MARK (U+2039)
|
||||||
@@ -182,7 +181,6 @@
|
|||||||
@media screen and (min-width: @screen-tablet) {
|
@media screen and (min-width: @screen-tablet) {
|
||||||
|
|
||||||
// Scale up the controls a smidge
|
// Scale up the controls a smidge
|
||||||
.carousel-control .glyphicon,
|
|
||||||
.carousel-control .icon-prev,
|
.carousel-control .icon-prev,
|
||||||
.carousel-control .icon-next {
|
.carousel-control .icon-next {
|
||||||
width: 30px;
|
width: 30px;
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ code {
|
|||||||
color: @code-color;
|
color: @code-color;
|
||||||
background-color: @code-bg;
|
background-color: @code-bg;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
border-radius: 4px;
|
border-radius: @border-radius-base;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Blocks of code
|
// Blocks of code
|
||||||
@@ -28,7 +28,7 @@ pre {
|
|||||||
line-height: @line-height-base;
|
line-height: @line-height-base;
|
||||||
word-break: break-all;
|
word-break: break-all;
|
||||||
word-wrap: break-word;
|
word-wrap: break-word;
|
||||||
color: @gray-dark;
|
color: @pre-color;
|
||||||
background-color: @pre-bg;
|
background-color: @pre-bg;
|
||||||
border: 1px solid @pre-border-color;
|
border: 1px solid @pre-border-color;
|
||||||
border-radius: @border-radius-base;
|
border-radius: @border-radius-base;
|
||||||
@@ -41,6 +41,7 @@ pre {
|
|||||||
// Account for some code outputs that place code tags in pre tags
|
// Account for some code outputs that place code tags in pre tags
|
||||||
code {
|
code {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
|
font-size: inherit;
|
||||||
color: inherit;
|
color: inherit;
|
||||||
white-space: pre-wrap;
|
white-space: pre-wrap;
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
@@ -50,6 +51,6 @@ pre {
|
|||||||
|
|
||||||
// Enable scrollable blocks of code
|
// Enable scrollable blocks of code
|
||||||
.pre-scrollable {
|
.pre-scrollable {
|
||||||
max-height: 340px;
|
max-height: @pre-scrollable-max-height;
|
||||||
overflow-y: scroll;
|
overflow-y: scroll;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,7 +4,6 @@
|
|||||||
|
|
||||||
|
|
||||||
// Dropdown arrow/caret
|
// Dropdown arrow/caret
|
||||||
// --------------------
|
|
||||||
.caret {
|
.caret {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
width: 0;
|
width: 0;
|
||||||
@@ -14,17 +13,23 @@
|
|||||||
border-top: @caret-width-base solid @dropdown-caret-color;
|
border-top: @caret-width-base solid @dropdown-caret-color;
|
||||||
border-right: @caret-width-base solid transparent;
|
border-right: @caret-width-base solid transparent;
|
||||||
border-left: @caret-width-base solid transparent;
|
border-left: @caret-width-base solid transparent;
|
||||||
|
// Firefox fix for https://github.com/twbs/bootstrap/issues/9538. Once fixed,
|
||||||
|
// we can just straight up remove this.
|
||||||
|
border-bottom: 0 dotted;
|
||||||
content: "";
|
content: "";
|
||||||
}
|
}
|
||||||
|
|
||||||
// The dropdown wrapper (div)
|
// The dropdown wrapper (div)
|
||||||
// --------------------------
|
|
||||||
.dropdown {
|
.dropdown {
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Prevent the focus on the dropdown toggle when closing dropdowns
|
||||||
|
.dropdown-toggle:focus {
|
||||||
|
outline: 0;
|
||||||
|
}
|
||||||
|
|
||||||
// The dropdown menu (ul)
|
// The dropdown menu (ul)
|
||||||
// ----------------------
|
|
||||||
.dropdown-menu {
|
.dropdown-menu {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 100%;
|
top: 100%;
|
||||||
@@ -36,12 +41,13 @@
|
|||||||
padding: 5px 0;
|
padding: 5px 0;
|
||||||
margin: 2px 0 0; // override default ul
|
margin: 2px 0 0; // override default ul
|
||||||
list-style: none;
|
list-style: none;
|
||||||
|
font-size: @font-size-base;
|
||||||
background-color: @dropdown-bg;
|
background-color: @dropdown-bg;
|
||||||
border: 1px solid @dropdown-fallback-border; // IE8 fallback
|
border: 1px solid @dropdown-fallback-border; // IE8 fallback
|
||||||
border: 1px solid @dropdown-border;
|
border: 1px solid @dropdown-border;
|
||||||
border-radius: @border-radius-base;
|
border-radius: @border-radius-base;
|
||||||
.box-shadow(0 6px 12px rgba(0,0,0,.175));
|
.box-shadow(0 6px 12px rgba(0,0,0,.175));
|
||||||
.background-clip(padding-box);
|
background-clip: padding-box;
|
||||||
|
|
||||||
// Aligns the dropdown menu to right
|
// Aligns the dropdown menu to right
|
||||||
&.pull-right {
|
&.pull-right {
|
||||||
@@ -67,19 +73,16 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Hover/Focus state
|
// Hover/Focus state
|
||||||
// -----------
|
|
||||||
.dropdown-menu > li > a {
|
.dropdown-menu > li > a {
|
||||||
&:hover,
|
&:hover,
|
||||||
&:focus {
|
&:focus {
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
color: @dropdown-link-hover-color;
|
color: @dropdown-link-hover-color;
|
||||||
#gradient > .vertical(@start-color: @dropdown-link-hover-bg; @end-color: darken(@dropdown-link-hover-bg, 5%));
|
background-color: @dropdown-link-hover-bg;
|
||||||
background-color: darken(@dropdown-link-hover-bg, 5%);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Active state
|
// Active state
|
||||||
// ------------
|
|
||||||
.dropdown-menu > .active > a {
|
.dropdown-menu > .active > a {
|
||||||
&,
|
&,
|
||||||
&:hover,
|
&:hover,
|
||||||
@@ -87,19 +90,19 @@
|
|||||||
color: @dropdown-link-active-color;
|
color: @dropdown-link-active-color;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
outline: 0;
|
outline: 0;
|
||||||
#gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));
|
background-color: @dropdown-link-active-bg;
|
||||||
background-color: darken(@dropdown-link-active-bg, 5%);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Disabled state
|
// Disabled state
|
||||||
// --------------
|
//
|
||||||
// Gray out text and ensure the hover/focus state remains gray
|
// Gray out text and ensure the hover/focus state remains gray
|
||||||
|
|
||||||
.dropdown-menu > .disabled > a {
|
.dropdown-menu > .disabled > a {
|
||||||
&,
|
&,
|
||||||
&:hover,
|
&:hover,
|
||||||
&:focus {
|
&:focus {
|
||||||
color: @gray-light;
|
color: @dropdown-link-disabled-color;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Nuke hover/focus effects
|
// Nuke hover/focus effects
|
||||||
@@ -115,7 +118,6 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Open state for the dropdown
|
// Open state for the dropdown
|
||||||
// ---------------------------
|
|
||||||
.open {
|
.open {
|
||||||
// Show the menu
|
// Show the menu
|
||||||
> .dropdown-menu {
|
> .dropdown-menu {
|
||||||
@@ -129,19 +131,15 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Dropdown section headers
|
// Dropdown section headers
|
||||||
// ---------------------------
|
|
||||||
.dropdown-header {
|
.dropdown-header {
|
||||||
display: block;
|
display: block;
|
||||||
padding: 3px 20px;
|
padding: 3px 20px;
|
||||||
font-size: @font-size-small;
|
font-size: @font-size-small;
|
||||||
line-height: @line-height-base;
|
line-height: @line-height-base;
|
||||||
color: @gray-light;
|
color: @dropdown-header-color;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Backdrop to catch body clicks on mobile, etc.
|
// Backdrop to catch body clicks on mobile, etc.
|
||||||
// ---------------------------
|
|
||||||
.dropdown-backdrop {
|
.dropdown-backdrop {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
left: 0;
|
left: 0;
|
||||||
@@ -152,21 +150,23 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Right aligned dropdowns
|
// Right aligned dropdowns
|
||||||
// ---------------------------
|
|
||||||
.pull-right > .dropdown-menu {
|
.pull-right > .dropdown-menu {
|
||||||
right: 0;
|
right: 0;
|
||||||
left: auto;
|
left: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Allow for dropdowns to go bottom up (aka, dropup-menu)
|
// Allow for dropdowns to go bottom up (aka, dropup-menu)
|
||||||
// ------------------------------------------------------
|
//
|
||||||
// Just add .dropup after the standard .dropdown class and you're set, bro.
|
// Just add .dropup after the standard .dropdown class and you're set, bro.
|
||||||
// TODO: abstract this so that the navbar fixed styles are not placed here?
|
// TODO: abstract this so that the navbar fixed styles are not placed here?
|
||||||
|
|
||||||
.dropup,
|
.dropup,
|
||||||
.navbar-fixed-bottom .dropdown {
|
.navbar-fixed-bottom .dropdown {
|
||||||
// Reverse the caret
|
// Reverse the caret
|
||||||
.caret {
|
.caret {
|
||||||
border-top: 0;
|
// Firefox fix for https://github.com/twbs/bootstrap/issues/9538. Once this
|
||||||
|
// gets fixed, restore `border-top: 0;`.
|
||||||
|
border-top: 0 dotted;
|
||||||
border-bottom: 4px solid @dropdown-caret-color;
|
border-bottom: 4px solid @dropdown-caret-color;
|
||||||
content: "";
|
content: "";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ legend {
|
|||||||
margin-bottom: @line-height-computed;
|
margin-bottom: @line-height-computed;
|
||||||
font-size: (@font-size-base * 1.5);
|
font-size: (@font-size-base * 1.5);
|
||||||
line-height: inherit;
|
line-height: inherit;
|
||||||
color: @gray-dark;
|
color: @legend-color;
|
||||||
border: 0;
|
border: 0;
|
||||||
border-bottom: 1px solid @legend-border-color;
|
border-bottom: 1px solid @legend-border-color;
|
||||||
}
|
}
|
||||||
@@ -121,7 +121,7 @@ input[type="number"] {
|
|||||||
padding: @padding-base-vertical @padding-base-horizontal;
|
padding: @padding-base-vertical @padding-base-horizontal;
|
||||||
font-size: @font-size-base;
|
font-size: @font-size-base;
|
||||||
line-height: @line-height-base;
|
line-height: @line-height-base;
|
||||||
color: @gray;
|
color: @input-color;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
background-color: @input-bg;
|
background-color: @input-bg;
|
||||||
border: 1px solid @input-border;
|
border: 1px solid @input-border;
|
||||||
@@ -133,9 +133,9 @@ input[type="number"] {
|
|||||||
.form-control-focus();
|
.form-control-focus();
|
||||||
|
|
||||||
// Disabled and read-only inputs
|
// Disabled and read-only inputs
|
||||||
// Note: HTML5 says that inputs under a fieldset > legend:first-child won't be
|
// Note: HTML5 says that controls under a fieldset > legend:first-child won't
|
||||||
// disabled if the fieldset is disabled. Due to implementation difficulty,
|
// be disabled if the fieldset is disabled. Due to implementation difficulty,
|
||||||
// we don't honor that edge case; we style them as disabled anyway.
|
// we don't honor that edge case; we style them as disabled anyway.
|
||||||
&[disabled],
|
&[disabled],
|
||||||
&[readonly],
|
&[readonly],
|
||||||
fieldset[disabled] & {
|
fieldset[disabled] & {
|
||||||
@@ -207,44 +207,28 @@ input[type="number"] {
|
|||||||
margin-left: 10px; // space out consecutive inline controls
|
margin-left: 10px; // space out consecutive inline controls
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Apply same disabled cursor tweak as for inputs
|
||||||
|
//
|
||||||
|
// Note: Neither radios nor checkboxes can be readonly.
|
||||||
|
input[type="radio"],
|
||||||
|
input[type="checkbox"],
|
||||||
|
.radio,
|
||||||
|
.radio-inline,
|
||||||
|
.checkbox,
|
||||||
|
.checkbox-inline {
|
||||||
|
&[disabled],
|
||||||
|
fieldset[disabled] & {
|
||||||
|
cursor: not-allowed;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Form control sizing
|
// Form control sizing
|
||||||
//
|
.input-sm {
|
||||||
// Relative text size, padding, and border-radii changes for form controls. For
|
.input-size(@input-height-small; @padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @border-radius-small);
|
||||||
// horizontal sizing, wrap controls in the predefined grid classes. `<select>`
|
}
|
||||||
// element gets special love because it's special, and that's a fact!
|
|
||||||
|
|
||||||
.input-lg {
|
.input-lg {
|
||||||
height: @input-height-large;
|
.input-size(@input-height-large; @padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @border-radius-large);
|
||||||
padding: @padding-large-vertical @padding-large-horizontal;
|
|
||||||
font-size: @font-size-large;
|
|
||||||
line-height: @line-height-large;
|
|
||||||
border-radius: @border-radius-large;
|
|
||||||
}
|
|
||||||
.input-sm {
|
|
||||||
height: @input-height-small;
|
|
||||||
padding: @padding-small-vertical @padding-small-horizontal;
|
|
||||||
font-size: @font-size-small;
|
|
||||||
line-height: @line-height-small;
|
|
||||||
border-radius: @border-radius-small;
|
|
||||||
}
|
|
||||||
|
|
||||||
select {
|
|
||||||
&.input-lg {
|
|
||||||
height: @input-height-large;
|
|
||||||
line-height: @input-height-large;
|
|
||||||
}
|
|
||||||
&.input-sm {
|
|
||||||
height: @input-height-small;
|
|
||||||
line-height: @input-height-small;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
textarea {
|
|
||||||
&.input-lg,
|
|
||||||
&.input-sm {
|
|
||||||
height: auto;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -293,28 +277,46 @@ textarea {
|
|||||||
|
|
||||||
// Inline forms
|
// Inline forms
|
||||||
//
|
//
|
||||||
// Make forms appear inline(-block).
|
// Make forms appear inline(-block) by adding the `.form-inline` class. Inline
|
||||||
|
// forms begin stacked on extra small (mobile) devices and then go inline when
|
||||||
|
// viewports reach <768px.
|
||||||
|
//
|
||||||
|
// Requires wrapping inputs and labels with `.form-group` for proper display of
|
||||||
|
// default HTML form controls and our custom form controls (e.g., input groups).
|
||||||
|
//
|
||||||
|
// Heads up! This is mixin-ed into `.navbar-form` in navbars.less.
|
||||||
|
|
||||||
.form-inline {
|
.form-inline {
|
||||||
.form-control,
|
|
||||||
.radio,
|
|
||||||
.checkbox {
|
|
||||||
display: inline-block;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Remove default margin on radios/checkboxes that were used for stacking, and
|
// Kick in the inline
|
||||||
// then undo the floating of radios and checkboxes to match (which also avoids
|
@media (min-width: @screen-tablet) {
|
||||||
// a bug in WebKit: https://github.com/twbs/bootstrap/issues/1969).
|
// Inline-block all the things for "inline"
|
||||||
.radio,
|
.form-group {
|
||||||
.checkbox {
|
display: inline-block;
|
||||||
margin-top: 0;
|
margin-bottom: 0;
|
||||||
margin-bottom: 0;
|
vertical-align: middle;
|
||||||
padding-left: 0;
|
}
|
||||||
}
|
|
||||||
.radio input[type="radio"],
|
// In navbar-form, allow folks to *not* use `.form-group`
|
||||||
.checkbox input[type="checkbox"] {
|
.form-control {
|
||||||
float: none;
|
display: inline-block;
|
||||||
margin-left: 0;
|
}
|
||||||
|
|
||||||
|
// Remove default margin on radios/checkboxes that were used for stacking, and
|
||||||
|
// then undo the floating of radios and checkboxes to match (which also avoids
|
||||||
|
// a bug in WebKit: https://github.com/twbs/bootstrap/issues/1969).
|
||||||
|
.radio,
|
||||||
|
.checkbox {
|
||||||
|
display: inline-block;
|
||||||
|
margin-top: 0;
|
||||||
|
margin-bottom: 0;
|
||||||
|
padding-left: 0;
|
||||||
|
}
|
||||||
|
.radio input[type="radio"],
|
||||||
|
.checkbox input[type="checkbox"] {
|
||||||
|
float: none;
|
||||||
|
margin-left: 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
// Grid system
|
// Grid system
|
||||||
// --------------------------------------------------
|
// --------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
// Set the container width, and override it for fixed navbars in media queries
|
// Set the container width, and override it for fixed navbars in media queries
|
||||||
.container {
|
.container {
|
||||||
.container-fixed();
|
.container-fixed();
|
||||||
@@ -13,18 +14,18 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Common styles for small and large grid columns
|
// Common styles for small and large grid columns
|
||||||
.col-1,
|
.col-xs-1,
|
||||||
.col-2,
|
.col-xs-2,
|
||||||
.col-3,
|
.col-xs-3,
|
||||||
.col-4,
|
.col-xs-4,
|
||||||
.col-5,
|
.col-xs-5,
|
||||||
.col-6,
|
.col-xs-6,
|
||||||
.col-7,
|
.col-xs-7,
|
||||||
.col-8,
|
.col-xs-8,
|
||||||
.col-9,
|
.col-xs-9,
|
||||||
.col-10,
|
.col-xs-10,
|
||||||
.col-11,
|
.col-xs-11,
|
||||||
.col-12,
|
.col-xs-12,
|
||||||
.col-sm-1,
|
.col-sm-1,
|
||||||
.col-sm-2,
|
.col-sm-2,
|
||||||
.col-sm-3,
|
.col-sm-3,
|
||||||
@@ -37,6 +38,18 @@
|
|||||||
.col-sm-10,
|
.col-sm-10,
|
||||||
.col-sm-11,
|
.col-sm-11,
|
||||||
.col-sm-12,
|
.col-sm-12,
|
||||||
|
.col-md-1,
|
||||||
|
.col-md-2,
|
||||||
|
.col-md-3,
|
||||||
|
.col-md-4,
|
||||||
|
.col-md-5,
|
||||||
|
.col-md-6,
|
||||||
|
.col-md-7,
|
||||||
|
.col-md-8,
|
||||||
|
.col-md-9,
|
||||||
|
.col-md-10,
|
||||||
|
.col-md-11,
|
||||||
|
.col-md-12,
|
||||||
.col-lg-1,
|
.col-lg-1,
|
||||||
.col-lg-2,
|
.col-lg-2,
|
||||||
.col-lg-3,
|
.col-lg-3,
|
||||||
@@ -58,41 +71,50 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Extra small grid
|
||||||
//
|
//
|
||||||
// Container and grid column sizing
|
// Grid classes for extra small devices like smartphones. No offset, push, or
|
||||||
|
// pull classes are present here due to the size of the target.
|
||||||
//
|
//
|
||||||
|
// Note that `.col-xs-12` doesn't get floated on purpose—there's no need since
|
||||||
|
// it's full-width.
|
||||||
|
|
||||||
// Extra small device columns (smartphones)
|
.col-xs-1,
|
||||||
.col-1,
|
.col-xs-2,
|
||||||
.col-2,
|
.col-xs-3,
|
||||||
.col-3,
|
.col-xs-4,
|
||||||
.col-4,
|
.col-xs-5,
|
||||||
.col-5,
|
.col-xs-6,
|
||||||
.col-6,
|
.col-xs-7,
|
||||||
.col-7,
|
.col-xs-8,
|
||||||
.col-8,
|
.col-xs-9,
|
||||||
.col-9,
|
.col-xs-10,
|
||||||
.col-10,
|
.col-xs-11 {
|
||||||
.col-11,
|
|
||||||
.col-12 {
|
|
||||||
float: left;
|
float: left;
|
||||||
}
|
}
|
||||||
.col-1 { width: percentage((1 / @grid-columns)); }
|
.col-xs-1 { width: percentage((1 / @grid-columns)); }
|
||||||
.col-2 { width: percentage((2 / @grid-columns)); }
|
.col-xs-2 { width: percentage((2 / @grid-columns)); }
|
||||||
.col-3 { width: percentage((3 / @grid-columns)); }
|
.col-xs-3 { width: percentage((3 / @grid-columns)); }
|
||||||
.col-4 { width: percentage((4 / @grid-columns)); }
|
.col-xs-4 { width: percentage((4 / @grid-columns)); }
|
||||||
.col-5 { width: percentage((5 / @grid-columns)); }
|
.col-xs-5 { width: percentage((5 / @grid-columns)); }
|
||||||
.col-6 { width: percentage((6 / @grid-columns)); }
|
.col-xs-6 { width: percentage((6 / @grid-columns)); }
|
||||||
.col-7 { width: percentage((7 / @grid-columns)); }
|
.col-xs-7 { width: percentage((7 / @grid-columns)); }
|
||||||
.col-8 { width: percentage((8 / @grid-columns)); }
|
.col-xs-8 { width: percentage((8 / @grid-columns)); }
|
||||||
.col-9 { width: percentage((9 / @grid-columns)); }
|
.col-xs-9 { width: percentage((9 / @grid-columns)); }
|
||||||
.col-10 { width: percentage((10/ @grid-columns)); }
|
.col-xs-10 { width: percentage((10/ @grid-columns)); }
|
||||||
.col-11 { width: percentage((11/ @grid-columns)); }
|
.col-xs-11 { width: percentage((11/ @grid-columns)); }
|
||||||
.col-12 { width: 100%; }
|
.col-xs-12 { width: 100%; }
|
||||||
|
|
||||||
// Small device columns (phones to tablets)
|
|
||||||
@media (min-width: @screen-tablet) and (max-width: @screen-tablet-max) {
|
// Small grid
|
||||||
|
//
|
||||||
|
// Columns, offsets, pushes, and pulls for the small device range, from phones
|
||||||
|
// to tablets.
|
||||||
|
//
|
||||||
|
// Note that `.col-sm-12` doesn't get floated on purpose—there's no need since
|
||||||
|
// it's full-width.
|
||||||
|
|
||||||
|
@media (min-width: @screen-tablet) {
|
||||||
.container {
|
.container {
|
||||||
max-width: @container-tablet;
|
max-width: @container-tablet;
|
||||||
}
|
}
|
||||||
@@ -107,8 +129,7 @@
|
|||||||
.col-sm-8,
|
.col-sm-8,
|
||||||
.col-sm-9,
|
.col-sm-9,
|
||||||
.col-sm-10,
|
.col-sm-10,
|
||||||
.col-sm-11,
|
.col-sm-11 {
|
||||||
.col-sm-12 {
|
|
||||||
float: left;
|
float: left;
|
||||||
}
|
}
|
||||||
.col-sm-1 { width: percentage((1 / @grid-columns)); }
|
.col-sm-1 { width: percentage((1 / @grid-columns)); }
|
||||||
@@ -163,11 +184,99 @@
|
|||||||
.col-sm-offset-11 { margin-left: percentage((11/ @grid-columns)); }
|
.col-sm-offset-11 { margin-left: percentage((11/ @grid-columns)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
// Medium and large device columns (desktop and up)
|
|
||||||
|
// Medium grid
|
||||||
|
//
|
||||||
|
// Columns, offsets, pushes, and pulls for the desktop device range.
|
||||||
|
//
|
||||||
|
// Note that `.col-md-12` doesn't get floated on purpose—there's no need since
|
||||||
|
// it's full-width.
|
||||||
|
|
||||||
@media (min-width: @screen-desktop) {
|
@media (min-width: @screen-desktop) {
|
||||||
.container {
|
.container {
|
||||||
max-width: @container-desktop;
|
max-width: @container-desktop;
|
||||||
}
|
}
|
||||||
|
.col-md-1,
|
||||||
|
.col-md-2,
|
||||||
|
.col-md-3,
|
||||||
|
.col-md-4,
|
||||||
|
.col-md-5,
|
||||||
|
.col-md-6,
|
||||||
|
.col-md-7,
|
||||||
|
.col-md-8,
|
||||||
|
.col-md-9,
|
||||||
|
.col-md-10,
|
||||||
|
.col-md-11 {
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
.col-md-1 { width: percentage((1 / @grid-columns)); }
|
||||||
|
.col-md-2 { width: percentage((2 / @grid-columns)); }
|
||||||
|
.col-md-3 { width: percentage((3 / @grid-columns)); }
|
||||||
|
.col-md-4 { width: percentage((4 / @grid-columns)); }
|
||||||
|
.col-md-5 { width: percentage((5 / @grid-columns)); }
|
||||||
|
.col-md-6 { width: percentage((6 / @grid-columns)); }
|
||||||
|
.col-md-7 { width: percentage((7 / @grid-columns)); }
|
||||||
|
.col-md-8 { width: percentage((8 / @grid-columns)); }
|
||||||
|
.col-md-9 { width: percentage((9 / @grid-columns)); }
|
||||||
|
.col-md-10 { width: percentage((10/ @grid-columns)); }
|
||||||
|
.col-md-11 { width: percentage((11/ @grid-columns)); }
|
||||||
|
.col-md-12 { width: 100%; }
|
||||||
|
|
||||||
|
// Push and pull columns for source order changes
|
||||||
|
.col-md-push-0 { left: auto; }
|
||||||
|
.col-md-push-1 { left: percentage((1 / @grid-columns)); }
|
||||||
|
.col-md-push-2 { left: percentage((2 / @grid-columns)); }
|
||||||
|
.col-md-push-3 { left: percentage((3 / @grid-columns)); }
|
||||||
|
.col-md-push-4 { left: percentage((4 / @grid-columns)); }
|
||||||
|
.col-md-push-5 { left: percentage((5 / @grid-columns)); }
|
||||||
|
.col-md-push-6 { left: percentage((6 / @grid-columns)); }
|
||||||
|
.col-md-push-7 { left: percentage((7 / @grid-columns)); }
|
||||||
|
.col-md-push-8 { left: percentage((8 / @grid-columns)); }
|
||||||
|
.col-md-push-9 { left: percentage((9 / @grid-columns)); }
|
||||||
|
.col-md-push-10 { left: percentage((10/ @grid-columns)); }
|
||||||
|
.col-md-push-11 { left: percentage((11/ @grid-columns)); }
|
||||||
|
|
||||||
|
.col-md-pull-0 { right: auto; }
|
||||||
|
.col-md-pull-1 { right: percentage((1 / @grid-columns)); }
|
||||||
|
.col-md-pull-2 { right: percentage((2 / @grid-columns)); }
|
||||||
|
.col-md-pull-3 { right: percentage((3 / @grid-columns)); }
|
||||||
|
.col-md-pull-4 { right: percentage((4 / @grid-columns)); }
|
||||||
|
.col-md-pull-5 { right: percentage((5 / @grid-columns)); }
|
||||||
|
.col-md-pull-6 { right: percentage((6 / @grid-columns)); }
|
||||||
|
.col-md-pull-7 { right: percentage((7 / @grid-columns)); }
|
||||||
|
.col-md-pull-8 { right: percentage((8 / @grid-columns)); }
|
||||||
|
.col-md-pull-9 { right: percentage((9 / @grid-columns)); }
|
||||||
|
.col-md-pull-10 { right: percentage((10/ @grid-columns)); }
|
||||||
|
.col-md-pull-11 { right: percentage((11/ @grid-columns)); }
|
||||||
|
|
||||||
|
// Offsets
|
||||||
|
.col-md-offset-0 { margin-left: 0; }
|
||||||
|
.col-md-offset-1 { margin-left: percentage((1 / @grid-columns)); }
|
||||||
|
.col-md-offset-2 { margin-left: percentage((2 / @grid-columns)); }
|
||||||
|
.col-md-offset-3 { margin-left: percentage((3 / @grid-columns)); }
|
||||||
|
.col-md-offset-4 { margin-left: percentage((4 / @grid-columns)); }
|
||||||
|
.col-md-offset-5 { margin-left: percentage((5 / @grid-columns)); }
|
||||||
|
.col-md-offset-6 { margin-left: percentage((6 / @grid-columns)); }
|
||||||
|
.col-md-offset-7 { margin-left: percentage((7 / @grid-columns)); }
|
||||||
|
.col-md-offset-8 { margin-left: percentage((8 / @grid-columns)); }
|
||||||
|
.col-md-offset-9 { margin-left: percentage((9 / @grid-columns)); }
|
||||||
|
.col-md-offset-10 { margin-left: percentage((10/ @grid-columns)); }
|
||||||
|
.col-md-offset-11 { margin-left: percentage((11/ @grid-columns)); }
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Large grid
|
||||||
|
//
|
||||||
|
// Columns, offsets, pushes, and pulls for the large desktop device range.
|
||||||
|
//
|
||||||
|
// Note that `.col-lg-12` doesn't get floated on purpose—there's no need since
|
||||||
|
// it's full-width.
|
||||||
|
|
||||||
|
@media (min-width: @screen-lg-desktop) {
|
||||||
|
.container {
|
||||||
|
max-width: @container-lg-desktop;
|
||||||
|
}
|
||||||
|
|
||||||
.col-lg-1,
|
.col-lg-1,
|
||||||
.col-lg-2,
|
.col-lg-2,
|
||||||
.col-lg-3,
|
.col-lg-3,
|
||||||
@@ -178,8 +287,7 @@
|
|||||||
.col-lg-8,
|
.col-lg-8,
|
||||||
.col-lg-9,
|
.col-lg-9,
|
||||||
.col-lg-10,
|
.col-lg-10,
|
||||||
.col-lg-11,
|
.col-lg-11 {
|
||||||
.col-lg-12 {
|
|
||||||
float: left;
|
float: left;
|
||||||
}
|
}
|
||||||
.col-lg-1 { width: percentage((1 / @grid-columns)); }
|
.col-lg-1 { width: percentage((1 / @grid-columns)); }
|
||||||
@@ -196,6 +304,7 @@
|
|||||||
.col-lg-12 { width: 100%; }
|
.col-lg-12 { width: 100%; }
|
||||||
|
|
||||||
// Push and pull columns for source order changes
|
// Push and pull columns for source order changes
|
||||||
|
.col-lg-push-0 { left: auto; }
|
||||||
.col-lg-push-1 { left: percentage((1 / @grid-columns)); }
|
.col-lg-push-1 { left: percentage((1 / @grid-columns)); }
|
||||||
.col-lg-push-2 { left: percentage((2 / @grid-columns)); }
|
.col-lg-push-2 { left: percentage((2 / @grid-columns)); }
|
||||||
.col-lg-push-3 { left: percentage((3 / @grid-columns)); }
|
.col-lg-push-3 { left: percentage((3 / @grid-columns)); }
|
||||||
@@ -208,6 +317,7 @@
|
|||||||
.col-lg-push-10 { left: percentage((10/ @grid-columns)); }
|
.col-lg-push-10 { left: percentage((10/ @grid-columns)); }
|
||||||
.col-lg-push-11 { left: percentage((11/ @grid-columns)); }
|
.col-lg-push-11 { left: percentage((11/ @grid-columns)); }
|
||||||
|
|
||||||
|
.col-lg-pull-0 { right: auto; }
|
||||||
.col-lg-pull-1 { right: percentage((1 / @grid-columns)); }
|
.col-lg-pull-1 { right: percentage((1 / @grid-columns)); }
|
||||||
.col-lg-pull-2 { right: percentage((2 / @grid-columns)); }
|
.col-lg-pull-2 { right: percentage((2 / @grid-columns)); }
|
||||||
.col-lg-pull-3 { right: percentage((3 / @grid-columns)); }
|
.col-lg-pull-3 { right: percentage((3 / @grid-columns)); }
|
||||||
@@ -221,6 +331,7 @@
|
|||||||
.col-lg-pull-11 { right: percentage((11/ @grid-columns)); }
|
.col-lg-pull-11 { right: percentage((11/ @grid-columns)); }
|
||||||
|
|
||||||
// Offsets
|
// Offsets
|
||||||
|
.col-lg-offset-0 { margin-left: 0; }
|
||||||
.col-lg-offset-1 { margin-left: percentage((1 / @grid-columns)); }
|
.col-lg-offset-1 { margin-left: percentage((1 / @grid-columns)); }
|
||||||
.col-lg-offset-2 { margin-left: percentage((2 / @grid-columns)); }
|
.col-lg-offset-2 { margin-left: percentage((2 / @grid-columns)); }
|
||||||
.col-lg-offset-3 { margin-left: percentage((3 / @grid-columns)); }
|
.col-lg-offset-3 { margin-left: percentage((3 / @grid-columns)); }
|
||||||
@@ -233,10 +344,3 @@
|
|||||||
.col-lg-offset-10 { margin-left: percentage((10/ @grid-columns)); }
|
.col-lg-offset-10 { margin-left: percentage((10/ @grid-columns)); }
|
||||||
.col-lg-offset-11 { margin-left: percentage((11/ @grid-columns)); }
|
.col-lg-offset-11 { margin-left: percentage((11/ @grid-columns)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
// Large desktops and up
|
|
||||||
@media (min-width: @screen-large-desktop) {
|
|
||||||
.container {
|
|
||||||
max-width: @container-large-desktop;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -22,6 +22,19 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Sizing options
|
||||||
|
//
|
||||||
|
// Remix the default form control sizing classes into new ones for easier
|
||||||
|
// manipulation.
|
||||||
|
|
||||||
|
.input-group-lg > .form-control,
|
||||||
|
.input-group-lg > .input-group-addon,
|
||||||
|
.input-group-lg > .input-group-btn > .btn { .input-lg(); }
|
||||||
|
.input-group-sm > .form-control,
|
||||||
|
.input-group-sm > .input-group-addon,
|
||||||
|
.input-group-sm > .input-group-btn > .btn { .input-sm(); }
|
||||||
|
|
||||||
|
|
||||||
// Display as table-cell
|
// Display as table-cell
|
||||||
// -------------------------
|
// -------------------------
|
||||||
.input-group-addon,
|
.input-group-addon,
|
||||||
@@ -49,7 +62,7 @@
|
|||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
line-height: 1;
|
line-height: 1;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
background-color: @gray-lighter;
|
background-color: @input-group-addon-bg;
|
||||||
border: 1px solid @input-group-addon-border-color;
|
border: 1px solid @input-group-addon-border-color;
|
||||||
border-radius: @border-radius-base;
|
border-radius: @border-radius-base;
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
display: inline;
|
display: inline;
|
||||||
padding: .25em .6em;
|
padding: .25em .6em;
|
||||||
font-size: 75%;
|
font-size: 75%;
|
||||||
font-weight: 500;
|
font-weight: bold;
|
||||||
line-height: 1;
|
line-height: 1;
|
||||||
color: @label-color;
|
color: @label-color;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
@@ -23,6 +23,11 @@
|
|||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Empty labels collapse automatically (not available in IE8)
|
||||||
|
&:empty {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Colors
|
// Colors
|
||||||
@@ -32,18 +37,22 @@
|
|||||||
.label-variant(@label-default-bg);
|
.label-variant(@label-default-bg);
|
||||||
}
|
}
|
||||||
|
|
||||||
.label-danger {
|
.label-primary {
|
||||||
.label-variant(@label-danger-bg);
|
.label-variant(@label-primary-bg);
|
||||||
}
|
}
|
||||||
|
|
||||||
.label-success {
|
.label-success {
|
||||||
.label-variant(@label-success-bg);
|
.label-variant(@label-success-bg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.label-info {
|
||||||
|
.label-variant(@label-info-bg);
|
||||||
|
}
|
||||||
|
|
||||||
.label-warning {
|
.label-warning {
|
||||||
.label-variant(@label-warning-bg);
|
.label-variant(@label-warning-bg);
|
||||||
}
|
}
|
||||||
|
|
||||||
.label-info {
|
.label-danger {
|
||||||
.label-variant(@label-info-bg);
|
.label-variant(@label-danger-bg);
|
||||||
}
|
}
|
||||||
|
|||||||