2016-09-09 06:48:17 +02:00
---
layout: docs
2017-07-02 04:48:06 +02:00
title: Embeds
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.
2019-05-23 11:56:03 +02:00
group: helpers
2017-05-28 20:25:59 +02:00
toc: true
2016-09-09 06:48:17 +02:00
---
2017-07-02 04:48:06 +02:00
## About
2016-09-09 06:48:17 +02:00
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.
2017-07-02 04:48:06 +02:00
## Example
Wrap any embed like an `<iframe>` in a parent element with `.embed-responsive` and an aspect ratio. The `.embed-responsive-item` isn't strictly required, but we encourage it.
2019-01-08 17:33:28 +01:00
{{< example > }}
2016-09-09 06:48:17 +02:00
< 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 >
2019-01-08 17:33:28 +01:00
{{< / example > }}
2016-09-09 06:48:17 +02:00
2017-07-02 04:48:06 +02:00
## Aspect ratios
2018-11-11 10:04:04 +01:00
Aspect ratios can be customized with modifier classes. By default the following ratio classes are provided:
2016-09-09 06:48:17 +02:00
2019-01-08 17:33:28 +01:00
{{< highlight html > }}
2016-09-09 06:48:17 +02:00
<!-- 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 >
2019-01-08 17:33:28 +01:00
{{< / highlight > }}
2018-11-11 10:04:04 +01:00
2019-05-05 09:41:27 +02:00
Within `_variables.scss` , you can change the aspect ratios you want to use. Here's an example of the `$embed-responsive-aspect-ratios` map:
2018-11-11 10:04:04 +01:00
2019-01-08 17:33:28 +01:00
{{< highlight scss > }}
2018-11-11 10:04:04 +01:00
$embed-responsive-aspect-ratios: (
2019-05-05 09:41:27 +02:00
"21by9": (
x: 21,
y: 9
),
"16by9": (
x: 16,
y: 9
),
"4by3": (
x: 4,
y: 3
),
"1by1": (
x: 1,
y: 1
)
);
2019-01-08 17:33:28 +01:00
{{< / highlight > }}