如何构建始终具有 100% 高度并显示其所有列表项的移动响应菜单

How to build a mobile responsive menu that will always have a 100% height and show all its list items

我正在开发移动响应式网站。 它有一个导航菜单按钮,可以打开 .list div - 当点击菜单按钮时。 我在导航栏之后插入了 .list 的 div。

当菜单打开时,它没有显示我的标签中的所有列表项。 我必须给我的 main div .list 不同的高度尺寸,但我发现它效率不高。

我将粘贴导航栏的相关代码部分,以及相关的 CSS 部分。

HTML:

<div class="list">
            <h2 id="cat-header"> ALL CATEGORIES</h2>
                <ul class="sports">

                        <li class="mainli">
                        </li>

                        <li class="mainli">
                        </li>

                        <li class="mainli"> 
                        </li>
                </ul>

            </div>

CSS:

.sports{
    /*display: none;*/
    padding: 0 ;
    background-color: #fff;
    margin: 0;
    width:100%;
    /*height: 210%*/
    -webkit-overflow-scrolling: touch;
}

.list{
    width: 99.9%;
    /* overflow: hidden; */
    /* overflow-y: scroll; */
    /* top: 65%; */
    overflow-x: hidden;
    /*overflow-y: scroll;*/
    height: 75%;
    display: none;
    -webkit-overflow-scrolling: touch;
}

我创建了不同的宽度尺寸来改变

.list{
    height: 75%;
}

在某种程度上它会适合,但我发现很多小型手机的宽度相同但高度不同。我需要 100% 高度的自动东西。

这是我的问题的直观示例:

这是一个很好的例子,说明它应该是什么样子。这是针对特定手机定制的。

试试这个:

.list{
    width: 99.9%;
    /* top: 65%; */
    overflow-y: scroll;
    height: auto;
    display: none;
}