我用的是AngularAngular Materialcss

我无法降低mat-select下拉菜单的高度,并且其中的文本没有垂直对齐.

<mat-select class="frequency-dimensions" formControlName="frequency" (change)="disableSubmitButton=false" disableOptionCentering panelClass="custom-panel-frequency">
  <mat-option value="daily" selected>Daily</mat-option>
  <mat-option value="total">Total</mat-option>
</mat-select>

styles.scss年内

.custom-panel-frequency {
  margin: 34px 0px !important;  
  min-width: 100px !important;
}

在其关联的scss中,其定义如下.

.frequency-dimensions {
  min-width: 100px;
  width: 100px;
  vertical-align: middle;
}

如何将下拉菜单的高度调整到大约33px,Dropdown与文本中间对齐,并且其内容垂直对齐?

Total下拉菜单应与日期控件正确对齐,如下图所示

Inline

EDIT

当我将下拉列表的高度减少到25px时,它如下所示...

Inline Dropdown

当我玩边际游戏时,Dropdown Panel就会消失……

最后我做到了frequency-dimensions分,如下所示……

.frequency-dimensions {
  min-width: 100px;
  width: 100px;
  height: auto;
  min-height: auto;
}

有了这些变化,它看起来很大,如下所示.我只想在不影响面板的情况下降低高度.

Inline Dropdown 3

我只想在不干扰其面板和内容垂直对齐的情况下将高度降低到以上Dropdown75%.

EDIT 2

有了新的答案,Total下拉菜单大了25%,如下所示……这与日期控件框的高度不同步.

Total Dropdown

EDIT 3 当我将高度降低到28px时,结果如下所示.

Total Dropdown Height

EDIT 4

有了新的答案,下拉列表显示如下.

Dropdown Height 2

如有任何帮助,我们将不胜感激.

推荐答案

更新

try 在下面的政务司司长中将top的值更改为负值,并try 解决此问题!Stackblitz是错误的,但它演示了如何调整文本以适应容器!

.frequency-dimensions {
  border: 1px solid black; // you can ignore this one line!
  height: 28px !important;
  vertical-align: middle;
  display: flex !important;
  align-items: center;
  position: relative;
  width: 100px !important;
}

.frequency-dimensions .mat-mdc-select-trigger {
  position: absolute;
  top:-2px;
}

Stackblitz Demo


下面的CSS似乎可以完成这项工作!但我用了mat-form-field,因为你有你的形象轮廓!

政务司司长

.form-field-custom {
  display: flex !important;
  height: 33px !important;
}

.form-field-custom .mat-mdc-text-field-wrapper {
  height: inherit !important;
}

.form-field-custom .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex {
  height: inherit !important;
  display: flex !important;
}

.form-field-custom .mat-mdc-form-field-infix {
  padding: 0 !important;
  width: 100%;
  height: inherit;
  display: flex;
}
.frequency-dimensions {
  height: 33px !important;
  vertical-align: middle;
  display: flex !important;
  align-items: center;
}

HTML

<mat-form-field appearance="outline" class="form-field-custom">
  <mat-select
    class="frequency-dimensions"
    formControlName="frequency"
    (change)="disableSubmitButton=false"
    disableOptionCentering
    panelClass="custom-panel-frequency"
  >
    <mat-option value="daily" selected>Daily</mat-option>
    <mat-option value="total">Total</mat-option>
  </mat-select>
</mat-form-field>

Stackblitz Demo

Css相关问答推荐

日期面板未与Angular中的日期控件对齐

搜索栏突出显示角形HTML中的Mat-Form-field输入框的焦点

用两步函数内插的css动画值

Next.js 条件样式

Img 未拉伸以满足所需的纵横比

如何在保持默认外观的同时更改 javaFX 中按钮的突出显示 colored颜色

在 React Native 中创建背景

如何使用 TailwindCSS 水平设置输入和按钮

包含tailwind 中固定纵横比框的内容

CSS背景位置从顶部的给定像素开始?

将 CSS 注入 Shadow 根.然而风格正在受到影响

CSS,居中的 div,缩小以适应?

弹性盒项目之间的间距

CSS类和id同名

如何在 Chrome 中模拟偏好 colored颜色 方案媒体查询?

输入/按钮元素不会在 flex 容器中缩小

我应该如何组织我的 CSS 文件的内容?

CSS 否定伪类 :not() 用于父/祖先元素

我应该在我的 Bootstrap 项目中使用 normalize.css 吗?

行高百分比不起作用