Html 当使用overflow:auto放置滚动条时,如何将div设置为使用一定的高度百分比?

Html 当使用overflow:auto放置滚动条时,如何将div设置为使用一定的高度百分比?,html,scrollbar,css,Html,Scrollbar,Css,我有以下代码: div.leftnav { overflow: auto ; height: 50% ; } 当我设置这个类的一个大div时,它不起作用(它不会显示滚动条,也不会将其调整到50%,但是如果我使用 height: 400px ; 或者其他一些“绝对”值。仅当父元素也有高度指令时,高度才起作用 假设您有非常简单的标记: <html> <body> <div class="leftnav">

我有以下代码:

div.leftnav {
    overflow: auto ;
    height: 50% ;
}
当我设置这个类的一个大div时,它不起作用(它不会显示滚动条,也不会将其调整到50%,但是如果我使用

height: 400px ;

或者其他一些“绝对”值。

仅当父元素也有高度指令时,高度才起作用

假设您有非常简单的标记:

<html>
    <body>
        <div class="leftnav">
            really long text
        </div>
    </body>
</html>
但是,您需要始终具有高度指示。如果某个父元素上缺少高度指示,则100%对div没有任何意义。如果无法访问树下的所有元素,则需要具有固定高度的父元素:

<div class="leftnav-container">
    <div class="leftnav">
        really long text
    </div>
</div>
<div class="leftnav-container">
    <div class="leftnav">
        really long text
    </div>
</div>
div.leftnav {
    overflow: auto ;
    height: 50%;
}
div.leftnav-container {
    height : 500px;
}