Flexbox布局中的传单地图

meg*_*wac 11 html css flexbox leaflet

我似乎无法得到一个(死的简单)Leaflet.map渲染内部flexbox.我认为这可能是一个问题invalidateSize

死简单(破碎)示例:jsbin
如果删除flexbox CSS它将起作用:jsbin

HTML

<body>
    <div id="content">
      <div id="mapPane"></div>
    </div>
</body>
Run Code Online (Sandbox Code Playgroud)

CSS

body {
    display: flex;
    flex-flow: column wrap;
}

#content {
    flex: 1 1;
    order: 2;
}

#mapPane {
    height: 100%;
}
Run Code Online (Sandbox Code Playgroud)

mis*_*Sam 22

Flex的力量现在有你

地图窗格没有高度可以继承,因为父级#content从其Flex属性获取高度(告诉它增长).#mapPane因此具有正确的高度 - 0的100%为0.

将地图窗格置于Flex世界中

完整的例子

$(function() {
  L.map("mapPane");
});
Run Code Online (Sandbox Code Playgroud)
html,
body {
  margin: 0px;
  height: 100%;
}
body {
  display: flex;
  flex-flow: column wrap;
}
#content {
  flex: 1 1;
  order: 2;
  display: flex;
}
#mapPane {
  flex: 1;
}
Run Code Online (Sandbox Code Playgroud)
<link href="https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.3.1/leaflet.css" rel="stylesheet" type="text/css">
<script
  src="https://code.jquery.com/jquery-2.2.4.min.js"
  integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44="
  crossorigin="anonymous"></script><script>L_PREFER_CANVAS = true;</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.3.1/leaflet-src.js"></script>

  <div id="content">
    <div id="mapPane"></div>
  </div>
Run Code Online (Sandbox Code Playgroud)