Гибкие устройства - от самсунговских Fold-ов и Flip-ов до непонятного устройства от Surface, линейки Microsoft, которую я все еще люблю, но не очень уважаю, пытаются захватить мир. Не знаю, получится у них или нет, но вот что интересно: API для разработки под такие устройства вроде бы делал каждый производитель по-своему.
Microsoft сделал в лоб: метод isDualScreenDevice для определения "не двухэкранная ли ты штука" и API для маски с дырой посередине, на месте которой располагается зазор, образованный рамками. Google с, кажется, Samsung от безысходности (шутка ли - и вдоль, и поперек уже устройства гнутся, да еще и вспомогательные экраны теперь есть) сделали полноценное API, которое MS тоже начали поддерживать.
Но вот вопрос: а сайты-то как делать под них?
В свое время, когда появился iPhone с челкой, эту проблему решали, введя переменные окружения в CSS, но тут картина чуть посложнее - простыми константами не обойдешься.
Те же ребята - Samsung и Microsoft (и Intel с ними заодно) придумали дополнительные media queries - screen-fold-posture (состояние согнутости), spanning (вдоль или поперек идет сгиб) и max-/min-screen-fold-angle, на которых можно сделать игры с интерактивностью при сгибании устройства, а Microsoft в довесок к этому еще и добавил proposal API window.getWindowSegments(), и дополнительный обработчик на resize, потому что кроме него это пока что никому не нужно.
Но вот что интересно: в своей презентации рабочая группа SECOND SCREEN COMMUNITY GROUP (собравшаяся впервые с 2016го года) ни разу не показала Surface Duo, самый громкий пример двухэкранного устройства, зато - рассказывала о том, как здорово будет дать разработчикам возможность создавать дополнительные окна и перетаскивать их прямо из JS-кода.
Честно говоря, я наблюдаю некоторую иронию в том, что именно Microsoft опять предлагает (при этом, кажется, стесняясь этого) дать разработчикам двигать попапы, прямо как в старых IE - функционал, который современные браузеры давным-давно выпилили.
Ну и забавное напоследок - именно в этом RFC мне впервые на глаза попалось формальное описание того, какие маркетинговые имена есть у каких градусов наклона экранов.