Есть ли какой-либо способ заставить элемент с размером, используя внутреннее соотношение, заполнять его контейнер как вертикально, так и горизонтально?
Засмейстер здесь
Если размеры элемента определены с использованием внутреннего отношения:
Sass:
body,
html,
.Wrapper
{
width:100%;
height: 100%;
}
.VideoContainer
{
position: relative;
max-width: 100%;
height: 0;
overflow: hidden;
&.Sixteen-Nine {
padding-bottom: 56.25%;
}
&.Four-Three {
padding-bottom: 75%;
}
}
.VideoContainer iframe,
.VideoContainer object,
.VideoContainer embed
{
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
HTML:
<div class="Wrapper">
<div class="VideoContainer Vimeo Sixteen-Nine">
<iframe src="http://player.vimeo.com/video/109777141?byline=0&portrait=0&badge=0&color=090909" class="js-only" frameborder="0" webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen=""></iframe>
</div>
</div>
Есть ли способ сдержать его, чтобы он изменил размеры до высоты своего контейнера?
В настоящее время он будет изменять размер по ширине своего контейнера, сохраняя при этом его форматное соотношение, однако, даже с оберткой, которая определяет явную высоту, он будет переполнять контейнер, если ширина обертки по сравнению с его высотой больше, чем его форматное соотношение.
Мне нужно поддерживать IE9+, и я не хочу использовать JavaScript
1 ответ
Можете ли вы сказать мне, если это то, что вы имели в виду?
.Wrapper
{
display: block;
width: 100%;
}
.VideoContainer
{
position: absolute;
height: 100%;
display: block;
width: 100%;
&.Sixteen-Nine {
padding-bottom: 56.25%;
}
&.Four-Three {
padding-bottom: 75%;
}
}
.VideoContainer div
{
height: 100%;
}
.VideoContainer div iframe{
height: 100%;
width: 100%;
}
<div class="Wrapper">
<div class="VideoContainer Vimeo Sixteen-Nine">
<div>
<iframe src="http://player.vimeo.com/video/109777141?byline=0&portrait=0&badge=0&color=090909" class="js-only" frameborder="0" webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen=""></iframe>
</div>
</div>
</div>