// Foundation for Sites by ZURB
// foundation.zurb.com
// Licensed under MIT Open Source
////
/// @group responsive-embed
////
/// Margin below a responsive embed container.
/// @type Number
$responsive-embed-margin-bottom: rem-calc(16) !default;
/// Aspect ratios used to determine padding-bottom of responsive embed containers.
/// @type Map
$responsive-embed-ratios: (
default: 4 by 3,
widescreen: 16 by 9,
) !default;
/// Creates a responsive embed container.
/// @param {String|List} $ratio [default] - Ratio of the container. Can be a key from the `$responsive-embed-ratios` map or a list formatted as `x by y`.
@mixin responsive-embed($ratio: default) {
@if type-of($ratio) == 'string' {
$ratio: map-get($responsive-embed-ratios, $ratio);
}
position: relative;
height: 0;
margin-bottom: $responsive-embed-margin-bottom;
padding-bottom: ratio-to-percentage($ratio);
overflow: hidden;
iframe,
object,
embed,
video {
position: absolute;
top: 0;
#{$global-left}: 0;
width: 100%;
height: 100%;
}
}
@mixin foundation-responsive-embed {
.responsive-embed, .flex-video {
@include responsive-embed($ratio: default);
$ratios: map-remove($responsive-embed-ratios,default);
@each $name, $ratio in $ratios {
&.#{$name} {
padding-bottom: ratio-to-percentage($ratio);
}
}
}
}
@mixin foundation-flex-video {
@warn 'This mixin is being replaced by foundation-responsive-embed(). foundation-flex-video() will be removed in Foundation 6.4.';
@include foundation-responsive-embed;
}
@mixin flex-video($ratio: $responsive-embed-ratio) {
@warn 'This mixin is being replaced by responsive-embed(). flex-video() will be removed in Foundation 6.4.';
@include responsive-embed;
}
|