【发布时间】:2019-06-13 17:50:16
【问题描述】:
在此设置中:
html,
body {
height: 100%;
}
.app {
display: flex;
}
.menu {
background-color: red;
width: 100px;
}
.content {
flex: 1;
border: 1px solid blue;
}
<div class="app">
<div class="menu">menu</div>
<div class="content">
<div>content</div>
<div>content</div>
<div>content</div>
<div>content</div>
<div>content</div>
<div>content</div>
<div>content</div>
<div>content</div>
<div>content</div>
<div>content</div>
<div>content</div>
<div>content</div>
<div>content</div>
<div>content</div>
</div>
</div>
我有两个问题。
您可以看到
menu的高度与content的高度相同,对吧? 有人可以解释这是为什么吗?是否继承了app的高度(高度是根据contentdiv的内容动态计算的)?如果我在 .menu 属性中插入
height: 100%,如下所示:
.menu {
background-color: red;
width: 100px;
height: 100%
}
然后菜单的高度降低。有人可以解释为什么会这样吗?如果 menu 应该像之前的情况一样继承 app 的高度,那么为什么写 height:100% 会阻止这种情况呢?
【问题讨论】:
-
默认情况下,您的菜单高度会弯曲以占据所有空间,将其设置为 100% 将使其成为其内容的 100%(“菜单”文本的 100%)
-
@DanielVafidis 错了,100% 并不意味着 100% 的内容,而是它的父元素(包含块),但此规则将失败,因为父元素上没有设置高度。跨度>