javascript - CSS:侧边栏 100% 显示高度,不重叠导航栏。 (个人导航高度)

标签 javascript jquery html css

我想为设置 View 构建一个特定的布局。它应该是这样的: Mockup

左侧有一个固定导航栏,右侧内容可以是< strong>独立滚动。左侧的导航栏应始终填满整个页面,但导航栏除外。

我知道,我可以让左侧导航 position:fixed 并给它一个顶部导航高度的偏移量,但导航的高度动态变化

那么有什么动态的解决办法吗?

body,
html {
  padding: 0;
  margin: 0;
}

h1 {
  margin: 0;
}

.lorem {
  background-color: Gainsboro;
  height: 100px;
  margin: 10px;
}

#nav-top {
  height: 100px;
  Background-color: SeaGreen;
}

#nav-sub {
  height: 30px;
  Background-color: YellowGreen;
}

.content {
  position: relative;
}

.left-nav {
  position: fixed;
  background-color: Teal;
  top: 0;
  margin: 0;
  bottom: 0;
  z-index: 2;
}
<div id="nav-top"> Navigation</div>
<div id="nav-sub"> Subnavigation</div>
<ul class="left-nav">
  <li>Item</li>
  <li>Item</li>
  <li>Item</li>
  <li>Item</li>
  <li>Item</li>
</ul>

<div class="content">
  <h1>Scrollable Content</h1>
  <div class="lorem">
  </div>
  <div class="lorem">
  </div>
  <div class="lorem">
  </div>
  <div class="lorem">
  </div>
  <div class="lorem">
  </div>
</div>

这是我的 JSFiddle 的链接: 感谢您的帮助!

最佳答案

为什么不使用表格呢?

body, html {
  padding: 0;
  margin: 0;
}

h1{
  margin:0;
}

.lorem{
  background-color: Gainsboro;
  height: 100px;
  margin:10px;
}

#nav-top{
  height:100px;
  Background-color:SeaGreen;
}
#nav-sub{
  height:30px;
  Background-color:YellowGreen;
}

.content{
  width:100%;
}

.left-nav {
  background-color: Teal;
  vertical-align: top;
}
<div id="nav-top"> Navigation</div>
<div id="nav-sub"> Subnavigation</div>

<table><tr class="left-nav">
<td>
  <ul>
  <li>Item</li>
  <li>Item</li>
  <li>Item</li>
  <li>Item</li>
  <li>Item</li>
  </ul>
</td>
<td class="content">
  <div >
      <h1>Scrollable Content</h1>
      <div class="lorem">
      </div>
          <div class="lorem">
      </div>
          <div class="lorem">
      </div>
          <div class="lorem">
      </div>
          <div class="lorem">
      </div>
  </div>
</td>
</tr>
</table>

关于javascript - CSS:侧边栏 100% 显示高度,不重叠导航栏。 (个人导航高度),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43749037/

相关文章:

javascript - 将图像从 URL 编码为 Base64,无需 Canvas

javascript - 谷歌地图仅加载显示区域中的标记

javascript - dc.js:dispose() 和 deregisterChart() 的问题

php - 使用 PHP 检索文本区域内容。添加反斜杠

html - 文本省略号不适用于 RTL 方向?

javascript - 如何使过渡效果增加变化的输入

javascript - 如何将/n 替换为 react.js 中的换行符?

javascript - CSS 在 Firefox 上随机过渡 'spazing' 一些元素

javascript - 具有动态高度的数据表固定列

javascript - HTML5 和 WebGL 上的增强现实 (AR)