【发布时间】:2017-02-11 21:07:15
【问题描述】:
是否可以让 flex 元素忽略子元素,使其大小不会影响其他元素?
例如,我有一个带有display: flex 的包装器。它有页眉、内容和页脚。
<div class="wrapper">
<header></header>
<article></article>
<footer></footer>
</div>
我希望包装器忽略标题标签(标题将固定在窗口顶部)。文章将设置为flex: 1,因此它会占用剩余空间,迫使页脚位于页面底部。这是一些示例 CSS:
.wrapper {
display: flex;
flex-direction: column;
height: 100%;
padding-top: 50px; /* Accounts for header */
}
header {
height: 50px;
position: fixed;
top: 0;
width: 100%;
}
article {
flex: 1;
}
footer {
height: 50px;
}
我知道我可以将标题移到包装器之外,但我有很多现有代码会使这变得更加困难。我问的是可能的吗?
【问题讨论】:
-
你能发布一个完整的工作样本吗? (sn-p)
-
您在使用 Firefox 吗?
-
你想要这样的东西吗? jsfiddle.net/xvzbwksx
-
这正是我想要的。出于某种原因,我遇到了 Chrome 仍在尝试将我的标题计算到 flex 元素中的问题。我正在使用 Bootstrap 及其固定导航栏,因此标题元素实际上没有
position: fixed所以我想知道这是否是问题的一部分。