мне нужно закрепить header вверху экрана, но когда открывается virtual keyboard, то контент весь двигается, вверх на высоту клавиатуры, и хедер с position: fixed; top: 0; тоже улетает вверх за экран. Если я буду знать на сколько сдвинулся вьюпорт вверх, то я смогу хедеру задать margin-top через js, чтобы он снова был в самом верху экрана...
а потом проблемы, что другие другую клаву используют
победитель в номинации костыль года))) я никогда не замечал чтобы фиксед хедер смещался при открытии клавиатуры
samsung galaxy творит чюдеса)
друг, ты просто мб каким-то образом плохой код написал
не исключено) самсунг виню именно galaxy потому что именно на этом устройстве в браузерстаке у меня не отрабатывает ресайз... мб трабл и в браузерстаке... но код один и тот же, а результат работы разный
не пойму, зачем тебе ресайз
тут вот написал, это в теории так можно сделать, сейчас у меня сделано так: header.style.marginTop = Math.abs(header.getBoundingClientRect().top), когда header уходит вниз экрана, то getBoundingClientRect().top показывает на сколько он вверху над вьюпортом и выравнивается при помощи marginTop Я заметил что если нет ресайза, то и getBoundingClientRect().top показывает всегда 0, когда хедер уходит вверх за вьюпорт, думаю это как раз потому, что вьюпорт не уменьшается при открытии виртуально клавиатуры, а значит нет события резайз, вьюпорт остается той же высоты, просто двигается на вверх на высоту клавиатуры... и все это я смог воспроизвести только в паре устройств, например в samsung galaxy S22, A8, A10
Обсуждают сегодня