在我的应用程序中,我将map的div设置为
<div id="map" style="height: 610px; width:100%"></div>但为了使我的地图响应性,我想使高度也100%,如果我做height: 100%,那么它不工作。
如何才能使高度也像宽度一样可变,以便在任何设备上都能正确地看到地图。
演示:http://jsfiddle.net/CcYp6/
如果你改变地图的高度和宽度,那么你将不会得到地图。
发布于 2013-05-15 00:33:32
您必须使用JavaScript设置div大小。
$("#map").height($(window).height()).width($(window).width());
map.invalidateSize();你可以找到一个完整的示例here。
发布于 2017-06-24 08:52:55
在较新的浏览器中使用height="100vh“。但这没问题。
发布于 2020-08-12 19:49:03
在它周围放置一个position: relative包装器父地图,然后绝对定位地图以填充该父地图:
.map-wrapper {
position: relative;
}
#map {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
}
<div class="map-wrapper">
<div id="map"></div>
</div>如果#map已经有一个可以相对定位的父元素,那么只需使用它;您将不需要.map-wrapper元素。
Leaflet Quick Start Guide在这一点上可能会更清楚,因为这是一个常见的用例。mobile tutorial暗示了这一点。
https://stackoverflow.com/questions/16543446
复制相似问题