【发布时间】:2013-05-03 10:18:24
【问题描述】:
我有一个 div C,其中 height 是使用 max-height 设置的。这个 div 包含一个 div D。
我希望包含的 div D 具有与包含的 div C 完全相同的高度(并且不超过)。
如果我对 div C 使用 height 属性,例如 here
- div C 的高度是使用
height: 90%设置的 - div D的高度使用
height: 100%设置 - 然后,一切正常,div D 的高度等于 div C的高度
如果我对 div C 使用 max-height 属性,例如 here
- div C 的高度使用
max-height: 90% 设置
- div D的高度使用
height: 100%设置 - 那么,div D 的高度不等于 div C 的高度(很多 更大,因为里面的内容很长)。在小提琴中,它看起来不错,但是如果您检查 div D,您会发现它要大得多。
但我需要使用max-height css 属性,我怎样才能将 div D 的高度设置为仅使用 css 的 div C 的高度?
<div id="container">
<div id="A">
<div id="B">
<div id="C">
<div id="D">
<div id="D1">D1</div>
<div id="D2">
D2 - very long content
</div>
</div>
</div>
</div>
</div>
</div>
谢谢!!!
【问题讨论】:
-
最大高度 CSS 属性在设置为例如 here 时似乎工作得非常好。 60%。没错,你看不到 div D 中的所有内容,因为你将 div C 的溢出设置为隐藏,并且 div D 实际上比包含它的 div 高,但这只是因为它的内容更高,你不能让它的内容使用 CSS 更小。你在找
overflow-y: visible吗? -
max-height 属性非常适合设置 div C 的高度。我的问题是,当我使用它时,div D 的高度(使用属性高度设置:100%)不跟随。请参阅我在问题中添加的反例。谢谢
-
我相信我找到了问题的根源(但没有找到解决方案)。设置了 max-height 的 div C 需要调整到其内容的大小 (div D),但 div D 的大小取决于它的父级 (div C) 的大小。因此,存在问题。使用 div C 的 height 属性不会出现此问题。仍然欢迎任何解决方案!!!