Неправильная высота после перехода из пейзажа в портрет на сафари iOS - PullRequest
0 голосов
/ 06 апреля 2020

Я потратил часы и десятки попыток выяснить, как рассчитать правильную высоту после переключения iOS Safari на ландшафт, а затем обратно на портрет.

Фактически, высота искажена из минимальная активация режима пользовательского интерфейса (маленькая полоска вверху, полоса внизу отсутствует), которая включается после поворота экрана.

Вот сломанный сайт: https://och.design/

Просто попробуйте переключиться на альбомную, а затем на книжную iOS, и вы увидите, что пространство, в котором находилась нижняя панель навигации, остается пустым, поскольку его размер не учитывается при расчете высоты.

Вот код, который я использую для вычисления правильного --vh var для моих css событий изменения размера (как предложено в https://css-tricks.com/the-trick-to-viewport-units-on-mobile/):

var vh = $.documentHeight() * 0.01;
document.documentElement.style.setProperty('--vh', `${vh}px`);

И, наконец, код, который я использую в портретном режиме:

.main-container{
      -webkit-transform: rotate(-90deg);
          -ms-transform: rotate(-90deg);
              transform: rotate(-90deg);
      -webkit-transform-origin:top left;
          -ms-transform-origin:top left;
              transform-origin:top left;               
      position:absolute;
      bottom:-100vw;
      height:100vw;
      width: 100vh;
      width:calc(var(--vh, 1vh) * 100);
};

Было бы здорово иметь возможность либо рассчитать правильную высоту в зависимости от включения / выключения режима iOS минимального пользовательского интерфейса, либо запретить вводу iOS минимального UI Mode Co

Заранее большое спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...