Commit 1ddc3f5e authored by Mark Otto's avatar Mark Otto

Merge branch 'master' into v4m

parents 8ee9da2f ab412b24
...@@ -10,5 +10,8 @@ indent_style = space ...@@ -10,5 +10,8 @@ indent_style = space
insert_final_newline = true insert_final_newline = true
trim_trailing_whitespace = true trim_trailing_whitespace = true
[*.md]
trim_trailing_whitespace = false
[*.py] [*.py]
indent_size = 4 indent_size = 4
Bootstrap uses [GitHub's Releases feature](https://github.com/blog/1547-release-your-software) for its changelogs.
See [the Releases section of our GitHub project](https://github.com/twbs/bootstrap/releases) for changelogs for each release version of Bootstrap.
Release announcement posts on [the official Bootstrap blog](http://blog.getbootstrap.com) contain summaries of the most noteworthy changes made in each release.
...@@ -258,6 +258,7 @@ module.exports = function (grunt) { ...@@ -258,6 +258,7 @@ module.exports = function (grunt) {
// and then simplify the fix for https://github.com/twbs/bootstrap/issues/14837 accordingly // and then simplify the fix for https://github.com/twbs/bootstrap/issues/14837 accordingly
compatibility: 'ie8', compatibility: 'ie8',
keepSpecialComments: '*', keepSpecialComments: '*',
sourceMap: true,
noAdvanced: true noAdvanced: true
}, },
core: { core: {
......
...@@ -45,7 +45,8 @@ bootstrap/ ...@@ -45,7 +45,8 @@ bootstrap/
├── css/ ├── css/
│ ├── bootstrap.css │ ├── bootstrap.css
│ ├── bootstrap.css.map │ ├── bootstrap.css.map
│ └── bootstrap.min.css │ ├── bootstrap.min.css
│ └── bootstrap.min.css.map
└── js/ └── js/
├── bootstrap.js ├── bootstrap.js
└── bootstrap.min.js └── bootstrap.min.js
......
...@@ -29,6 +29,6 @@ ...@@ -29,6 +29,6 @@
"test-infra" "test-infra"
], ],
"dependencies": { "dependencies": {
"jquery": ">= 1.9.1" "jquery": "1.9.1 - 2"
} }
} }
This diff was suppressed by a .gitattributes entry.
This diff was suppressed by a .gitattributes entry.
- -
browser: > browser: >
Internet Explorer 11 Internet Explorer 11 & Microsoft Edge
summary: > summary: >
Hovered element still remains in `:hover` state after scrolling away. Hovered element still remains in `:hover` state after scrolling away.
upstream_bug: > upstream_bug: >
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
- -
browser: > browser: >
Internet Explorer 11 Internet Explorer 11 & Microsoft Edge
summary: > summary: >
When hovering over a `<select>` menu item, the cursor for the element underneath the menu is displayed. When hovering over a `<select>` menu item, the cursor for the element underneath the menu is displayed.
upstream_bug: > upstream_bug: >
...@@ -18,6 +18,16 @@ ...@@ -18,6 +18,16 @@
origin: > origin: >
Bootstrap#14528 Bootstrap#14528
-
browser: >
Internet Explorer 11 & Microsoft Edge
summary: >
CSS `border-radius` sometimes causes lines of bleed-through of the `background-color` of the parent element.
upstream_bug: >
IE#1463734
origin: >
Bootstrap#16671
- -
browser: > browser: >
Firefox Firefox
...@@ -98,16 +108,6 @@ ...@@ -98,16 +108,6 @@
origin: > origin: >
Bootstrap#16180 Bootstrap#16180
-
browser: >
Chrome
summary: >
`display: table;` within `display: block;` forces sibling content to new line.
upstream_bug: >
Chromium#309483
origin: >
Bootstrap#9950
- -
browser: > browser: >
Chrome Chrome
...@@ -168,6 +168,16 @@ ...@@ -168,6 +168,16 @@
origin: > origin: >
Bootstrap#16372 Bootstrap#16372
-
browser: >
Safari
summary: >
Incorrect placement of `position: fixed` element when it's a child of a `position: relative; left: X%;` element.
upstream_bug: >
WebKit#147284, Safari#21993128
origin: >
Bootstrap#16814
- -
browser: > browser: >
Safari (OS X) Safari (OS X)
...@@ -210,46 +220,16 @@ ...@@ -210,46 +220,16 @@
origin: > origin: >
Bootstrap#14868 Bootstrap#14868
-
browser: >
Safari (OS X)
summary: >
Alpha linear-gradient has dark line at its edge.
upstream_bug: >
WebKit#139803, Safari#19434933
origin: >
Bootstrap#15205
-
browser: >
Safari (OS X)
summary: >
Caps Lock indicator not shown in `<input type="password">` with `display: block`
upstream_bug: >
WebKit#141804, Safari#19892433
origin: >
Bootstrap#15832
- -
browser: > browser: >
Safari (OS X) Safari (OS X)
summary: > summary: >
Focus ring of image map within a modal is displayed in the wrong location. Focus ring of image map within a modal is displayed in the wrong location.
upstream_bug: > upstream_bug: >
WebKit#143527 WebKit#143527, Safari#21908735
origin: > origin: >
Bootstrap#16180 Bootstrap#16180
-
browser: >
Safari (OS X)
summary: >
Unnecessary line-wrapping of `.navbar-brand` text for no apparent reason
upstream_bug: >
WebKit#144990, Safari#20950962
origin: >
Bootstrap#15998
- -
browser: > browser: >
Safari (iOS) Safari (iOS)
...@@ -279,3 +259,13 @@ ...@@ -279,3 +259,13 @@
WebKit#139848, Safari#19434878 WebKit#139848, Safari#19434878
origin: > origin: >
Bootstrap#11266, Bootstrap#13098 Bootstrap#11266, Bootstrap#13098
-
browser: >
Safari (iOS)
summary: >
Tapping below `<input>`s can focus them in some cases
upstream_bug: >
WebKit#146244, Safari#21509310
origin: >
Bootstrap#15968
...@@ -28,6 +28,11 @@ ...@@ -28,6 +28,11 @@
description: Bootstrap 한국어 description: Bootstrap 한국어
url: http://bootstrapk.com/ url: http://bootstrapk.com/
- name: Brazilian Portuguese
code: pt-BR
description: Bootstrap em Português do Brasil
url: http://bootstrapbrasil.github.io/
- name: Russian - name: Russian
code: ru code: ru
description: Bootstrap по-русски description: Bootstrap по-русски
...@@ -38,6 +43,11 @@ ...@@ -38,6 +43,11 @@
description: Bootstrap en Español description: Bootstrap en Español
url: http://www.oneskyapp.com/es/docs/bootstrap/ url: http://www.oneskyapp.com/es/docs/bootstrap/
- name: Turkish
code: tr
description: Türkçe Bootstrap
url: http://www.trbootstrap.com
- name: Ukrainian - name: Ukrainian
code: uk code: uk
description: Bootstrap українською description: Bootstrap українською
......
<!-- Footer
================================================== -->
<footer class="bd-footer" role="contentinfo"> <footer class="bd-footer" role="contentinfo">
<div class="bd-container"> <div class="bd-container">
{% include social-buttons.html %}
<p>
Designed and built with all the love in the world by <a href="https://twitter.com/mdo" target="_blank">@mdo</a> and <a href="https://twitter.com/fat" target="_blank">@fat</a>.
Maintained by the <a href="https://github.com/orgs/twbs/people">core team</a> with the help of <a href="https://github.com/twbs/bootstrap/graphs/contributors">our contributors</a>.
Code licensed <a rel="license" href="https://github.com/twbs/bootstrap/blob/master/LICENSE" target="_blank">MIT</a>, docs <a rel="license" href="https://creativecommons.org/licenses/by/3.0/" target="_blank">CC BY 3.0</a>.
</p>
<ul class="bd-footer-links text-muted"> <ul class="bd-footer-links text-muted">
<li>Currently v{{ site.current_version }}</li> <li>Currently v{{ site.current_version }}</li>
<li>&middot;</li>
<li><a href="{{ site.repo }}">GitHub</a></li> <li><a href="{{ site.repo }}">GitHub</a></li>
<li>&middot;</li> <li><a href="https://twitter.com/getbootstrap">Twitter</a></li>
<li><a href="../getting-started/#examples">Examples</a></li> <li><a href="../getting-started/#examples">Examples</a></li>
<li>&middot;</li>
<li><a href="../2.3.2/">v2.3.2 docs</a></li>
<li>&middot;</li>
<li><a href="../about/">About</a></li> <li><a href="../about/">About</a></li>
<li>&middot;</li>
<li><a href="{{ site.expo }}">Expo</a></li>
<li>&middot;</li>
<li><a href="{{ site.blog }}">Blog</a></li>
<li>&middot;</li>
<li><a href="{{ site.repo }}/issues">Issues</a></li>
<li>&middot;</li>
<li><a href="{{ site.repo }}/releases">Releases</a></li>
</ul> </ul>
<p>Designed and built with all the love in the world by <a href="https://twitter.com/mdo" target="_blank">@mdo</a> and <a href="https://twitter.com/fat" target="_blank">@fat</a>. Maintained by the <a href="https://github.com/orgs/twbs/people">core team</a> with the help of <a href="https://github.com/twbs/bootstrap/graphs/contributors">our contributors</a>.</p>
<p>Code licensed <a rel="license" href="https://github.com/twbs/bootstrap/blob/master/LICENSE" target="_blank">MIT</a>, docs <a rel="license" href="https://creativecommons.org/licenses/by/3.0/" target="_blank">CC BY 3.0</a>.</p>
</div> </div>
</footer> </footer>
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="../assets/js/vendor/jquery.min.js"><\/script>')</script>
{% if site.github %} {% if site.github %}
<script src="{{ site.baseurl }}/dist/js/bootstrap.min.js"></script> <script src="{{ site.baseurl }}/dist/js/bootstrap.min.js"></script>
...@@ -71,23 +49,6 @@ Holder.addTheme('gray', { ...@@ -71,23 +49,6 @@ Holder.addTheme('gray', {
}) })
</script> </script>
{% comment %}
Inject Twitter widgets asynchronously. Snippet snipped from Twitter's
JS interface site: https://dev.twitter.com/docs/tfw-javascript
* "js.async=1;" added to add async attribute to the generated script tag.
{% endcomment %}
<script>
window.twttr = (function (d,s,id) {
var t, js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return; js=d.createElement(s); js.id=id; js.async=1;
js.src="https://platform.twitter.com/widgets.js"; fjs.parentNode.insertBefore(js, fjs);
return window.twttr || (t = { _e: [], ready: function(f){ t._e.push(f) } });
}(document, "script", "twitter-wjs"));
</script>
<!-- Analytics
================================================== -->
<script> <script>
var _gauges = _gauges || []; var _gauges = _gauges || [];
(function() { (function() {
......
<div class="bd-social">
<ul class="bd-social-buttons">
<li>
<iframe class="github-btn" src="https://ghbtns.com/github-btn.html?user=twbs&amp;repo=bootstrap&amp;type=watch&amp;count=true" width="100" height="20" title="Star on GitHub"></iframe>
</li>
<li>
<iframe class="github-btn" src="https://ghbtns.com/github-btn.html?user=twbs&amp;repo=bootstrap&amp;type=fork&amp;count=true" width="102" height="20" title="Fork on GitHub"></iframe>
</li>
<li class="follow-btn">
<a href="https://twitter.com/getbootstrap" class="twitter-follow-button" data-link-color="#0069D6" data-show-count="true">Follow @getbootstrap</a>
</li>
<li class="tweet-btn">
<a href="https://twitter.com/share" class="twitter-share-button" data-url="http://getbootstrap.com/" data-count="horizontal" data-via="getbootstrap" data-related="mdo:Creator of Bootstrap">Tweet</a>
</li>
</ul>
</div>
This diff is collapsed.
...@@ -487,6 +487,48 @@ Add the `readonly` boolean attribute on an input to prevent modification of the ...@@ -487,6 +487,48 @@ Add the `readonly` boolean attribute on an input to prevent modification of the
<input class="form-control" type="text" placeholder="Readonly input here…" readonly> <input class="form-control" type="text" placeholder="Readonly input here…" readonly>
{% endexample %} {% endexample %}
## Control sizing
Set heights using classes like `.form-control-lg`, and set widths using grid column classes like `.col-lg-*`.
{% example html %}
<input class="form-control form-control-lg" type="text" placeholder=".input-lg">
<input class="form-control" type="text" placeholder="Default input">
<input class="form-control form-control-sm" type="text" placeholder=".input-sm">
{% endexample %}
{% example html %}
<select class="form-control form-control-lg"></select>
<select class="form-control"></select>
<select class="form-control form-control-sm"></select>
{% endexample %}
## Column sizing
Wrap inputs in grid columns, or any custom parent element, to easily enforce desired widths.
{% example html %}
<div class="row">
<div class="col-xs-2">
<input type="text" class="form-control" placeholder=".col-xs-2">
</div>
<div class="col-xs-3">
<input type="text" class="form-control" placeholder=".col-xs-3">
</div>
<div class="col-xs-4">
<input type="text" class="form-control" placeholder=".col-xs-4">
</div>
</div>
{% endexample %}
## Help text
Block level help text for form controls.
{% example html %}
<p class="help-block">A block of help text that breaks onto a new line and may extend beyond one line.</p>
{% endexample %}
## Validation ## Validation
Bootstrap includes validation styles for error, warning, and success states on form controls. To use, add `.has-warning`, `.has-error`, or `.has-success` to the parent element. Any `.control-label`, `.form-control`, and `.help-block` within that element will receive the validation styles. Bootstrap includes validation styles for error, warning, and success states on form controls. To use, add `.has-warning`, `.has-error`, or `.has-success` to the parent element. Any `.control-label`, `.form-control`, and `.help-block` within that element will receive the validation styles.
...@@ -632,50 +674,6 @@ For form controls with no visible label, add the `.sr-only` class on the label. ...@@ -632,50 +674,6 @@ For form controls with no visible label, add the `.sr-only` class on the label.
</div> </div>
{% endexample %} {% endexample %}
## Control sizing
Set heights using classes like `.form-control-lg`, and set widths using grid column classes like `.col-lg-*`.
{% example html %}
<input class="form-control form-control-lg" type="text" placeholder=".input-lg">
<input class="form-control" type="text" placeholder="Default input">
<input class="form-control form-control-sm" type="text" placeholder=".input-sm">
{% endexample %}
{% example html %}
<select class="form-control form-control-lg"></select>
<select class="form-control"></select>
<select class="form-control form-control-sm"></select>
{% endexample %}
## Column sizing
Wrap inputs in grid columns, or any custom parent element, to easily enforce desired widths.
{% example html %}
<div class="row">
<div class="col-xs-2">
<input type="text" class="form-control" placeholder=".col-xs-2">
</div>
<div class="col-xs-3">
<input type="text" class="form-control" placeholder=".col-xs-3">
</div>
<div class="col-xs-4">
<input type="text" class="form-control" placeholder=".col-xs-4">
</div>
</div>
{% endexample %}
## Help text
Block level help text for form controls.
{% example html %}
<p class="help-block">A block of help text that breaks onto a new line and may extend beyond one line.</p>
{% endexample %}
## Custom forms ## Custom forms
For even more customization and cross browser consistency, use our completely custom form elements to replace the browser defaults. They're built on top of semantic and accessible markup, so they're solid replacements any default form control. For even more customization and cross browser consistency, use our completely custom form elements to replace the browser defaults. They're built on top of semantic and accessible markup, so they're solid replacements any default form control.
......
...@@ -25,6 +25,12 @@ Place one add-on or button on either side of an input. You may also place one on ...@@ -25,6 +25,12 @@ Place one add-on or button on either side of an input. You may also place one on
<span class="input-group-addon" id="basic-addon2">.00</span> <span class="input-group-addon" id="basic-addon2">.00</span>
</div> </div>
<br> <br>
<label for="basic-url">Your vanity URL</label>
<div class="input-group">
<span class="input-group-addon" id="basic-addon3">https://example.com/users/</span>
<input type="text" class="form-control" id="basic-url" aria-describedby="basic-addon3">
</div>
<br>
<div class="input-group"> <div class="input-group">
<span class="input-group-addon">$</span> <span class="input-group-addon">$</span>
<input type="text" class="form-control" aria-label="Amount (to the nearest dollar)"> <input type="text" class="form-control" aria-label="Amount (to the nearest dollar)">
......
...@@ -274,28 +274,26 @@ To take advantage of the Bootstrap grid system within a modal, just nest `.conta ...@@ -274,28 +274,26 @@ To take advantage of the Bootstrap grid system within a modal, just nest `.conta
<h4 class="modal-title" id="gridModalLabel">Modal title</h4> <h4 class="modal-title" id="gridModalLabel">Modal title</h4>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<div class="container-fluid"> <div class="row">
<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-offset-4">.col-md-4 .col-md-offset-4</div>
<div class="col-md-4 col-md-offset-4">.col-md-4 .col-md-offset-4</div> </div>
</div> <div class="row">
<div class="row"> <div class="col-md-3 col-md-offset-3">.col-md-3 .col-md-offset-3</div>
<div class="col-md-3 col-md-offset-3">.col-md-3 .col-md-offset-3</div> <div class="col-md-2 col-md-offset-4">.col-md-2 .col-md-offset-4</div>
<div class="col-md-2 col-md-offset-4">.col-md-2 .col-md-offset-4</div> </div>
</div> <div class="row">
<div class="row"> <div class="col-md-6 col-md-offset-3">.col-md-6 .col-md-offset-3</div>
<div class="col-md-6 col-md-offset-3">.col-md-6 .col-md-offset-3</div> </div>
</div> <div class="row">
<div class="row"> <div class="col-sm-9">
<div class="col-sm-9"> Level 1: .col-sm-9
Level 1: .col-sm-9 <div class="row">
<div class="row"> <div class="col-xs-8 col-sm-6">
<div class="col-xs-8 col-sm-6"> Level 2: .col-xs-8 .col-sm-6
Level 2: .col-xs-8 .col-sm-6 </div>
</div> <div class="col-xs-4 col-sm-6">
<div class="col-xs-4 col-sm-6"> Level 2: .col-xs-4 .col-sm-6
Level 2: .col-xs-4 .col-sm-6
</div>
</div> </div>
</div> </div>
</div> </div>
......
...@@ -254,8 +254,8 @@ The `<address>` element is updated to reset the browser default `font-style` fro ...@@ -254,8 +254,8 @@ The `<address>` element is updated to reset the browser default `font-style` fro
<div class="bd-example"> <div class="bd-example">
<address> <address>
<strong>Twitter, Inc.</strong><br> <strong>Twitter, Inc.</strong><br>
795 Folsom Ave, Suite 600<br> 1355 Market St, Suite 900<br>
San Francisco, CA 94107<br> San Francisco, CA 94103<br>
<abbr title="Phone">P:</abbr> (123) 456-7890 <abbr title="Phone">P:</abbr> (123) 456-7890
</address> </address>
......
This diff was suppressed by a .gitattributes entry.
This diff was suppressed by a .gitattributes entry.
...@@ -164,6 +164,7 @@ ...@@ -164,6 +164,7 @@
================================================== --> ================================================== -->
<!-- Placed at the end of the document so the pages load faster --> <!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
<script src="../../dist/js/bootstrap.min.js"></script> <script src="../../dist/js/bootstrap.min.js"></script>
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug --> <!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
<script src="../../assets/js/ie10-viewport-bug-workaround.js"></script> <script src="../../assets/js/ie10-viewport-bug-workaround.js"></script>
......
...@@ -178,6 +178,7 @@ ...@@ -178,6 +178,7 @@
================================================== --> ================================================== -->
<!-- Placed at the end of the document so the pages load faster --> <!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
<script src="../../dist/js/bootstrap.min.js"></script> <script src="../../dist/js/bootstrap.min.js"></script>
<!-- Just to make our placeholder images work. Don't actually copy the next line! --> <!-- Just to make our placeholder images work. Don't actually copy the next line! -->
<script src="../../assets/js/vendor/holder.min.js"></script> <script src="../../assets/js/vendor/holder.min.js"></script>
......
...@@ -64,6 +64,7 @@ ...@@ -64,6 +64,7 @@
================================================== --> ================================================== -->
<!-- Placed at the end of the document so the pages load faster --> <!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
<script src="../../dist/js/bootstrap.min.js"></script> <script src="../../dist/js/bootstrap.min.js"></script>
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug --> <!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
<script src="../../assets/js/ie10-viewport-bug-workaround.js"></script> <script src="../../assets/js/ie10-viewport-bug-workaround.js"></script>
......
...@@ -75,22 +75,22 @@ ...@@ -75,22 +75,22 @@
<div class="row placeholders"> <div class="row placeholders">
<div class="col-xs-6 col-sm-3 placeholder"> <div class="col-xs-6 col-sm-3 placeholder">
<img data-src="holder.js/200x200/auto/sky" class="img-responsive" alt="Generic placeholder thumbnail"> <img src="data:image/gif;base64,R0lGODlhAQABAIAAAHd3dwAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==" width="200" height="200" class="img-responsive" alt="Generic placeholder thumbnail">
<h4>Label</h4> <h4>Label</h4>
<span class="text-muted">Something else</span> <span class="text-muted">Something else</span>
</div> </div>
<div class="col-xs-6 col-sm-3 placeholder"> <div class="col-xs-6 col-sm-3 placeholder">
<img data-src="holder.js/200x200/auto/vine" class="img-responsive" alt="Generic placeholder thumbnail"> <img src="data:image/gif;base64,R0lGODlhAQABAIAAAHd3dwAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==" width="200" height="200" class="img-responsive" alt="Generic placeholder thumbnail">
<h4>Label</h4> <h4>Label</h4>
<span class="text-muted">Something else</span> <span class="text-muted">Something else</span>
</div> </div>
<div class="col-xs-6 col-sm-3 placeholder"> <div class="col-xs-6 col-sm-3 placeholder">
<img data-src="holder.js/200x200/auto/sky" class="img-responsive" alt="Generic placeholder thumbnail"> <img src="data:image/gif;base64,R0lGODlhAQABAIAAAHd3dwAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==" width="200" height="200" class="img-responsive" alt="Generic placeholder thumbnail">
<h4>Label</h4> <h4>Label</h4>
<span class="text-muted">Something else</span> <span class="text-muted">Something else</span>
</div> </div>
<div class="col-xs-6 col-sm-3 placeholder"> <div class="col-xs-6 col-sm-3 placeholder">
<img data-src="holder.js/200x200/auto/vine" class="img-responsive" alt="Generic placeholder thumbnail"> <img src="data:image/gif;base64,R0lGODlhAQABAIAAAHd3dwAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==" width="200" height="200" class="img-responsive" alt="Generic placeholder thumbnail">
<h4>Label</h4> <h4>Label</h4>
<span class="text-muted">Something else</span> <span class="text-muted">Something else</span>
</div> </div>
...@@ -232,6 +232,7 @@ ...@@ -232,6 +232,7 @@
================================================== --> ================================================== -->
<!-- Placed at the end of the document so the pages load faster --> <!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
<script src="../../dist/js/bootstrap.min.js"></script> <script src="../../dist/js/bootstrap.min.js"></script>
<!-- Just to make our placeholder images work. Don't actually copy the next line! --> <!-- Just to make our placeholder images work. Don't actually copy the next line! -->
<script src="../../assets/js/vendor/holder.min.js"></script> <script src="../../assets/js/vendor/holder.min.js"></script>
......
...@@ -5,6 +5,8 @@ title: Examples ...@@ -5,6 +5,8 @@ title: Examples
Quickly get a project started with any of our examples ranging from using parts of the framework to custom components and layouts. Quickly get a project started with any of our examples ranging from using parts of the framework to custom components and layouts.
[Download the Bootstrap source code]({{ site.download.source }}) to snag these examples.
## Framework ## Framework
Examples that focus on implementing uses of built-in components provided by Bootstrap. Examples that focus on implementing uses of built-in components provided by Bootstrap.
......
...@@ -79,6 +79,7 @@ ...@@ -79,6 +79,7 @@
================================================== --> ================================================== -->
<!-- Placed at the end of the document so the pages load faster --> <!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
<script src="../../dist/js/bootstrap.min.js"></script> <script src="../../dist/js/bootstrap.min.js"></script>
</body> </body>
</html> </html>
...@@ -53,6 +53,7 @@ ...@@ -53,6 +53,7 @@
================================================== --> ================================================== -->
<!-- Placed at the end of the document so the pages load faster --> <!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
<script src="../../dist/js/bootstrap.min.js"></script> <script src="../../dist/js/bootstrap.min.js"></script>
</body> </body>
</html> </html>
...@@ -118,7 +118,10 @@ ...@@ -118,7 +118,10 @@
================================================== --> ================================================== -->
<!-- Placed at the end of the document so the pages load faster --> <!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
<script src="../../dist/js/bootstrap.min.js"></script> <script src="../../dist/js/bootstrap.min.js"></script>
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
<script src="../../assets/js/ie10-viewport-bug-workaround.js"></script>
<script src="offcanvas.js"></script> <script src="offcanvas.js"></script>
</body> </body>
</html> </html>
...@@ -52,6 +52,7 @@ ...@@ -52,6 +52,7 @@
================================================== --> ================================================== -->
<!-- Placed at the end of the document so the pages load faster --> <!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
<script src="../../dist/js/bootstrap.min.js"></script> <script src="../../dist/js/bootstrap.min.js"></script>
</body> </body>
</html> </html>
...@@ -77,6 +77,7 @@ ...@@ -77,6 +77,7 @@
================================================== --> ================================================== -->
<!-- Placed at the end of the document so the pages load faster --> <!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
<script src="../../dist/js/bootstrap.min.js"></script> <script src="../../dist/js/bootstrap.min.js"></script>
</body> </body>
</html> </html>
...@@ -43,7 +43,10 @@ ...@@ -43,7 +43,10 @@
================================================== --> ================================================== -->
<!-- Placed at the end of the document so the pages load faster --> <!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
<script src="../../dist/js/bootstrap.min.js"></script> <script src="../../dist/js/bootstrap.min.js"></script>
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
<script src="../../assets/js/ie10-viewport-bug-workaround.js"></script>
<script src="tooltip-viewport.js"></script> <script src="tooltip-viewport.js"></script>
</body> </body>
</html> </html>
...@@ -28,6 +28,7 @@ bootstrap/ ...@@ -28,6 +28,7 @@ bootstrap/
│ ├── bootstrap.css │ ├── bootstrap.css
│ ├── bootstrap.css.map │ ├── bootstrap.css.map
│ ├── bootstrap.min.css │ ├── bootstrap.min.css
│ └── bootstrap.min.css.map
└── js/ └── js/
├── bootstrap.js ├── bootstrap.js
└── bootstrap.min.js └── bootstrap.min.js
......
...@@ -102,7 +102,7 @@ $ composer require twbs/bootstrap ...@@ -102,7 +102,7 @@ $ composer require twbs/bootstrap
{% for showcase in site.data.showcase %} {% for showcase in site.data.showcase %}
<div class="col-xs-6 col-sm-3"> <div class="col-xs-6 col-sm-3">
<a href="{{ showcase.expo_url }}" target="_blank" title="{{ showcase.name }}"> <a href="{{ showcase.expo_url }}" target="_blank" title="{{ showcase.name }}">
<img src="http://expo.getbootstrap.com/thumbs/{{ showcase.img }}-thumb.jpg" alt="{{ showcase.name }}" class="img-responsive"> <img src="{{ site.baseurl }}/assets/img/expo-{{ showcase.img }}.jpg" alt="{{ showcase.name }}" class="img-responsive">
</a> </a>
</div> </div>
{% endfor %} {% endfor %}
......
...@@ -28,8 +28,8 @@ ...@@ -28,8 +28,8 @@
"+function ($) {", "+function ($) {",
" 'use strict';", " 'use strict';",
" var version = $.fn.jquery.split(' ')[0].split('.')", " var version = $.fn.jquery.split(' ')[0].split('.')",
" if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1)) {", " if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1) || (version[0] > 2)) {",
" throw new Error('Bootstrap\\'s JavaScript requires jQuery version 1.9.1 or higher')", " throw new Error('Bootstrap\\'s JavaScript requires jQuery version 1.9.1 or higher, but lower than version 3')",
" }", " }",
"}(jQuery);\n\n" "}(jQuery);\n\n"
] ]
......
...@@ -55,7 +55,7 @@ ...@@ -55,7 +55,7 @@
<script> <script>
// See https://github.com/axemclion/grunt-saucelabs#test-result-details-with-qunit // See https://github.com/axemclion/grunt-saucelabs#test-result-details-with-qunit
var log = [] var log = []
// Require assert.expect in each test. // Require assert.expect in each test
QUnit.config.requireExpects = true QUnit.config.requireExpects = true
QUnit.done(function (testResults) { QUnit.done(function (testResults) {
var tests = [] var tests = []
......
...@@ -286,6 +286,38 @@ $(function () { ...@@ -286,6 +286,38 @@ $(function () {
$(document.body).trigger('click') $(document.body).trigger('click')
}) })
QUnit.test('should fire shown and hidden event with a relatedTarget', function (assert) {
assert.expect(2)
var dropdownHTML = '<ul class="tabs">'
+ '<li class="dropdown">'
+ '<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>'
+ '<ul class="dropdown-menu">'
+ '<li><a href="#">Secondary link</a></li>'
+ '<li><a href="#">Something else here</a></li>'
+ '<li class="divider"/>'
+ '<li><a href="#">Another link</a></li>'
+ '</ul>'
+ '</li>'
+ '</ul>'
var $dropdown = $(dropdownHTML)
.appendTo('#qunit-fixture')
.find('[data-toggle="dropdown"]')
.bootstrapDropdown()
var done = assert.async()
$dropdown.parent('.dropdown')
.on('hidden.bs.dropdown', function (e) {
assert.strictEqual(e.relatedTarget, $dropdown[0])
done()
})
.on('shown.bs.dropdown', function (e) {
assert.strictEqual(e.relatedTarget, $dropdown[0])
$(document.body).trigger('click')
})
$dropdown.trigger('click')
})
QUnit.test('should ignore keyboard events within <input>s and <textarea>s', function (assert) { QUnit.test('should ignore keyboard events within <input>s and <textarea>s', function (assert) {
assert.expect(3) assert.expect(3)
var done = assert.async() var done = assert.async()
......
...@@ -18,7 +18,9 @@ Package.onUse(function (api) { ...@@ -18,7 +18,9 @@ Package.onUse(function (api) {
'dist/fonts/glyphicons-halflings-regular.svg', 'dist/fonts/glyphicons-halflings-regular.svg',
'dist/fonts/glyphicons-halflings-regular.ttf', 'dist/fonts/glyphicons-halflings-regular.ttf',
'dist/fonts/glyphicons-halflings-regular.woff', 'dist/fonts/glyphicons-halflings-regular.woff',
'dist/fonts/glyphicons-halflings-regular.woff2', 'dist/fonts/glyphicons-halflings-regular.woff2'
], 'client', { isAsset: true });
api.addFiles([
'dist/css/bootstrap.css', 'dist/css/bootstrap.css',
'dist/js/bootstrap.js' 'dist/js/bootstrap.js'
], 'client'); ], 'client');
......
...@@ -77,9 +77,9 @@ ...@@ -77,9 +77,9 @@
// Modal header // Modal header
// Top section of the modal w/ title and dismiss // Top section of the modal w/ title and dismiss
.modal-header { .modal-header {
min-height: ($modal-title-padding + $modal-title-line-height);
padding: $modal-title-padding; padding: $modal-title-padding;
border-bottom: 1px solid $modal-header-border-color; border-bottom: 1px solid $modal-header-border-color;
@include clearfix;
} }
// Close icon // Close icon
.modal-header .close { .modal-header .close {
......
...@@ -37,11 +37,8 @@ ...@@ -37,11 +37,8 @@
&.disabled, &.disabled,
&:disabled, &:disabled,
fieldset[disabled] & { fieldset[disabled] & {
&,
&:focus, &:focus,
&.focus, &.focus {
&:active,
&.active {
background-color: $background; background-color: $background;
border-color: $border; border-color: $border;
} }
......
This source diff could not be displayed because it is too large. You can view the blob instead.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment