请考虑:http: //jsfiddle.net/msNs5/3/
我有一个地图 div,它在页面加载时扩展为全尺寸,另一个半透明 div 覆盖它的底部。从美学上讲,我真的很喜欢底部 div 与它后面的地图的外观,但我需要让它没有被透明 div 覆盖的区域是“活动”区域。
IE 当地图计算标记和多边形的边界并设置它的视图时,它会计算到该暴露区域而不是整个地图本身。人们似乎认为这是可能的,但我正在为实际实施而苦苦挣扎。
小提琴中的代码如下:
// JavaScript
var map = L.map('map', { center: [51.505, -0.09], zoom: 13 });
osm = L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {});
map.addLayer(osm);
function initMap() {
$('#map').css({"height": $(window).height() + "px"});
map.setView(map.getCenter(),map.getZoom());
}
var id;
$(window).resize(function() {
clearTimeout(id);
id = setTimeout(initMap, 500);
});
$('#map').css({"height": $(window).height() + "px"});
map.setView(map.getCenter(),map.getZoom());
/* CSS */
#map { position: fixed; z-index: -1; width: 100%; }
#header { height: 40px; background: black; }
#otherstuff { position: fixed; bottom: 0px; width: 100%; background-color: rgba(255,255,255,0.6); height: 30%; }
<!-- HTML --->
<!DOCTYPE html>
<body>
<div id="header"></div>
<div id="map"></div>
<div id="otherstuff">xxx</div>
</body>