Вот еще один способ задать правила таблицы стилей для альбомной, квадратной и портретной компоновки, когда ширина окна недостаточна.
В этом примере используются 7 и 8, поэтому «квадратные» стили применяются, когда ширина и высота находятся в пределах 1/8 от размера друг друга. Использование 9 и 10 применяет «квадратные» стили, когда ширина и высота находятся в пределах 1/10 друг от друга. Вы должны использовать числа без десятичных знаков.
Фрагмент кода лучше всего работает при просмотре всей страницы.
div {
display:none;
position:absolute;
left:50%;
top:50%;
transform:translate(-50%,-50%);
text-align:center;
}
#instructions {
display:block;
top:25%;
}
@media (max-aspect-ratio: 8/7) and (min-aspect-ratio: 7/8) {
/* rules for square-ish layout */
#square {
display:block;
}
}
@media (min-aspect-ratio: 8/7) {
/* rules for landscape layout */
#landscape {
display:block;
}
}
@media (max-aspect-ratio: 7/8) {
/* rules for portrait layout */
#portrait {
display:block;
}
}
<div id="portrait">
Portrait
</div>
<div id="square">
Square
</div>
<div id="landscape">
Landscape
</div>
<div id="instructions">
Resize your window to change the aspect and apply different style rules
</div>