【发布时间】:2021-03-03 23:58:15
【问题描述】:
我有一个奇怪的错误,仅当下拉面板超出浏览器窗口时才会出现。然后面板的背景变得透明。如果调整浏览器窗口的大小以使下拉面板在单击时完全可见,则背景不再透明。
这些是影响 ng-select 下拉菜单的自定义样式:
.prop-form {
...
&__row {
display: flex;
justify-content: space-between;
align-items: baseline;
}
&__col {
flex: 1;
}
&__dropdown {
display: flex;
align-items: baseline;
}
&__ng-select {
width: 100%;
margin: 0.75em 0.5em;
}
&__ng-select > .ng-value-container {
padding-bottom: 0;
}
}
还有标记:
<div class="prop-form__row">
...
<div class="prop-form__col">
<div class="prop-form__dropdown">
<ng-select class="prop-form__ng-select" name="time"
[items]="scheduleFormService.timeOptions" [markFirst]="true" [clearable]="false" [searchable]="false"
placeholder="Select time" formControlName="time">
<ng-template ng-option-tmp let-item="item">
<div>{{ item }}</div>
</ng-template>
</ng-select>
</div>
</div>
...
</div>
已经尝试过的解决方案(但没有奏效):
- 在组件和父组件中使用
ViewEncapsulation.None - 在组件样式和全局样式中使用
::ng-deep覆盖默认样式
Bug 出现在 Chrome 和 Safari 中。
【问题讨论】:
标签: html css angular angular-ngselect