diff --git a/docs/components/carousel.md b/docs/components/carousel.md
index 3942309f0f..8dd819fba1 100644
--- a/docs/components/carousel.md
+++ b/docs/components/carousel.md
@@ -5,7 +5,11 @@ description: A slideshow component for cycling through elements—images or slid
group: components
---
-A slideshow component for cycling through elements—images or slides of text—like a carousel. In browsers where the [Page Visibility API](https://www.w3.org/TR/page-visibility/) is supported, the carousel will avoid sliding when the webpage is not visible to the user (such as when the browser tab is inactive, the browser window is minimized, etc.). **Nested carousels are not supported.**
+The carousel is a slideshow for cycling through a series of content, built with CSS 3D transforms and a bit of JavaScript. It works with a series of images, text, or custom markup. It also includes support for previous/next controls and indicators.
+
+In browsers where the [Page Visibility API](https://www.w3.org/TR/page-visibility/) is supported, the carousel will avoid sliding when the webpage is not visible to the user (such as when the browser tab is inactive, the browser window is minimized, etc.).
+
+Please be aware that nested carousels are not supported, and carousels are generally not compliant with accessibility standards.
## Contents
@@ -14,32 +18,86 @@ A slideshow component for cycling through elements—images or slides of text—
## Example
-When building carousels, be sure your slides are the same size as one another. The carousel doesn't automatically crop images to the same dimensions for you across slides.
+Carousels don't automatically normalize slide dimensions. As such, you may need to use additional utilities or custom styles to appropriately size content. While carousels support previous/next controls and indicators, they're not explicitly required. Add and customize as you see fit.
+
+Be sure to set a unique id on the `.carousel` for optional controls, especially if you're using multiple carousels on a single page.
+
+### Slides only
+
+Here's a carousel with slides only. Note the presence of the `.d-block` and `.img-fluid` on carousel images to prevent browser default image alignment.
{% example html %}
-
+
+{% endexample %}
+
+### With controls
+
+Adding in the previous and next controls:
+
+{% example html %}
+
+{% endexample %}
+
+### With indicators
+
+You can also add the indicators to the carousel, alongside the controls, too.
+
+{% example html %}
+
@@ -57,45 +115,45 @@ Bootstrap exclusively uses CSS3 for its animations, but Internet Explorer 9 does
The `.active` class needs to be added to one of the slides. Otherwise, the carousel will not be visible.
{% endcallout %}
-### Optional captions
+### With captions
-Add captions to your slides easily with the `.carousel-caption` element within any `.carousel-item`. Place just about any optional HTML within there and it will be automatically aligned and formatted.
+Add captions to your slides easily with the `.carousel-caption` element within any `.carousel-item`. They can be easily hidden on smaller viewports, as shown below, with optional [display utilities]({{ site.baseurl }}/utilities/display-property/). We hide them initially with `.d-none` and bring them back on medium-sized devices with `.d-md-block`.
-
+
-
-
-
+
+
+
-
![First slide image]()
-
+
![First slide]()
+
First slide label
Nulla vitae elit libero, a pharetra augue mollis interdum.
-
![Second slide image]()
-
+
![Second slide]()
+
Second slide label
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
-
![Third slide image]()
-
+
![Third slide]()
+
Third slide label
Praesent commodo cursus magna, vel scelerisque nisl consectetur.
-
+
Previous
-
+
Next
@@ -105,25 +163,15 @@ Add captions to your slides easily with the `.carousel-caption` element within a
{% highlight html %}

-
{% endhighlight %}
-{% callout danger %}
-#### Accessibility issue
-
-The carousel component is generally not compliant with accessibility standards. If you need to be compliant, please consider other options for presenting your content.
-{% endcallout %}
-
## Usage
-### Multiple carousels
-
-Carousels require the use of an `id` on the outermost container (the `.carousel`) for carousel controls to function properly. When adding multiple carousels, or when changing a carousel's `id`, be sure to update the relevant controls.
-
### Via data attributes
Use data attributes to easily control the position of the carousel. `data-slide` accepts the keywords `prev` or `next`, which alters the slide position relative to its current position. Alternatively, use `data-slide-to` to pass a raw slide index to the carousel `data-slide-to="2"`, which shifts the slide position to a particular index beginning with `0`.
diff --git a/docs/examples/carousel/carousel.css b/docs/examples/carousel/carousel.css
index a1ec54fa54..58fdde1cb1 100644
--- a/docs/examples/carousel/carousel.css
+++ b/docs/examples/carousel/carousel.css
@@ -19,6 +19,7 @@ body {
/* Since positioning the image, we need to help out the caption */
.carousel-caption {
z-index: 10;
+ bottom: 3rem;
}
/* Declare heights because of positioning of img element */
@@ -34,17 +35,12 @@ body {
height: 32rem;
}
-.carousel-indicators {
- top: 1.5rem;
- right: 1.5rem;
- bottom: auto;
- left: auto;
- width: 1rem;
- margin-left: 0;
-}
-
-.carousel-indicators > li {
- margin-bottom: .25rem;
+.carousel-indicators li {
+ width: .75rem;
+ height: .75rem;
+ margin-right: .25rem;
+ margin-left: .25rem;
+ border-radius: 50%;
}
diff --git a/docs/examples/carousel/index.html b/docs/examples/carousel/index.html
index 990553b97a..edab899190 100644
--- a/docs/examples/carousel/index.html
+++ b/docs/examples/carousel/index.html
@@ -37,11 +37,7 @@
-
-
-
@@ -51,7 +47,7 @@
-
+
Example headline.
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.
Sign up today
@@ -61,7 +57,7 @@
-
+
Another example headline.
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.
Learn more
@@ -71,7 +67,7 @@
-
+
One more for good measure.
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.
Browse gallery
@@ -79,15 +75,15 @@
-
-
+
+
Previous
-
-
+
+
Next
-
+