设置高度:我的标签元素上的100%不起作用

我试图设定height: 100%; 在标签,但它没有工作。 为什么不?

 .field label { color:#3E3E3E; font-weight:bold; width:80px; display:block; float:left; margin-top:5px; margin-left:3px; height:100%; /* <-- doesn't work */ } .field { display:block; margin-bottom:9px; background:none; border:none; } 
 <div class="field large"> <label>Textarea</label> <textarea></textarea> </div> 

你有高度设置为100%,但是100%是什么? 它始终是该元素的父项,那么父项的高度是多less? 如果它没有设置任何东西,那么浏览器没有什么可引用的。

在这种情况下,我相信你的div的高度是由其中最高的元素的高度决定的:文本区域。 ( 参考 )也许你想知道你的文本区域有多less像素(例如,这可以用Firebug,IE或Chrome的开发者工具来完成),然后将你的标签设置为相同的高度。

我也明确地设置了文本区域的高度,以确保它在所有浏览器中都是一样的。


原因height: 100%不能正常工作,因为您期望父元素具有auto高度。 这会导致您的标签也获得auto计算的高度。

<百分比>指定百分比高度。 百分比是根据生成的包含盒子的高度来计算的。 如果包含块的高度没有明确指定(即,取决于内容高度),并且该元素没有被绝对定位,则该值计算为“auto”。

( 参考 )