2016-09-09 06:48:17 +02:00
---
layout: docs
title: Responsive helpers
2017-05-28 20:25:59 +02:00
description: Create responsive video or slideshow embeds based on the width of the parent by creating an intrinsic ratio that scales on any device.
2016-09-09 06:48:17 +02:00
group: utilities
2017-05-28 20:25:59 +02:00
toc: true
2016-09-09 06:48:17 +02:00
---
## Responsive embeds
Rules are directly applied to `<iframe>` , `<embed>` , `<video>` , and `<object>` elements; optionally use an explicit descendant class `.embed-responsive-item` when you want to match the styling for other attributes.
**Pro-Tip!** You don't need to include `frameborder="0"` in your `<iframe>` s as we override that for you.
{% example html %}
< div class = "embed-responsive embed-responsive-16by9" >
2017-02-27 11:42:26 +01:00
< iframe class = "embed-responsive-item" src = "https://www.youtube.com/embed/zpOULjyy-n8?rel=0" allowfullscreen > < / iframe >
2016-09-09 06:48:17 +02:00
< / div >
{% endexample %}
Aspect ratios can be customized with modifier classes.
{% highlight html %}
<!-- 21:9 aspect ratio -->
< div class = "embed-responsive embed-responsive-21by9" >
< iframe class = "embed-responsive-item" src = "..." > < / iframe >
< / div >
<!-- 16:9 aspect ratio -->
< div class = "embed-responsive embed-responsive-16by9" >
< iframe class = "embed-responsive-item" src = "..." > < / iframe >
< / div >
<!-- 4:3 aspect ratio -->
< div class = "embed-responsive embed-responsive-4by3" >
< iframe class = "embed-responsive-item" src = "..." > < / iframe >
< / div >
<!-- 1:1 aspect ratio -->
< div class = "embed-responsive embed-responsive-1by1" >
< iframe class = "embed-responsive-item" src = "..." > < / iframe >
< / div >
{% endhighlight %}
## Responsive floats
These utility classes float an element to the left or right, or disable floating, based on the current viewport size using the [CSS `float` property ](https://developer.mozilla.org/en-US/docs/Web/CSS/float ). `!important` is included to avoid specificity issues. These use the same viewport width breakpoints as the grid system.
2016-09-26 09:54:10 +02:00
Two similar non-responsive Sass mixins (`float-left` and `float-right` ) are also available.
2016-09-09 06:48:17 +02:00
{% example html %}
2016-11-01 05:27:56 +01:00
< div class = "float-left" > Float left on all viewport sizes< / div > < br >
< div class = "float-right" > Float right on all viewport sizes< / div > < br >
< div class = "float-none" > Don't float on all viewport sizes< / div > < br >
2016-09-26 09:54:10 +02:00
< div class = "float-sm-left" > Float left on viewports sized SM (small) or wider< / div > < br >
< div class = "float-md-left" > Float left on viewports sized MD (medium) or wider< / div > < br >
< div class = "float-lg-left" > Float left on viewports sized LG (large) or wider< / div > < br >
< div class = "float-xl-left" > Float left on viewports sized XL (extra-large) or wider< / div > < br >
2016-09-09 06:48:17 +02:00
{% endexample %}
{% highlight scss %}
// Related simple non-responsive mixins
.element {
2016-09-26 09:54:10 +02:00
@include float-left;
2016-09-09 06:48:17 +02:00
}
.another-element {
2016-09-26 09:54:10 +02:00
@include float-right;
2016-09-09 06:48:17 +02:00
}
{% endhighlight %}