html - 如何设置嵌套的几个div的相对位置?

标签 html css

假设我有一些像这样的 div:

<div id="div0">
  <div id="div1"></div>
  <div id="div2"></div>
  <div id="div3"></div>
</div>

div0、div1 和div3 的高度是固定的。现在我想让 div2 自动扩展,以便它可以占用所有剩余空间。有没有办法做到这一点? 看这个http://codepen.io/anon/pen/XJorMb例如,我希望蓝色框位于中间并占据所有剩余空间。

最佳答案

你可以用 flex 做到这一点:

#fixedPanel {
  position:fixed;
  width: 350px;
  height:150px;
  border-style: solid;
  border-width: 5px;
  display:flex;
  flex-direction:column;
}
#div1 {
  height: 20px;
  border-style: solid;
  border-width: 1px;
  border-color: red;
}
#div2 {
  flex:1;
  border-style: solid;
  border-width: 1px;
  border-color: blue;
}
#div3 {
  height: 20px;
  border-style: solid;
  border-width: 1px;
  border-color: green;
}
<div id="fixedPanel">
  <div id="div1"> 1 </div>
  <div id="div2"> 2 </div>
  <div id="div3"> 3 </div>
</div>

display:table;

#fixedPanel {
  position:fixed;
  width: 350px;
  height:150px;
  border-style: solid;
  border-width: 5px;
  display:table;
  border-collapse:collapse;
}
#fixedPanel > div {
display:table-row;
}
#div1 {
  height: 20px;
  border-style: solid;
  border-width: 1px;
  border-color: red;
}
#div2 {
  height:100%;
  border-style: solid;
  border-width: 1px;
  border-color: blue;
}
#div3 {
  height: 20px;
  border-style: solid;
  border-width: 1px;
  border-color: green;
}
<div id="fixedPanel">
  <div id="div1"> 1 </div>
  <div id="div2"> 2 </div>
  <div id="div3"> 3 </div>
</div>

关于html - 如何设置嵌套的几个div的相对位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29134411/

相关文章:

javascript - 如何删除跨度上的 £ 并更改值?

从静态html页面发布到另一个站点的jquery解决方案

javascript - javascript中输入类型时间的值

css - 如何检查sass中的 undefined variable

css - 无法在 Flex 表格中的图标下居中对齐文本

php - 如果我在 url 中有 2 `/`,则不会加载 Css

html - 如何从特定标签中删除 css 类?

jquery - 选择这个和里面的div

html - 使用文本对齐或内联 block 使导航栏居中? (杰基尔)

html - div 中的中心文本,其中有一个 div