如何使菜单向上扩展以适应新添加的条目

Posted

技术标签:

【中文标题】如何使菜单向上扩展以适应新添加的条目【英文标题】:How to make menu expand towards up to accommodate newly added entries 【发布时间】:2021-07-16 07:42:48 【问题描述】:

如下图所示,我有一个菜单,我想向该菜单添加条目或项目。我的限制是保持菜单左下角的位置。换句话说,我希望每次条目都是 添加了菜单应该在“左上角”的高度展开,左下角保持不变。 这个想法是无论添加多少条目,菜单都应该扩展以适应新添加的条目,以便 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

【问题讨论】:

【参考方案1】:

如您所知,您希望菜单的底部距离顶部 800 像素,而不是指定顶部距离,您可以将底部指定为:

bottom: calc(100% - 800px);

这里的 100% 是指包含元素的高度,在您的示例中是 body。

这是一个示例 sn-p。删除一个项目并看到列表从顶部而不是底部缩小。添加一个项目,它会根据需要向上扩展。

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>

【讨论】:

以上是关于如何使菜单向上扩展以适应新添加的条目的主要内容,如果未能解决你的问题,请参考以下文章

如何使 DockPanel 中的项目扩展以适应 WPF 中的所有可用空间?

Dspace CRIS 新条目页面

在 Rails 中使用嵌套表单 - 如何使显示页面根据用户想要的呈现数量以表格格式显示每个新条目?

如何使UIImageView适合缩放图像

使图片行扩展以适应可用空间

查找新添加的扩展的 MIME 类型