[ACTUALIZACIÓN 2020]
A partir del 23/02/2020, Flexbox tiene un 95% de compatibilidad con el navegador y es una excelente opción para hacer que Leaflet responda utilizando la propiedad flex-grow.
Vea una demostración de CodePen aquí
Está configurado para que todavía se muestre en navegadores que no admiten Flexbox, solo aquellos usuarios tendrán que desplazarse un poco
¯ \ _ (ツ) _ / ¯
================================================== ==========
[ANTIGUA PUBLICACIÓN]
Esto funcionó para mí.
Nota: quería que mi mapa no tuviera un ancho del 100% en pantallas grandes, así que agregué
.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;
}