【发布时间】:2019-12-01 15:41:29
【问题描述】:
Mapbox 不适合它的容器。为什么不呢?
这是渲染的 html:
<div class="map mapboxgl-map" id="mapBox">
<div class="mapboxgl-canvas-container">
<canvas class="mapboxgl-canvas" style="position: absolute; width: 1920px; height: 277px;" tabindex="0" aria-label="Map" width="1920" height="277">
</canvas>
</div>
</div>
那些277px 是我猜的默认值。
这是js:
mapboxgl.accessToken = 'blabla';
var map = new mapboxgl.Map({
container: 'mapBox',
style: 'mapbox://styles/mapbox/streets-v11',
center: [-77.04, 38.907],
zoom: 11.15
});
这是scss:
.map {
grid-column: 1/-1;
height: 100%;
position: relative;
canvas, .mapboxgl-canvas {
height: 100%;
}
}
如果我将著名的!important 添加到height: 100%;,那么它可以工作,但地图会被拉伸。
我该怎么做?
【问题讨论】:
-
可能是因为画布是绝对定位的。不知道为什么会这样......它不会以这种方式增加父母的身高。
-
您永远不需要直接为画布设置样式。您遇到的实际问题是什么?
-
画布不响应它不适合容器的高度。有这些内联的 227px,我不知道它们来自哪里,在 mapbox 文档中我找不到任何关于响应的信息。
标签: jquery sass responsive-design css-grid mapbox-gl-js