【2020年更新】
2020/02/23現在、Flexboxは95%のブラウザーサポートを備えており、Flex-Grow プロパティを使用してLeafletを応答可能にするための優れたオプションです。
ここでCodePenのデモを見る
Flexboxをサポートしていないブラウザーでも、ユーザーが少しスクロールするだけでレンダリングされるように設定されています
¯\ _(ツ)_ /¯
================================================== ==========
[古い投稿]
これでうまくいきました。
注:大画面で地図を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;
}