我用的是AngularAngular MaterialCSS

我正在try 对齐mat-select下拉菜单的面板

<mat-select disableOptionCentering class="sort-portals" value="newest" panelClass="custom-panel-order-types">
    <mat-option value="newest">Newest</mat-option>
    <mat-option value="oldest">Oldest</mat-option>
    <mat-option value="ascending">Sort A to Z</mat-option>
    <mat-option value="descending">Sort Z to A</mat-option>
</mat-select>

有两个类- sort-portalscustom-panel-order-types

.sort-portals {
    background: $white;
    max-width: 150px;
    margin-left: auto;
    margin-bottom: 0;
    padding: 6px 6px 6px 11.5px;
}

.custom-panel-order-types {
  margin: 34px 0px !important;
  min-width: 150px !important;
}

下拉列表的屏幕截图如下所示.

Dropdown

EDIT

下拉列表的CSS如下所示.它位于组件CSS文件中.但custom-panel-order-types号在styles.scss号档案里...

.admin-header {
    display: flex;
    margin-bottom: 18px;

    h2 {
        margin: 0;
    }

    .sort-portals {
         background: white;
         max-width: 150px;
         margin-left: auto;
         margin-bottom: 0;
         padding: 6px 6px 6px 11.5px;
    }
}

尽管有了答案代码,面板仍在更多地向左侧移动.

如何将面板垂直对齐下拉文本框?

推荐答案

这是因为您正在添加额外的填充到下拉菜单未对齐的 Select ,您只需将您在 Select 上应用的填充作为下拉菜单的页边距,这将解决您的问题!

.sort-portals {
  background: white;
  max-width: 150px;
  margin-left: auto;
  margin-bottom: 0;
  padding: 6px 6px 6px 11.5px;
  border: 1px solid black;
}

.custom-panel-order-types {
  min-width: 166px !important;
  margin: 34px 6px 34px 5px !important;
}

stackblitz->;cd test->;npm i->;npm run start

Css相关问答推荐

容器内的中心固定元件

如何以Angular 调整下拉控件的高度

无限交替css动画之间的未知延迟

如何防止css边框缩小div?

Next.js中的TailWind CSS类名称疑难解答

如何在不使用 sx props 的情况下从 Select 样式中定位 mui paper 组件?

如何在Bootstrap 5上使用移动设备居中内容?

具有共享的自动调整列宽的多个 CSS 网格

CSS Grid 2 列和半高

CSS网格使sibling 项目拉伸

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

包装器内两个跨度之一上的文本溢出省略号

如何将 textarea 宽度扩展到父级宽度的 100%(或如何将任何 HTML 元素扩展到父级宽度的 100%)?

Bootstrap:在列之间添加边距/填充空间

li 中的第二行在 CSS-reset 后的项目符号下开始

CSSzoom 高度以匹配宽度 - 可能与外形尺寸

如何从标题中删除粗体?

为什么浏览器会为 CSS 属性创建供应商前缀?

打印html时在页面上打印页码

将 webkit 滚动条样式应用于指定元素