如何使菜单向上扩展以容纳新添加的条目
How to make menu expand towards up to accommodate newly added entries
如下图所示,我有一个菜单,我想向该菜单添加条目或项目。我的限制是保持菜单左下角的位置。换句话说,我希望每次输入
添加菜单应在“左上角”高度扩展,左下角保持不变。
这个想法是无论添加的条目数量如何,菜单都应该扩展以容纳新添加的条目,以便 image_1 中的两个按钮总是出现而不被菜单隐藏。
请查看下面发布的 css 代码,请告诉我如何修改它以达到上述要求。
CSS:
#select-site-layers-overlay{
position: absolute;
top:800px;
right: 0px;
padding: 15px;
display: block;
width: 305px;
height: 200;
border: 1px solid white;
border-radius: .15rem;
background-color: white;
z-index: 2;
cursor: pointer;
}
img_1:
img_2:
如您所知,您希望菜单底部距顶部 800 像素,而不是指定顶部距离,您可以将底部指定为:
bottom: calc(100% - 800px);
这里的100%是指包含元素的高度,在你的例子中是body。
这是一个示例片段。删除一个项目并看到列表从顶部而不是底部收缩。添加一个项目,它会根据需要向上扩展。
body {
background: cyan;
height: 1000px;
}
#select-site-layers-overlay{
position: absolute;
bottom: calc(100% - 800px);
right: 0px;
padding: 15px;
display: block;
width: 305px;
height: 200;
border: 1px solid white;
border-radius: .15rem;
background-color: white;
z-index: 2;
cursor: pointer;
height: auto;
}
<ul id="select-site-layers-overlay">
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
<li>Item 4</li>
</ul>
如下图所示,我有一个菜单,我想向该菜单添加条目或项目。我的限制是保持菜单左下角的位置。换句话说,我希望每次输入 添加菜单应在“左上角”高度扩展,左下角保持不变。 这个想法是无论添加的条目数量如何,菜单都应该扩展以容纳新添加的条目,以便 image_1 中的两个按钮总是出现而不被菜单隐藏。 请查看下面发布的 css 代码,请告诉我如何修改它以达到上述要求。
CSS:
#select-site-layers-overlay{
position: absolute;
top:800px;
right: 0px;
padding: 15px;
display: block;
width: 305px;
height: 200;
border: 1px solid white;
border-radius: .15rem;
background-color: white;
z-index: 2;
cursor: pointer;
}
img_1:
img_2:
如您所知,您希望菜单底部距顶部 800 像素,而不是指定顶部距离,您可以将底部指定为:
bottom: calc(100% - 800px);
这里的100%是指包含元素的高度,在你的例子中是body。
这是一个示例片段。删除一个项目并看到列表从顶部而不是底部收缩。添加一个项目,它会根据需要向上扩展。
body {
background: cyan;
height: 1000px;
}
#select-site-layers-overlay{
position: absolute;
bottom: calc(100% - 800px);
right: 0px;
padding: 15px;
display: block;
width: 305px;
height: 200;
border: 1px solid white;
border-radius: .15rem;
background-color: white;
z-index: 2;
cursor: pointer;
height: auto;
}
<ul id="select-site-layers-overlay">
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
<li>Item 4</li>
</ul>