我的页面上有一个动态页脚,我希望它上面的内容可以扩展到页脚的顶部,这很好,但是我遇到了问题:
#snippet-container {
height: 300px;
width: 200px;
}
#page {
display: flex;
flex-flow: column;
height: 100%;
}
#content {
flex: 1 1 auto;
background: blue;
}
#content .test {
width: 100%;
height: 100%;
background: yellow;
border: 2px solid red;
}
#footer {
flex: 0 1 10vh;
background: black;
}
<div id="snippet-container">
<div id="page">
<div id="content">
<div class="test"></div>
</div>
<div id="footer"></div>
</div>
</div>
我希望.test
元素填充#content
元素,因此100%/100% width/height
但不会填充.test
。
您可以看到这反映为我在代码段中为Dim MissDataCode As Object = Nothing
If objx(i, j) = MissDataCode And MissDataCode IsNot Nothing Then x(i, j) = Nothing
If objx(i, j) Is MissDataCode And MissDataCode Is Nothing Then x(i, j) = Nothing
元素添加了红色边框。
答案 0 :(得分:20)
<强>问题:强>
问题是你的#page
弹性容器不是到达 .test
元素,因为.test
不是孩子,它是flex的后代项目
Flex容器的内容由零个或多个弹性项组成: Flex容器的每个子节点都变为弹性项目。
每个弹性项目都受弹性容器的影响,但弹性项目的后代不受此影响。
<强> SOLUTION:强>
您还需要将display: flex
添加到#content
。
<强> JSFiddle 强>
CODE SNIPPET
#snippet-container {
height: 300px;
width: 200px;
}
#page {
display: flex;
flex-flow: column;
height: 100%;
}
#content {
display: flex;
height: 100%;
background: blue;
}
#content .test {
width: 100%;
background: yellow;
border: 2px solid red;
}
#footer {
flex: 0 1 10vh;
background: black;
}
<div id="snippet-container">
<div id="page">
<div id="content">
<div class="test"></div>
</div>
<div id="footer"></div>
</div>
</div>
答案 1 :(得分:6)
这适合你:
https://jsfiddle.net/wjr0wwht/2/
为了让'test'db增长到全高,你需要将内容设为display: flex
,如下所示:
#content {
flex: 1 1 auto;
background: blue;
display: flex;
flex-direction: column;
}
然后让测试本身成长:
#content .test {
background: yellow;
border: 2px solid red;
flex-grow: 1;
}