У меня есть элемент div
, который поддерживает соотношение сторон: он вычисляет его высоту на основе его ширины (используя трюк с отступами). То, что я хотел бы сделать, это поместить это div
в другое, подбирая максимально доступное пространство по вертикали и горизонтали, без кадрирования. Я думаю, что самая близкая вещь к тому, что я хочу, это object-fit: contain
- то есть только img
.
Я хочу, чтобы div покрывал максимально возможную высоту и ширину при сохранении соотношения сторон. Нет вертикальной или горизонтальной культуры.
Возможно ли это только с помощью CSS? Если да, то как?
Обновление:
Хорошая статья , где вещи на данный момент.
код (может быть любым другим решением, не обязательно на этом фрагменте):
html,
body {
display: flex;
justify-content: center;
align-items: center;
width: 100%;
height: 100%;
}
.container {
position: relative;
width: 100%;
}
.container:before {
content: "";
display: block;
width: 50%;
padding-top: 50%;
}
.embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: red;
}
<div class="container">
<div class="embed">
this should accommodate all the available space and maintain aspect ratio, no crop when width is too wide
</div>
</div>