Как повернуть горизонтальный сайт на 90° в CSS, чтобы он был легче просматриваем на смартфоне в горизонтальной ориентации?

Как можно сделать так, чтобы горизонтальный сайт открывался корректно на смартфоне в вертикальном режиме браузера, без сдвига содержимого в сторону?
  • 30 апреля 2024 г. 8:30
Ответы на вопрос 2
Для поворота горизонтального сайта на 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;
  }
}
Похожие вопросы