如何让传单地图画布具有 100% 的高度?

IT技术 javascript html css leaflet
2021-03-06 09:50:05

我的传单画布目前如下所示,高度为 700 像素:

高度为 700px 的地图

但是我希望它的高度为 100%,以便占据整个空白区域。

height:100%在地图画布的 CSS 属性中不起作用。我找到了一些解决方案,但它们只适用于 Google 地图。

有没有人有解决方案,即使这只是一种解决方法?谢谢 !

2个回答

最好的方法是使用 CSS 长度单位vhvw. 这些允许块级 HTML 元素具有相对于视口大小的维度,而不是其父元素的大小(就像%那样)。

例如:

#map {
  width: 100vw;
  height: 100vh;
}

供参考:https : //developer.mozilla.org/en-US/docs/Web/CSS/length

谢谢,我不知道那些单位,我打算试一试。
2021-04-26 09:50:05

使用height: 100%确实有效,它只需要父容器也有一个大小(工作演示):

html, body { 
    height: 100%; 
}
#map {
  width: 100%;
  height: 100%;
}
谢谢,我设法通过在几乎所有地方添加 height:100% 来使其工作。出于某种原因,地图现在“超过”了 100%,因此向浏览器添加了滚动条。
2021-04-27 09:50:05
我试图弄清楚这一切是如何运作的;地图画布确实设置为 100%,但是它全部包含在相对于顶部栏和侧边栏定位的包装器中,并且该包装器最初不会与这些元素重叠 - 直到您使用滚动条。此包装器也设置为 100%
2021-05-04 09:50:05
@ojathelonius 看起来您将地图画布的大小设置为浏览器窗口的 100%,但仍然添加了导航和侧边栏。这当然会通过侧边栏的使用和导航的高度来移动地图。你如何确定这些物品的尺寸?
2021-05-10 09:50:05
@ojathelonius 没有一些代码很难说有什么问题。你有非零填充body吗?
2021-05-20 09:50:05
我实际上没有。i.imgur.com/QLrtDKi.jpg目前看起来像这样,我可以通过滚动来移动地图,地图会在固定的顶部栏或导航栏“下方”...
2021-05-20 09:50:05