Как можно сделать так, чтобы горизонтальный сайт открывался корректно на смартфоне в вертикальном режиме браузера, без сдвига содержимого в сторону?
Для поворота горизонтального сайта на 90° в CSS можно использовать следующий код:
```
@media screen and (max-width: 768px) {
body {
transform: rotate(90deg);
transform-origin: top left;
width: 100vh;
height: 100vw;
overflow-x: hidden;
position: absolute;
top: 100%;
left: 0;
}
}
```
Этот код будет применяться только на устройствах с шириной экрана до 768px (портретная ориентация смартфона), и повернет содержимое сайта на 90° для лучшего просмотра.
Чтобы браузер корректно открывал горизонтальный сайт на смартфоне в вертикальном режиме без сдвига содержимого, можно добавить следующие CSS свойства:
```
body {
width: 100vh;
height: 100vw;
transform-origin: top left;
transform: rotate(-90deg) translateY(-100%);
overflow-x: hidden;
position: absolute;
}
```
Этот код позволит корректно отобразить горизонтальный сайт в вертикальном режиме браузера, без смещения содержимого в сторону.
Просто попросите пользователя повернуть телефон в нужное положение
@media screen and (hover: none) and (orientation: portrait){ body::after { content: 'Поверните телефон в горизонтальное положение'; z-index: 999999; position: fixed; left: 0; top: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.8); color: white; display: flex; align-items: center; justify-content: center; text-align: center; } }