html - 让两个div占据剩余高度

标签 html css

我想让两列占据剩余空间。我不知道该怎么做了,两个 div 具有相同的属性,但是当我为“侧边栏”div 设置顶部 CSS 属性时它下降,当我为“内容”div 设置它时它上升。

#wrapper {
  width: 100%;
  float: right;
  display: block;
  position: relative;
}

#sidebar {
  top: 153px;
  width: 20%;
  height: 10000px;
  background-color: white;
  height: 100%;
  overflow: hidden;
  float: left;
  left: 0;
  bottom: 0;
  position: absolute;
  display: block;
}

#content {
  height: 100%;
  width: 80%;
  float: right;
  background-color: yellow;
  position: absolute;
  bottom: 0;
  overflow: hidden;
  right: 0;
  display: block;
}

body {
  position: relative;
  height: 500px;
}
<div id="wrapper">
  <header></header>

  <div id="content">
    <section>
      content
    </section>
  </div>

  <div id="sidebar">
    sidebar
  </div>
  <div class="clear"></div>
</div>

这是结果

my result

我很困惑,我不明白里面发生了什么。绿线是导航栏,导航栏和页面顶部之间的空间是因为一个标志(被黄色 block 隐藏)

最佳答案

html, body {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
}

.container{
  position: relative;
  width: 100%;
  height:100%;
}

.navbar {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 50px;
  background-color: green;
}

.sidebar {
  position: absolute;
  width: 100px;
  top:50px;
  bottom:0;
  left: 0;
  background-color: red;
}

.content{
  position: absolute;
  top: 50px;
  bottom: 0;
  left: 100px;
  right: 0;
  background-color: blue;
}
  
<div class="container">
  <div class="navbar"></div>
  <div class="sidebar"></div>
  <div class="content"></div>
</div>
  

关于html - 让两个div占据剩余高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43785993/

相关文章:

html - 在 Firebug 中显示当前事件的媒体查询规则

ASP.NET 主题和静态内容

javascript - 如何使用隐藏在 jquery 中的输入类型找到最接近的图像?

javascript - 是否可以将javascript注入(inject)到使用ajax调用后加载的dom中?

html - html.erb 文件中的类名分隔

javascript - 样式化 jQuery 验证错误消息

html - 在 css3 中,使用 calc() 与 vh 和 vw 垂直居中

javascript - 使用 JQuery 为标签赋值?

jquery - 在 jQuery 中,当 dom 发生变化时如何触发函数?

javascript - 使用 svg 绘制圆形路径并控制其开始/结束