aboutsummaryrefslogtreecommitdiff
path: root/docs/components
diff options
context:
space:
mode:
authorThomas McDonald <[email protected]>2015-08-24 16:19:19 -0700
committerThomas McDonald <[email protected]>2015-08-24 16:19:19 -0700
commit22717a12426af5567f65be1da3d4d968c22276a7 (patch)
tree491c47f72160c5b1133fa138c1fbacd00e253377 /docs/components
parentec523617a3eb6da5b3e14f878931c769999f89a7 (diff)
parent0da684ff8501768c0ecd4c60c0c7cf043bde1a1d (diff)
downloadbootstrap-22717a12426af5567f65be1da3d4d968c22276a7.tar.xz
bootstrap-22717a12426af5567f65be1da3d4d968c22276a7.zip
Merge branch 'v4-dev' into fix-travis-v4
Diffstat (limited to 'docs/components')
-rw-r--r--docs/components/breadcrumb.md2
-rw-r--r--docs/components/button-dropdown.md26
-rw-r--r--docs/components/button-group.md49
-rw-r--r--docs/components/buttons.md20
-rw-r--r--docs/components/card.md14
-rw-r--r--docs/components/forms.md4
-rw-r--r--docs/components/input-group.md56
-rw-r--r--docs/components/modal.md10
-rw-r--r--docs/components/navs.md6
-rw-r--r--docs/components/pagination.md2
-rw-r--r--docs/components/popovers.md14
-rw-r--r--docs/components/progress.md2
-rw-r--r--docs/components/scrollspy.md18
-rw-r--r--docs/components/tooltips.md8
-rw-r--r--docs/components/utilities.md8
15 files changed, 101 insertions, 138 deletions
diff --git a/docs/components/breadcrumb.md b/docs/components/breadcrumb.md
index 8dd4fb27c..bfd7ef1b6 100644
--- a/docs/components/breadcrumb.md
+++ b/docs/components/breadcrumb.md
@@ -6,7 +6,7 @@ group: components
Indicate the current page's location within a navigational hierarchy.
-Separators are automatically added in CSS through `:before` and `content`.
+Separators are automatically added in CSS through [`::before`](https://developer.mozilla.org/en-US/docs/Web/CSS/::before) and [`content`](https://developer.mozilla.org/en-US/docs/Web/CSS/content).
{% example html %}
<ol class="breadcrumb">
diff --git a/docs/components/button-dropdown.md b/docs/components/button-dropdown.md
index 315b35107..e2aa98df3 100644
--- a/docs/components/button-dropdown.md
+++ b/docs/components/button-dropdown.md
@@ -9,7 +9,7 @@ Use any button to trigger a dropdown menu by placing it within a `.btn-group` an
{% callout danger %}
#### Plugin dependency
-Button dropdowns require the [dropdown plugin](../javascript/#dropdowns) to be included in your version of Bootstrap.
+Button dropdowns require the [dropdown plugin]({{ site.baseurl }}/components/dropdowns/) to be included in your version of Bootstrap.
{% endcallout %}
## Contents
@@ -235,20 +235,6 @@ Button dropdowns work with buttons of all sizes.
</div>
</div><!-- /btn-group -->
</div><!-- /btn-toolbar -->
- <div class="btn-toolbar" role="toolbar">
- <div class="btn-group">
- <button class="btn btn-secondary btn-xs dropdown-toggle" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
- Extra small button
- </button>
- <div class="dropdown-menu">
- <a class="dropdown-item" href="#">Action</a>
- <a class="dropdown-item" href="#">Another action</a>
- <a class="dropdown-item" href="#">Something else here</a>
- <div class="dropdown-divider"></div>
- <a class="dropdown-item" href="#">Separated link</a>
- </div>
- </div><!-- /btn-group -->
- </div><!-- /btn-toolbar -->
</div><!-- /example -->
{% highlight html %}
@@ -271,16 +257,6 @@ Button dropdowns work with buttons of all sizes.
...
</div>
</div>
-
-<!-- Extra small button group -->
-<div class="btn-group">
- <button class="btn btn-secondary btn-xs dropdown-toggle" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
- Extra small button
- </button>
- <div class="dropdown-menu">
- ...
- </div>
-</div>
{% endhighlight %}
### Dropup variation
diff --git a/docs/components/button-group.md b/docs/components/button-group.md
index 73d3ef5ff..c14d3d63a 100644
--- a/docs/components/button-group.md
+++ b/docs/components/button-group.md
@@ -4,7 +4,7 @@ title: Button group
group: components
---
-Group a series of buttons together on a single line with the button group. Add on optional JavaScript radio and checkbox style behavior with [our buttons plugin](../javascript/#buttons).
+Group a series of buttons together on a single line with the button group. Add on optional JavaScript radio and checkbox style behavior with [our buttons plugin]({{ site.baseurl }}/components/buttons/#button-plugin).
## Contents
@@ -68,19 +68,12 @@ Instead of applying button sizing classes to every button in a group, just add `
<button type="button" class="btn btn-secondary">Middle</button>
<button type="button" class="btn btn-secondary">Right</button>
</div>
- <br>
- <div class="btn-group btn-group-xs" role="group" aria-label="Extra small button group">
- <button type="button" class="btn btn-secondary">Left</button>
- <button type="button" class="btn btn-secondary">Middle</button>
- <button type="button" class="btn btn-secondary">Right</button>
- </div>
</div>
{% highlight html %}
<div class="btn-group btn-group-lg" role="group" aria-label="...">...</div>
<div class="btn-group" role="group" aria-label="...">...</div>
<div class="btn-group btn-group-sm" role="group" aria-label="...">...</div>
-<div class="btn-group btn-group-xs" role="group" aria-label="...">...</div>
{% endhighlight %}
## Nesting
@@ -96,10 +89,10 @@ Place a `.btn-group` within another `.btn-group` when you want dropdown menus mi
<button id="btnGroupDrop1" type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Dropdown
</button>
- <ul class="dropdown-menu" aria-labelledby="btnGroupDrop1">
- <li><a href="#">Dropdown link</a></li>
- <li><a href="#">Dropdown link</a></li>
- </ul>
+ <div class="dropdown-menu" aria-labelledby="btnGroupDrop1">
+ <a class="dropdown-item" href="#">Dropdown link</a>
+ <a class="dropdown-item" href="#">Dropdown link</a>
+ </div>
</div>
</div>
{% endexample %}
@@ -116,10 +109,10 @@ Make a set of buttons appear vertically stacked rather than horizontally. **Spli
<button id="btnGroupVerticalDrop1" type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Dropdown
</button>
- <ul class="dropdown-menu" aria-labelledby="btnGroupVerticalDrop1">
- <li><a href="#">Dropdown link</a></li>
- <li><a href="#">Dropdown link</a></li>
- </ul>
+ <div class="dropdown-menu" aria-labelledby="btnGroupVerticalDrop1">
+ <a class="dropdown-item" href="#">Dropdown link</a>
+ <a class="dropdown-item" href="#">Dropdown link</a>
+ </div>
</div>
<button type="button" class="btn btn-secondary">Button</button>
<button type="button" class="btn btn-secondary">Button</button>
@@ -127,28 +120,28 @@ Make a set of buttons appear vertically stacked rather than horizontally. **Spli
<button id="btnGroupVerticalDrop2" type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Dropdown
</button>
- <ul class="dropdown-menu" aria-labelledby="btnGroupVerticalDrop2">
- <li><a href="#">Dropdown link</a></li>
- <li><a href="#">Dropdown link</a></li>
- </ul>
+ <div class="dropdown-menu" aria-labelledby="btnGroupVerticalDrop2">
+ <a class="dropdown-item" href="#">Dropdown link</a>
+ <a class="dropdown-item" href="#">Dropdown link</a>
+ </div>
</div>
<div class="btn-group" role="group">
<button id="btnGroupVerticalDrop3" type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Dropdown
</button>
- <ul class="dropdown-menu" aria-labelledby="btnGroupVerticalDrop3">
- <li><a href="#">Dropdown link</a></li>
- <li><a href="#">Dropdown link</a></li>
- </ul>
+ <div class="dropdown-menu" aria-labelledby="btnGroupVerticalDrop3">
+ <a class="dropdown-item" href="#">Dropdown link</a>
+ <a class="dropdown-item" href="#">Dropdown link</a>
+ </div>
</div>
<div class="btn-group" role="group">
<button id="btnGroupVerticalDrop4" type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Dropdown
</button>
- <ul class="dropdown-menu" aria-labelledby="btnGroupVerticalDrop4">
- <li><a href="#">Dropdown link</a></li>
- <li><a href="#">Dropdown link</a></li>
- </ul>
+ <div class="dropdown-menu" aria-labelledby="btnGroupVerticalDrop4">
+ <a class="dropdown-item" href="#">Dropdown link</a>
+ <a class="dropdown-item" href="#">Dropdown link</a>
+ </div>
</div>
</div>
</div>
diff --git a/docs/components/buttons.md b/docs/components/buttons.md
index d97c3a4e4..cb08e40a8 100644
--- a/docs/components/buttons.md
+++ b/docs/components/buttons.md
@@ -26,6 +26,9 @@ Bootstrap includes six predefined button styles, each serving its own semantic p
<!-- Indicates a successful or positive action -->
<button type="button" class="btn btn-success">Success</button>
+<!-- Contextual button for informational alert messages -->
+<button type="button" class="btn btn-info">Info</button>
+
<!-- Indicates caution should be taken with this action -->
<button type="button" class="btn btn-warning">Warning</button>
@@ -57,7 +60,7 @@ When using button classes on `<a>` elements that are used to trigger in-page fun
## Outline buttons
-In need of a button, but not the hefty background colors they bring? Replace the default modifier classes with the `.btn-outline-*` ones to remove all background images and colors on any button.
+In need of a button, but not the hefty background colors they bring? Replace the default modifier classes with the `.btn-*-outline` ones to remove all background images and colors on any button.
{% example html %}
<button type="button" class="btn btn-primary-outline">Primary</button>
@@ -179,18 +182,3 @@ Note that pre-checked buttons require you to manually add the `.active` class to
| Method | Description |
| --- | --- |
| `$().button('toggle')` |Toggles push state. Gives the button the appearance that it has been activated. |
-| `$().button('reset')` | Resets button state—swaps text to original text. **This method is asynchronous and returns before the resetting has actually completed.** |
-| `$().button(string)` | Swaps text to any data defined text state. |
-
-### Custom state example
-
-{% highlight html %}
-<button type="button" id="myStateButton" data-complete-text="finished!" class="btn btn-primary" autocomplete="off">
- ...
-</button>
-<script>
- $('#myStateButton').on('click', function () {
- $(this).button('complete') // button text will be "finished!"
- })
-</script>
-{% endhighlight %}
diff --git a/docs/components/card.md b/docs/components/card.md
index 053d978ca..966105e40 100644
--- a/docs/components/card.md
+++ b/docs/components/card.md
@@ -86,7 +86,7 @@ Cards support a wide variety of content, including images, text, list groups, li
## Sizing
-Cards are block-level by default, so they'll fill the available horizontal space. Constrain their widths via inline styles, our predefined grid classes, or with custom styles using our grid mixins.
+Constrain the width of cards via custom CSS, our predefined grid classes, or with custom styles using our grid mixins.
Using the grid:
@@ -121,7 +121,7 @@ Using custom widths:
## Text alignment
-You can quickly change the text alignment of any card—in its entirety or specific parts—with our [text align classes]().
+You can quickly change the text alignment of any card—in its entirety or specific parts—with our [text align classes]({{ site.baseurl }}/components/utilities/#text-alignment).
{% example html %}
<div class="card card-block">
@@ -232,7 +232,7 @@ Turn an image into a card background and overlay your card's text. Depending on
Cards include a class for quickly toggling **the text color**. By default, cards use dark text and assume a light background. **Add `.card-inverse` for white text** and specify the `background-color` and `border-color` to go with it.
-You can also use `.card-inverse` with the [contextual backgrounds variants](#background-variations).
+You can also use `.card-inverse` with the [contextual backgrounds variants](#background-variants).
{% example html %}
<div class="card card-inverse" style="background-color: #333; border-color: #333;">
@@ -293,7 +293,7 @@ Cards include their own variant classes for quickly changing the `background-col
## Groups
-Use card groups to render cards as a single, attached element with equal width and height columns. By default, card groups use `display: table;` and `table-layout: fixed;` to achieve their uniform sizing. However, enabling [flexbox mode](/layout/flexbox) can switch that to use `display: flex;` and provide the same effect.
+Use card groups to render cards as a single, attached element with equal width and height columns. By default, card groups use `display: table;` and `table-layout: fixed;` to achieve their uniform sizing. However, enabling [flexbox mode]({{ site.baseurl }}/getting-started/flexbox) can switch that to use `display: flex;` and provide the same effect.
{% example html %}
<div class="card-group">
@@ -328,7 +328,7 @@ Use card groups to render cards as a single, attached element with equal width a
Need a set of equal width and height cards that aren't attached to one another? Use card decks. By default, card decks require two wrapping elements: `.card-deck-wrapper` and a `.card-deck`. We use table styles for the sizing and the gutters on `.card-deck`. The `.card-deck-wrapper` is used to negative margin out the `border-spacing` on the `.card-deck`.
-**ProTip!** If you enable [flexbox mode](/layout/flexbox), you can remove the `.card-deck-wrapper`.
+**ProTip!** If you enable [flexbox mode]({{ site.baseurl }}/getting-started/flexbox/), you can remove the `.card-deck-wrapper`.
{% example html %}
<div class="card-deck-wrapper">
@@ -363,7 +363,9 @@ Need a set of equal width and height cards that aren't attached to one another?
## Columns
-Cards can be organized into [Masonry](http://masonry.desandro.com)-like columns with just CSS by wrapping them in `.card-columns`. **Heads up!** This is **not available in IE9 and below** as they have no support for the `column` CSS properties.
+Cards can be organized into [Masonry](http://masonry.desandro.com)-like columns with just CSS by wrapping them in `.card-columns`.
+
+**Heads up!** This is **not available in IE9 and below** as they have no support for the [`column-*` CSS properties](https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Using_multi-column_layouts).
{% example html %}
<div class="card-columns">
diff --git a/docs/components/forms.md b/docs/components/forms.md
index 175927aa8..f45f207ca 100644
--- a/docs/components/forms.md
+++ b/docs/components/forms.md
@@ -13,7 +13,7 @@ Bootstrap provides several form control styles, layout options, and custom compo
## Form controls
-Bootstrap's form controls expand on [our Rebooted form styles](/components/reboot/#forms) with classes. Use these classes to opt into their customized displays for a more consistent rendering across browsers and devices. The example form below demonstrates common HTML form elements that receive updated styles from Bootstrap with additional classes.
+Bootstrap's form controls expand on [our Rebooted form styles]({{ site.baseurl }}/content/reboot/#forms) with classes. Use these classes to opt into their customized displays for a more consistent rendering across browsers and devices. The example form below demonstrates common HTML form elements that receive updated styles from Bootstrap with additional classes.
Remember, since Bootstrap utilizes the HTML5 doctype, **all inputs must have a `type` attribute**.
@@ -462,7 +462,7 @@ Add the `disabled` attribute to a `<fieldset>` to disable all the controls withi
{% callout warning %}
#### Caveat about link functionality of `<a>`
-By default, browsers will treat all native form controls (`<input>`, `<select>` and `<button>` elements) inside a `<fieldset disabled>` as disabled, preventing both keyboard and mouse interactions on them. However, if your form also includes `<a ... class="btn btn-*">` elements, these will only be given a style of `pointer-events: none`. As noted in the section about [disabled state for buttons](#buttons-disabled) (and specifically in the sub-section for anchor elements), this CSS property is not yet standardized and isn't fully supported in Opera 18 and below, or in Internet Explorer 11, and won't prevent keyboard users from being able to focus or activate these links. So to be safe, use custom JavaScript to disable such links.
+By default, browsers will treat all native form controls (`<input>`, `<select>` and `<button>` elements) inside a `<fieldset disabled>` as disabled, preventing both keyboard and mouse interactions on them. However, if your form also includes `<a ... class="btn btn-*">` elements, these will only be given a style of `pointer-events: none`. As noted in the section about [disabled state for buttons](../buttons/#disabled-state) (and specifically in the sub-section for anchor elements), this CSS property is not yet standardized and isn't fully supported in Opera 18 and below, or in Internet Explorer 11, and won't prevent keyboard users from being able to focus or activate these links. So to be safe, use custom JavaScript to disable such links.
{% endcallout %}
{% callout danger %}
diff --git a/docs/components/input-group.md b/docs/components/input-group.md
index 0f27e9bac..1b3a71545 100644
--- a/docs/components/input-group.md
+++ b/docs/components/input-group.md
@@ -120,13 +120,13 @@ Buttons in input groups are a bit different and require one extra level of nesti
<button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Action
</button>
- <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 role="separator" class="divider"></li>
- <li><a href="#">Separated link</a></li>
- </ul>
+ <div class="dropdown-menu">
+ <a class="dropdown-item" href="#">Action</a>
+ <a class="dropdown-item" href="#">Another action</a>
+ <a class="dropdown-item" href="#">Something else here</a>
+ <div role="separator" class="dropdown-divider"></div>
+ <a class="dropdown-item" href="#">Separated link</a>
+ </div>
</div>
<input type="text" class="form-control" aria-label="Text input with dropdown button">
</div>
@@ -138,13 +138,13 @@ Buttons in input groups are a bit different and require one extra level of nesti
<button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Action
</button>
- <ul class="dropdown-menu dropdown-menu-right">
- <li><a href="#">Action</a></li>
- <li><a href="#">Another action</a></li>
- <li><a href="#">Something else here</a></li>
- <li role="separator" class="divider"></li>
- <li><a href="#">Separated link</a></li>
- </ul>
+ <div class="dropdown-menu dropdown-menu-right">
+ <a class="dropdown-item" href="#">Action</a>
+ <a class="dropdown-item" href="#">Another action</a>
+ <a class="dropdown-item" href="#">Something else here</a>
+ <div role="separator" class="dropdown-divider"></div>
+ <a class="dropdown-item" href="#">Separated link</a>
+ </div>
</div>
</div>
</div>
@@ -162,13 +162,13 @@ Buttons in input groups are a bit different and require one extra level of nesti
<button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<span class="sr-only">Toggle Dropdown</span>
</button>
- <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 role="separator" class="divider"></li>
- <li><a href="#">Separated link</a></li>
- </ul>
+ <div class="dropdown-menu">
+ <a class="dropdown-item" href="#">Action</a>
+ <a class="dropdown-item" href="#">Another action</a>
+ <a class="dropdown-item" href="#">Something else here</a>
+ <div role="separator" class="dropdown-divider"></div>
+ <a class="dropdown-item" href="#">Separated link</a>
+ </div>
</div>
<input type="text" class="form-control" aria-label="Text input with segmented button dropdown">
</div>
@@ -181,13 +181,13 @@ Buttons in input groups are a bit different and require one extra level of nesti
<button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<span class="sr-only">Toggle Dropdown</span>
</button>
- <ul class="dropdown-menu dropdown-menu-right">
- <li><a href="#">Action</a></li>
- <li><a href="#">Another action</a></li>
- <li><a href="#">Something else here</a></li>
- <li role="separator" class="divider"></li>
- <li><a href="#">Separated link</a></li>
- </ul>
+ <div class="dropdown-menu dropdown-menu-right">
+ <a class="dropdown-item" href="#">Action</a>
+ <a class="dropdown-item" href="#">Another action</a>
+ <a class="dropdown-item" href="#">Something else here</a>
+ <div role="separator" class="dropdown-divider"></div>
+ <a class="dropdown-item" href="#">Separated link</a>
+ </div>
</div>
</div>
</div>
diff --git a/docs/components/modal.md b/docs/components/modal.md
index 162a48be5..2b28c1998 100644
--- a/docs/components/modal.md
+++ b/docs/components/modal.md
@@ -11,7 +11,7 @@ Modals are streamlined, but flexible, dialog prompts with the minimum required f
* Will be replaced with the ToC, excluding the "Contents" header
{:toc}
-**Due to how HTML5 defines its semantics, the `autofocus` HTML attribute has no effect in Bootstrap modals.** To achieve the same effect, use some custom JavaScript:
+**Due to how HTML5 defines its semantics, [the `autofocus` HTML attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-autofocus) has no effect in Bootstrap modals.** To achieve the same effect, use some custom JavaScript:
{% highlight js %}
$('#myModal').on('shown.bs.modal', function () {
@@ -34,12 +34,12 @@ Always try to place a modal's HTML code in a top-level position in your document
{% callout warning %}
#### Mobile device caveats
-There are some caveats regarding using modals on mobile devices. [See our browser support docs](../getting-started/#support-fixed-position-keyboards) for details.
+There are some caveats regarding using modals on mobile devices. [See our browser support docs]({{ site.baseurl }}/getting-started/browsers-devices/#modals-navbars-and-virtual-keyboards) for details.
{% endcallout %}
### Static example
-A rendered modal with header, body, and set of actions in the footer.</p>
+A rendered modal with header, body, and set of actions in the footer.
<div class="bd-example bd-example-modal">
<div class="modal">
@@ -172,7 +172,7 @@ Toggle a modal via JavaScript by clicking the button below. It will slide down a
{% callout warning %}
#### Make modals accessible
-Be sure to add `role="dialog"` and `aria-labelledby="..."``, referencing the modal title, to `.modal`, and `role="document"` to the `.modal-dialog` itself.
+Be sure to add `role="dialog"` and `aria-labelledby="..."`, referencing the modal title, to `.modal`, and `role="document"` to the `.modal-dialog` itself.
Additionally, you may give a description of your modal dialog with `aria-describedby` on `.modal`.
{% endcallout %}
@@ -264,7 +264,7 @@ For modals that simply appear rather than fade in to view, remove the `.fade` cl
## Using the grid system
-To take advantage of the Bootstrap grid system within a modal, just nest `.container-fluid within the `.modal-body` and then use the normal grid system classes within this container.
+To take advantage of the Bootstrap grid system within a modal, just nest `.container-fluid` within the `.modal-body` and then use the normal grid system classes within this container.
{% example html %}
<div id="gridSystemModal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="gridModalLabel" aria-hidden="true">
diff --git a/docs/components/navs.md b/docs/components/navs.md
index 486b59433..b27ad3542 100644
--- a/docs/components/navs.md
+++ b/docs/components/navs.md
@@ -49,7 +49,7 @@ Classes are used throughout, so your markup can be super flexible. Use `<ul>`s l
## Tabs
-Takes the basic nav from above and adds the `.nav-tabs` class to generate a tabbed interface. Use them to create tabbable regions with our [tab JavaScript plugin](../javascript/tabs).
+Takes the basic nav from above and adds the `.nav-tabs` class to generate a tabbed interface. Use them to create tabbable regions with our [tab JavaScript plugin](#javascript-behavior).
{% example html %}
<ul class="nav nav-tabs">
@@ -112,7 +112,7 @@ Just add `.nav-stacked` to the `.nav.nav-pills`.
## Using dropdowns
-Add dropdown menus with a little extra HTML and the [dropdowns JavaScript plugin]({{ site.baseurl }}javascript/#dropdowns).
+Add dropdown menus with a little extra HTML and the [dropdowns JavaScript plugin]({{ site.baseurl }}/components/dropdowns/#usage).
### Tabs with dropdowns
@@ -258,7 +258,7 @@ $('#myTab li:eq(2) a').tab('show') // Select third tab (0-indexed)
### Fade effect
-To make tabs fade in, add `.fade` to each `.tab-pane`. The first tab pane must also have `.in to properly fade in initial content.
+To make tabs fade in, add `.fade` to each `.tab-pane`. The first tab pane must also have `.in` to properly fade in initial content.
{% highlight html %}
<div class="tab-content">
diff --git a/docs/components/pagination.md b/docs/components/pagination.md
index 8bdb06224..c0ff3a8a3 100644
--- a/docs/components/pagination.md
+++ b/docs/components/pagination.md
@@ -4,7 +4,7 @@ title: Pagination
group: components
---
-Provide pagination links for your site or app with the multi-page pagination component, or the simpler [pager alternative](#pagination-pager).
+Provide pagination links for your site or app with the multi-page pagination component, or the simpler [pager alternative](#pager).
## Contents
diff --git a/docs/components/popovers.md b/docs/components/popovers.md
index 6a911345e..98672d23e 100644
--- a/docs/components/popovers.md
+++ b/docs/components/popovers.md
@@ -16,8 +16,8 @@ Add small overlay content, like those found in iOS, to any element for housing s
Things to know when using the popover plugin:
-- Popovers rely on on the 3rd party library [tether](http://github.hubspot.com/tether/) for positioning. You must include [tether.min.js](https://github.com/HubSpot/tether/blob/master/dist/js/tether.min.js) before bootstrap.js in order for popovers to work!
-- Popovers require the [tooltip plugin](/components/tooltips) as a dependency.
+- Popovers rely on the 3rd party library [Tether](http://github.hubspot.com/tether/) for positioning. You must include [tether.min.js](https://github.com/HubSpot/tether/blob/master/dist/js/tether.min.js) before bootstrap.js in order for popovers to work!
+- Popovers require the [tooltip plugin]({{ site.baseurl }}/components/tooltips) as a dependency.
- Popovers are opt-in for performance reasons, so **you must initialize them yourself**.
- Zero-length `title` and `content` values will never show a popover.
- Specify `container: 'body'` to avoid rendering problems in more complex components (like our input groups, button groups, etc).
@@ -43,9 +43,9 @@ When you have some styles on a parent element that interfere with a popover, you
{% highlight js %}
$(function () {
- $('.example-popover').popover(
+ $('.example-popover').popover({
container: 'body'
- )
+ })
})
{% endhighlight %}
@@ -262,13 +262,13 @@ Options can be passed via data attributes or JavaScript. For data attributes, ap
<td>constraints</td>
<td>Array</td>
<td>'hover focus'</td>
- <td>An array of constraints - passed through to tether. For more information refer to tether's <a href="http://github.hubspot.com/tether/#constraints">constraint docs</a>.</td>
+ <td>An array of constraints - passed through to Tether. For more information refer to Tether's <a href="http://github.hubspot.com/tether/#constraints">constraint docs</a>.</td>
</tr>
<tr>
<td>offsets</td>
<td>string</td>
<td>'0 0'</td>
- <td>Offset of the popover relative to it's target. For more information refer to tether's <a href="http://github.hubspot.com/tether/#constraints">offset docs</a>.</td>
+ <td>Offset of the popover relative to it's target. For more information refer to Tether's <a href="http://github.hubspot.com/tether/#constraints">offset docs</a>.</td>
</tr>
</tbody>
</table>
@@ -306,7 +306,7 @@ Toggles an element's popover. **Returns to the caller before the popover has act
#### .popover('destroy')
-Hides and destroys an element's popover. Popvoers that use delegation (which are created using [the `selector` option](#popovers-options)) cannot be individually destroyed on descendant trigger elements.
+Hides and destroys an element's popover. Popvoers that use delegation (which are created using [the `selector` option](#options)) cannot be individually destroyed on descendant trigger elements.
{% highlight js %}$('#element').popover('destroy'){% endhighlight %}
diff --git a/docs/components/progress.md b/docs/components/progress.md
index 9ee3fefa9..e801373cd 100644
--- a/docs/components/progress.md
+++ b/docs/components/progress.md
@@ -4,7 +4,7 @@ title: Progress
group: components
---
-Stylize the HTML5 `<progress>` element with a few extra classes and some crafty browser-specific CSS. Be sure to read up on the browser support.
+Stylize [the HTML5 `<progress>` element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/progress) with a few extra classes and some crafty browser-specific CSS. Be sure to read up on the browser support.
## Contents
diff --git a/docs/components/scrollspy.md b/docs/components/scrollspy.md
index efe8c8145..c2625a04b 100644
--- a/docs/components/scrollspy.md
+++ b/docs/components/scrollspy.md
@@ -1,6 +1,6 @@
---
layout: docs
-title: Srollspy
+title: Scrollspy
group: components
---
@@ -19,14 +19,14 @@ The ScrollSpy plugin is for automatically updating nav targets based on scroll p
<ul class="nav nav-pills">
<li class="nav-item"><a class="nav-link" href="#fat">@fat</a></li>
<li class="nav-item"><a class="nav-link" href="#mdo">@mdo</a></li>
- <li class="nav-item">
+ <li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false">Dropdown</a>
- <ul class="dropdown-menu">
- <li><a href="#one">one</a></li>
- <li><a href="#two">two</a></li>
- <li role="separator" class="divider"></li>
- <li><a href="#three">three</a></li>
- </ul>
+ <div class="dropdown-menu">
+ <a class="dropdown-item" href="#one">one</a>
+ <a class="dropdown-item" href="#two">two</a>
+ <div role="separator" class="dropdown-divider"></div>
+ <a class="dropdown-item" href="#three">three</a>
+ </div>
</li>
</ul>
</nav>
@@ -51,7 +51,7 @@ The ScrollSpy plugin is for automatically updating nav targets based on scroll p
### Requires Bootstrap nav
-Scrollspy currently requires the use of a [Bootstrap nav component](/components/nav/) for proper highlighting of active links.
+Scrollspy currently requires the use of a [Bootstrap nav component]({{ site.baseurl }}/components/nav/) for proper highlighting of active links.
### Requires relative positioning
diff --git a/docs/components/tooltips.md b/docs/components/tooltips.md
index 3881a8e03..65bd2703b 100644
--- a/docs/components/tooltips.md
+++ b/docs/components/tooltips.md
@@ -15,7 +15,7 @@ Inspired by the excellent Tipsy jQuery plugin written by Jason Frame. Tooltips a
Things to know when using the tooltip plugin:
-- Tooltips rely on on the 3rd party library [tehter](http://github.hubspot.com/tether/) for positioning. You must include [tether.min.js](https://github.com/HubSpot/tether/blob/master/dist/js/tether.min.js) before bootstrap.js in order for tooltips to work!
+- Tooltips rely on on the 3rd party library [Tether](http://github.hubspot.com/tether/) for positioning. You must include [tether.min.js](https://github.com/HubSpot/tether/blob/master/dist/js/tether.min.js) before bootstrap.js in order for tooltips to work!
- Tooltips are opt-in for performance reasons, so **you must initialize them yourself**.
- Tooltips with zero-length titles are never displayed.
- Specify `container: 'body'` to avoid rendering problems in more complex components (like our input groups, button groups, etc).
@@ -220,13 +220,13 @@ Options can be passed via data attributes or JavaScript. For data attributes, ap
<td>constraints</td>
<td>Array</td>
<td>'hover focus'</td>
- <td>An array of constraints - passed through to tether. For more information refer to tether's <a href="http://github.hubspot.com/tether/#constraints">constraint docs</a>.</td>
+ <td>An array of constraints - passed through to Tether. For more information refer to Tether's <a href="http://github.hubspot.com/tether/#constraints">constraint docs</a>.</td>
</tr>
<tr>
<td>offsets</td>
<td>string</td>
<td>'0 0'</td>
- <td>Offset of the popover relative to it's target. For more information refer to tether's <a href="http://github.hubspot.com/tether/#constraints">offset docs</a>.</td>
+ <td>Offset of the popover relative to it's target. For more information refer to Tether's <a href="http://github.hubspot.com/tether/#constraints">offset docs</a>.</td>
</tr>
</tbody>
</table>
@@ -264,7 +264,7 @@ Toggles an element's tooltip. **Returns to the caller before the tooltip has act
#### .tooltip('destroy')
-Hides and destroys an element's tooltip. Tooltips that use delegation (which are created using [the `selector` option](#tooltips-options)) cannot be individually destroyed on descendant trigger elements.
+Hides and destroys an element's tooltip. Tooltips that use delegation (which are created using [the `selector` option](#options)) cannot be individually destroyed on descendant trigger elements.
{% highlight js %}$('#element').tooltip('destroy'){% endhighlight %}
diff --git a/docs/components/utilities.md b/docs/components/utilities.md
index 6365f57f5..d869a36d1 100644
--- a/docs/components/utilities.md
+++ b/docs/components/utilities.md
@@ -233,7 +233,7 @@ Easily clear `float`s by adding `.clearfix` **to the parent element**. Utilizes
## Hidden content
-Hide any HTML element with the `[hidden]` attribute. Previously, v3.x included a `.hidden` class that forced toggled content. However, we removed it due to conflicts with jQuery's `hide()` function. It's taken from [PureCSS](http://purecss.io).
+Hide any HTML element with the `[hidden]` attribute. Previously, v3.x included a `.hidden` class that forced toggled content. However, we removed it due to conflicts with jQuery's `hide()` function. It's taken from [PureCSS](http://purecss.io). While `[hidden]` isn't natively supported by IE9-10, declaring it `display: none` in our CSS gets around that problem.
Furthermore, `.invisible` can be used to toggle the visibility of an element, meaning its `display` is not modified and the element can still affect the flow of the document.
@@ -263,7 +263,11 @@ The `.invisible` class can be used to toggle only the visibility of an element,
## Screen readers
-Hide an element to all devices **except screen readers** with `.sr-only`. Combine `.sr-only` with `.sr-only-focusable` to show the element again when it's focused (e.g. by a keyboard-only user). Necessary for following [accessibility best practices](../getting-started/#accessibility). Can also be used as mixins.
+Hide an element to all devices **except screen readers** with `.sr-only`. Combine `.sr-only` with `.sr-only-focusable` to show the element again when it's focused (e.g. by a keyboard-only user). Can also be used as mixins.
+
+{% comment %}
+Necessary for following [accessibility best practices](../getting-started/#accessibility).
+{% endcomment %}
{% highlight html %}
<a class="sr-only sr-only-focusable" href="#content">Skip to main content</a>