我创建了一个下拉菜单,我使用了我的真实项目源代码,这样就不会有混淆:-
.main-container {
overflow-x: auto;
}
div.btn-dropdown-options {
font-family: "Haas Grot Text R Web", "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 20px;
position: absolute;
z-index: 1000;
top: calc(100% + 8px);
left: 0;
min-width: 180px;
margin-top: 4px;
overflow: auto;
border: 1px solid rgba(0,0,0,0.05);
border-radius: 8px;
background: #fff;
visibility: hidden;
opacity: 0;
transition: opacity 2s, visibility 2s;
-webkit-box-shadow: 0px 1px 2px rgba(128,138,157,0.12),0px 8px 32px rgba(128,138,157,0.24);
box-shadow: 0px 1px 2px rgba(128,138,157,0.12),0px 8px 32px rgba(128,138,157,0.24);
}
我有一个下拉菜单 div.btn-dropdown-options 和一个父容器 main-container。当我单击切换按钮显示下拉菜单时,由于溢出属性,它被切断,我使用了position:absolute和z-index:1000;,但没有任何效果,如何在溢出上方显示下拉菜单?
.main-container {overflow-x: auto; height: 100vh;}
或
div.btn-dropdown-options {position: relative;}
不确定我是否完全理解这个问题(我建议使用背景颜色来表示不需要的内容)。但是从 .main-container 中删除
overflow-x
并将 position: absolute
添加到下拉选项可以解决您的问题吗?
.btn-dropdown .btn-dropdown-options {
position: absolute;
right: 0;
}
如果您使用 prime ng 或 boostrap,它允许将下拉列表附加到主体或更高级别的容器以避免剪切。
<p-dropdown class="w-full" formControlName="RequiredLOA" [options]="requires" [appendTo]="'body'"optionLabel="name" optionValue="value" optionDisabled="inactive"> </p-dropdown>