[ОБНОВЛЕНИЕ 2020]
По состоянию на 2020/02/23 Flexbox имеет 95% поддержку браузеров и является отличным вариантом для того, чтобы сделать Leaflet отзывчивым, используя свойство flex-grow.
Посмотреть демо CodePen здесь
Он настроен так, что он по-прежнему будет отображаться в браузерах, которые не поддерживают Flexbox, только те пользователи должны будут прокрутить abit
¯ \ _ (ツ) _ / ¯
================================================== ==========
[СТАРЫЙ ПОСТ]
Это сработало для меня.
Примечание: я хотел, чтобы на больших экранах моя карта не имела ширины 100%, поэтому я добавил
.container{max-width:60em;} /* Remove for full screen */
HTML
<div id="map-holder">
<div class="container fill">
<div id="map"></div>
</div>
</div>
CSS
#map
{
width: 100px;
height:100px;
min-height: 100%;
min-width: 100%;
display: block;
}
html, body
{
height: 100%;
}
#map-holder{
height: 100%;
}
.fill
{
min-height: 100%;
height: 100%;
width: 100%;
max-width: 100%;
}
.container{
max-width:60em;
padding: 0.2em;
}