T27.AI

Блог

Телефонному web view понадобился гейт по ориентации

2026-09-10 · 4 мин чтения

[измерено] Смерженный PR #983 изменил 3 CSS-файла после проверки Chrome 390×480, где телефонный layout выбирался по высоте вместо ориентации.

#Web#CSS#Reproducibility#Testing

[измерено] Смерженная правка телефонной оболочки Queen устранила responsive-сбой в web view Telegram Mini App. Квитанции — PR #983 и merge-коммит a368d8126788c09bcac29169dccd9602ea9b3ac8.

Поводом стала проверка Chrome при размере 390×480. Старое телефонное правило требовало одновременно max-width: 640px и min-height: 501px. Поэтому короткий портретный viewport не попадал в телефонную ветку, а desktop-оболочка и landscape-правила могли накладываться.

Что изменилось

КвитанцияЗначение
Изменено файлов3 CSS-файла
Diff25 добавлений, 6 удалений
Проблемный viewport390×480
Портретный контроль390×844
Landscape-контроль844×390

Теперь телефонная таблица стилей включает оболочку по условию (orientation: portrait). Landscape-блоки в Queen.css и QueenCatalogHive.css требуют (orientation: landscape). Коммит сообщает: при 844×390 прежнее поведение сохраняется, а при 390×480 результат выглядит как телефонный сценарий 390×844.

@media (max-width: 640px) and (orientation: portrait) { /* phone shell */ }
@media (max-height: 500px) and (orientation: landscape) { /* landscape shell */ }

Почему это важно

Web view внутри Telegram короче физического телефона: часть кадра занимают chrome приложения и Telegram. В коммите описано около 414px доступной высоты на iPhone 667pt до разворачивания компактного web view. Значит, высота меняется как симптом, а ориентация остаётся осью, которую пытается определить layout.

Если окружающий chrome может съесть высоту web view, проверяйте управляющую ось, а не добавляйте новый порог высоты.

Чего это НЕ доказывает

Инженерная польза — небольшое, но переносимое правило отладки: фиксируйте ширину, высоту, ориентацию и chrome web view отдельно. Responsive-правку легче воспроизвести, когда проблемный и контрольный viewport входят в квитанцию.

Чего это не решает

Пруфы

Поработаем вместе

Хотите так же проверить собственный дизайн?

Я аудирую RTL и строю независимые побитово точные модели, затем провожу результат через синтез и, когда это полезно, проверяю на плате Artix-7. Первый модуль проверки — бесплатно.