- Высота карточки равна высоте области просмотра
- Ширина карточки равна ширине верхней панели
- Соотношение сторон верхней панели всегда составляет 3/2
- Высота нижней панели составляет не менее 40 % от высоты карты.
Оно предполагает использование контейнерного запроса к элементу, разработанному исключительно для этой цели, что кажется ненужным.
Код: Выделить всё
:root {
--desired-aspect-ratio: 3 / 2;
--bottom-panel-min-height: 40%;
}
body {
margin: 0;
width: 100vw;
height: 100vh;
}
#sizer {
aspect-ratio: var(--desired-aspect-ratio);
max-height: calc(100% - var(--bottom-panel-min-height));
container-type: inline-size;
}
#card {
width: 100cqw;
height: 100%;
display: flex;
flex-direction: column;
position: absolute;
margin: auto;
inset: 0;
}
#innermost {
background-color: pink;
aspect-ratio: var(--desired-aspect-ratio);
width: auto;
}
#bottom-panel {
background-color: rgb(110, 110, 110);
flex: 1;
min-height: var(--bottom-panel-min-height);
}
Подробнее здесь: https://stackoverflow.com/questions/798 ... iner-query
Мобильная версия