【发布时间】:2016-05-12 06:06:59
【问题描述】:
也许我想要一些不可能的事情。 我想要一个只有一个带有 flexbox 样式的列的网站。目的是只有一列将其高度延伸到页脚,而不管列内容的大小。类似于以下结构:
我尝试用这段代码来达到这个目的(我正在使用引导程序):
<div class="container-fluid">
<div class="row">
<header class="col-md-12">
stuff...
</header>
<div class="col-md-1 col-a">
stuff...
</div>
<div class="col-md-10 col-b">
Stuff...
</div>
<div class="col-md-1 col-c">
<div class="col-c-child">
Stuff..
</div>
</div>
<footer class="col-md-12">
Stuff
</footer>
</div>
</div>
然后在 col-c 和 col-c-child 特定的 CSS 中添加:
.col-c {
display: flex;
flex-direction: column;
height: 100%;
}
.col-c-child {
flex: 1;
}
但是不工作。 有什么想法吗?
解决方案:
- 为
header创建一个行,为内容创建一个行,为footer创建另一个行,即 - 不要将所有内容都放在同一行。 - 使用
display:flex和flex-direction: row;构建一个包含 col-a、col-b 和 col-c 的 div-wrapper - 摆脱 col-c-child
- col-c 与
flex: 1;
感谢@jelleB,他为我阐明了其中的一部分。
【问题讨论】:
-
如果不让列子的父级也使用 flexbox,您就无法做到这一点。你需要一些计算 colc-c div 高度的方法。
-
谢谢。幸好找到了解决方案,现在我真的明白你的意思了。你所说的一切都很有道理。再次感谢您。