Клуб API Карт

И всё таки это фича

Пост в архиве.

Вы читаете продолжение вот этого поста

Дуратский белый бордер выскакивает совсем не к месту - скрываю доп.панельку - и на тебе, вылазит этот бордер.

А теперь, вуаля, решение в одну строку - body {overflow:hidden;}

Я давно приметил особенную обработку скроллов в фф - лиса походу не считает скроллы как часть окна. Или наоборот, прибавляет скролл к ширине viewport. Белые полосы остаются именно от скроллов.

Раз уж вы вынуждены применяется такой оригинальный подход для высчитывания размеров субконтейнера, рекомендую этот приёмчик в примерах зафиксировать. Кстати, это помогает полностью избежать появления скроллов при ресайзе.

Вот здесь тестовый пример, когда это архи-важно даже без ресайза - http://kirillaristov.com/testmap.php (панелька ездит туда-сюда)

П.с. Кейс "красивый ресайз" тоже важен. Потому что нормальный юзер использует вот это: закладки, консоли, фулскрин. А всё это приводит к ресайзу.

п.п.с. Насколько дорого получится getComputedStyle, если задать размеры контейнера через css и как часто требуется этот метод?

 

3 комментария

Это проблема верстки, проблема логическая

 

Создайте div со стилями left:0,right:0 и так далее

Добавьте ЕМУ overflow:hidden и border красного цвета

Сделайте так чтобы это _верстка_ работала всегда.

После чего добавьте в этот div карту с высотой/шириной 100%

 

Если вы изменяете размер страницы - в начале появляется скрол, потом уже АПИ может что-посчитать и скрол исчезнет.

Можно слушать sizechange на карте, и через нулевой таймаут вызывать resize на карте самому. Но будет дергаться.

Если вы думаете что у вас (вообще) скрола быть не должно - убивайте его через overflow на body - это будет правильные решение.


PS: "Потому что нормальный юзер использует вот это: закладки, консоли, фулскрин."

Про консоль нормальный пользователь не знает, в фулсрин - не заходит, закладки разме меняют размер страницы? Или их постоянно включают/выключают?

Новопасит? Отвар ромашки?

Это проблема верстки, проблема логическая

Поэтому и говорю, что это фича.

Закладки(избранное) меняют размер страницы (в фф), это же панель, съедающая часть пространства окна. ctrl+b и далее юзер помещает страницу в какую-то папочку.

Фулскрин - а на кой верстается карта во всё окно кроме как не для того, чтобы смотреть её на весь экран? В этом вся задумка. Это же круто - нажал ф11 и любуешься спутниковым снимоком на весь широченный дисплей. А потом вернулся обратно и появилась рамка.

Лично я, когда проверяю как свёрстан сайт, в том числе проверяю поведение при ресайзе. Грамотная вёрстка/js не должна расползаться или дрыгаться. Если это конечно не скрытый пиар отвара ромашки :)

У всего есть свои пределы.

Я почти на 100% уверен что нормальные пользователи не очень активно меняют режим отображения, по крайней мере я таких не знаю, но в любом случае - если ваше "решение" не предусматривает скролбаров - убейте их.

Либо стилизуйте - под osx и ubuntu,  например, скролбаров как бы "нет"