带语义UI的全屏地图

时间:2016-09-22 15:45:59

标签: css leaflet semantic-ui

我正在尝试显示语义-ui侧边栏和全屏幕地图。

这笔交易是我将构建地图事件以切换侧边栏。我的问题在于CSS。

我能够按预期显示所有内容,但我总是会显示菜单上的第一项,推动了很多内容。

这是相关的html结构:

<body>
<div class="ui sidebar vertical menu">
    <a class="item">
        Item 1
    </a>
    <a class="item">
        Item 2
    </a>
    <a class="item">
        Item 3
    </a>
</div>

<div class="pusher">
    <div id="map"></div>
</div>

<script type="text/javascript" src="bower_components/jquery/dist/jquery.min.js"></script>
<script type="text/javascript" src="bower_components/semantic/dist/semantic.min.js"></script>
<script type="text/javascript" src="bower_components/leaflet/dist/leaflet.js"></script>
<script>
    var map = L.map('map').setView([51.505, -0.09], 13);
    $('.ui.sidebar').sidebar('toggle');
</script>
</body>

以下是我对CSS所做的更改:

body {
background-color: #FFFFFF;
display: flex;
height: 100vh;
flex-direction: column;
}

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

在页面加载时以及切换后的行为方式示例:

As the page loads

After toggle

2 个答案:

答案 0 :(得分:0)

将推杆的高度设置为100%应该可以解决此问题。

<body>
  <div class="ui right sidebar" id="side_content">
    THIS IS IT
  </div>
  <!-- Search bar for the map -->
  <div class="pusher" style="height:100%">
  <div id="map"></div>
</div>
</body>

引用自:Issue 1664

答案 1 :(得分:-1)

试试这个

<body>
  
<style>
  .unstyle{
  background: rgba(0,0,0,.0)!important;
}
</style>

<div id="topbar" style="width: 100%; height: 37px;" class="">
  <button id="btn"> toggle</button>
  <button style="float: right"> toggle</button>
</div>
<div id="app" class="" style="height: 94%; width: 100%">
  <div class="ui left vertical menu sidebar unstyle"></div>
  <div class="pusher" style="height: 100%; width: 100%;">
    <div id="mapid"  style="height: 100%; width: 100%; position: relative;"> </div>
  </div>
  <script>
  $('#app .ui.sidebar')
   .sidebar({context: $('#app')})
   .sidebar('setting','transition', 'overlay')
   .sidebar('setting','dimPage', false)
   .sidebar('setting','closable', false)
   .sidebar('attach events', '#btn')
   .sidebar('toggle');
  </script>
</div>

</body>

result screenshot