gpt4 book ai didi

html - Angular Material - 垫选择 : Custom padding overflows parent element

转载 作者:太空宇宙 更新时间:2023-11-04 15:46:39 25 4
gpt4 key购买 nike

我正在使用 Angular Material 组件,并且我正在尝试自定义组合框(选择)。当我更改组件的填充时,它会溢出包装器 div 元素。我期待它会一起成长。

添加填充之前的外观

enter image description here

添加内边距后的外观 enter image description here

正如我们所见,当 mat-select 元素通过添加填充增加其宽度时,mat-select div 并没有增长

html代码

<div style="border: 1px solid black; min-width: 100px; margin: 0px 5px; float: left">
<mat-form-field class="my-select template-select">
<mat-select [(value)]="templateSelected">
<mat-select-trigger>
<div fxLayoutAlign="start center">
<i fxFlex="none" class="material-icons md-dark">visibility</i>
<span fxFlex>{{templateSelected}}</span>
</div>
</mat-select-trigger>
<mat-option value="Full data">
<div fxLayoutAlign="start center" class="template-option">
<i fxFlex="none" class="material-icons md-dark">done</i>
<span fxFlex>Full data</span>
</div>
</mat-option>
<mat-option value="My quarterly report">
<div fxLayoutAlign="start center" class="templateOption">
<i fxFlex="24px" class="material-icons md-dark"></i>
<span fxFlex>My quarterly report</span>
</div>
</mat-option>
</mat-select>
</mat-form-field>
</div>
<div style="border: 1px solid black; min-width: 100px; margin-right: 5px; float: left">
<button class="toolbar-button" mat-stroked-button>FILTER</button>
</div>

我正在更改 mat-select 元素上的填充,如下所示。 (可能不是改的地方吧)

CSS 代码

.my-select mat-select {
background-color: rgba(58, 40, 8, 0.12);
/*padding: 6px 0px 6px 0px;*/ /* NO Left and right padding*/
padding: 6px 10px 6px 10px; /* 10px left and right padding*/

border-radius: 5px;
}

.my-select .mat-select-value {
font-family: Roboto-Regular;
font-size: 16px;
color: rgba(58, 40, 8, 0.87);
}

.my-select .mat-form-field-underline {
display: none;
}

.my-select mat-select-trigger div>i {
margin-right: 8px;
}

有谁知道为什么会出现这种行为?我该如何解决?

可用的实时代码:https://stackblitz.com/edit/angular-mat-select-overflow

非常感谢您的帮助。

问候

最佳答案

我认为在这里你需要使用 box-sizing: border-box; 和 CSS box-sizing 属性。 box-sizing 属性允许我们在元素的总宽度和高度中包含填充和边框。

样式.css

/* Add application styles & imports to this file! */
.my-select mat-select {
background-color: rgba(58, 40, 8, 0.12);
/*padding: 6px 0px 6px 0px;*/ /* NO Left and right padding*/
padding: 6px 10px 6px 10px; /* 10px left and right padding*/
box-sizing: border-box;
border-radius: 5px;
}

Forked solution on stackblitz

关于html - Angular Material - 垫选择 : Custom padding overflows parent element,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55018297/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com