Клуб API Карт

Как убрать полосу прокрутки у балуна?

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

Здравствуйте.

При задании содержимого балуна через свойство balloonContentBody или contentBodyLayout, или contentLayout при его отбражении появляется полоса прокрутки. Высота содержимого изначально неизвестна и может меняться. Пробовал использовать совйство minHeight, не помогает.

13 комментариев
Sergey Konstantinov
28 января 2016, 04:34

Ссылка на страницу?

Дайте пожалуйста ссылочку. Вообще балун должен растягиваться под содержимое - возможно это ошибка.

 kurortmag.demo.ivelum.com/region/russia/podmoskovie/ruzskii_raion/hotel/sanatorii_dorokhovo/

справа на странице блок с табами, вкладка "карта", балун появляется при наведении указателя мыши на метку. код в файле map.js. Функции addMap, addPlacemark, getResortBaloonContent.

Опции balloonMinWidth, balloonMinHeight должны помочь решить вашу проблему. Задавать их надо в метку.

Балун в данном случае не тянется на больший размер, т.к. карта маленькая, т.е. он стремится всегда быть в пределах окна карты.

Спасибо за ответ.

balloonMinWidth, balloonMinHeight не помогают. Если конечно я их там задаю - третьим параметром при вызове new ymaps.Placemark(,,{balloonMinWidth : 300, balloonMinHeight : 300}) (остальные параметры тоже есть, опущено для краткости :-) )

Балун в данном случае не тянется на больший размер, т.к. карта маленькая, т.е. он стремится всегда быть в пределах окна карты

а можно каким-либо образом такое поведение переопределить?

У меня получалось добиться нужного мне вида балуна заданием свойства balloonLayout, но в этом случае он при открытии не центрируется нужным образом. Отображается внизу справа. Может быть подскажете как это можно поправить?

Тихонов Станислав
28 января 2016, 04:34

Постарайтесь контент в балуне уместить в окошко. Больше вариантов нет - раз не помещается - появляется прокрутка, все логично и правильно

Возможно причина в том, что метод макета getClientBoundingRect не возвращает нужные данные. Вы как создавали свой макет?

http://chalyu.narod2.ru/test.html - вроде работаю опции на чистом примере

А не могли бы вы тогда подробнее описать, как должна работать эта опция - minHeight(Минимальная высота, в пикселах)?

Просто я ожидал, что minHeight будет вести себя как css-свойство min-height и блок будет растягиваться.

Не понимаю, что вы имеете ввиду. Эти опции так и работают. Задают минимальные размеры контейнера содержимого балуна. Следовательно балун растягивается. У вас балун растягивается в моем примере? Если нет, какой у вас браузер?

firefox 13.0

Да растягивается. Но у вас в примере minHeight = 500. Если задать 300, например, то появляется полоса прокрутки.

Да. Логика примерно следуюущая.

minHeight задает минимальную высоту балуна - меньше по высоте он никогда не станет. Если содержимое балуна больше и не влезает, балун будет расширяться до тех пор пока достигнет размеров карты. После этого он расширяться перестает и у него появляются полосы прокрутки.