我理解不了!我试图使用max-height
让父级div的高度不超过窗口的80%,并使子div占据所有父级高度减去一些东西。
但是,子元素的百分比高度属性根本不起作用,除非我给父级元素设置height
属性。
为什么会这样呢?
这是我的简化版演示: https://jsfiddle.net/mbatcer/m2ohnsf5/ 为什么内部div不尊重父级高度并溢出容器?
HTML:
<div class="container">
<div class="inner">
<img src="http://via.placeholder.com/70x300">
</div>
</div>
CSS:
.container {
background: blue;
padding: 10px;
max-height: 100px;
}
.inner {
height: 100%;
width: 70px;
overflow: hidden;
}
max-height
与此无关。此外,如果您在父元素上也使用百分比设置高度,则还需要为html/body设置高度,否则它将无法正常工作。为什么会这样呢?... html、body和元素上的高度默认为auto,在元素上使用百分比时,它会查询其父元素的高度,该高度将返回auto,因此最终高度将为0。 - Asons