gpt4 book ai didi

javascript - Jquery Mobile - 将响应式 Leaflet map 添加到页面内容

转载 作者:行者123 更新时间:2023-11-28 12:32:42 25 4
gpt4 key购买 nike

我需要制作一个 Leaflet 映射以适合包含标题的 JQM 页面。问题是页面是可滚动的,如果不滚动我就看不到 map 的底部。我需要整个页面适合窗口大小,无需任何滚动。

这是我目前所拥有的:

http://jsfiddle.net/51Lv7ppt/

<body>
<div data-role="page" id="mapPage" data-theme="a">
<div data-role="header" data-position="fixed" data-theme="a">
<a id="backButton" href="#" data-rel="back"
data-transition="slide" data-direction="reverse">Back</a>
<h1>Map</h1>
</div>

<div id="map-content" data-role="content">
<div id="map"></div>
</div>
<a id="curLoc" data-role="button" data-icon="location" data-iconpos="notext"></a>

</div>
</body>

CSS:

#mapPage, #map {
height: 100%;
}

#map-content{
height: 100%;
padding: 0px;
margin:0px;
z-index: -1;
}
#curLoc{
position: absolute;
bottom: 0;
left: 10px;
}

最佳答案

当您将 map 的包含元素全部设置为 100% 时,它占据 body 的 100% 高度,这意味着包括 42px 的标题。但是 mapPage 元素由于标题的原因在顶部填充了 42px,所以它在底部有 42px 的额外空间。您可以使用 CSS calc 更正它。变化:

#mapPage, #map {
height: 100%;
}

进入:

#mapPage {
height: calc(100% - 42px);
}

#map {
height: 100%;
}

现在 #mapPage 不会溢出底部的 42px 并且 #map-content#map 占据了 100% 的 #mapPage 即 100% - 42px;现在它像手套一样合身。

你的 fiddle 叉:http://jsfiddle.net/Lcu21pdn/

如果使用 calc 不适合您,您可以使用纯 javascript 或因为您已经在使用 jQuery,之前使用 jQuery 来更正元素 mapPage 的高度初始化 map :

var element = $('#mapPage');

element.height(element.height() - 42);

var map = L.map('map').setView([51.505, -0.09], 13);

你的 fiddle 的另一个分支:http://jsfiddle.net/pjv22wgk/

关于javascript - Jquery Mobile - 将响应式 Leaflet map 添加到页面内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28341742/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com