【发布时间】:2020-07-16 19:19:10
【问题描述】:
我正在创建一个小组件,其中包含一张卡片,该卡片显示一个问题并让用户从滑块中选择一个值。
HTML 是:
<mat-card class="survey-card">
<mat-card-header>
<mat-icon>question_answer</mat-icon>
<mat-card-title>
{{question}}
</mat-card-title>
<mat-card-subtitle>
Choose your best answer.
</mat-card-subtitle>
</mat-card-header>
<mat-card-content>
<mat-slider class="survey-slider" thumbLabel [min]="minValue" [max]="maxValue" (change)="sliderChanged($event)">
</mat-slider>
</mat-card-content>
</mat-card>
我想要的是让图标位于右上角。但是,它现在的位置取决于问题中文本的长度。
这是我展示其中 3 个组件的图片,其中包含不同长度的问题:
我的 SCSS 是
* {
border: 1px solid black;
}
.survey-card {
border: 1px solid steelblue;
border-radius: 10px;
max-width: 20vw;
margin: 1vw;
}
// Force icon to be in the upper-right corner. Not a great solution, but seems to work.
.mat-icon {
margin-left: 40px;
}
.mat-slider-horizontal {
min-width: 100%;
}
请注意,将“强制图标”置于右上角的代码实际上并不能正常工作。
<mat-icon> 和 <mat-card-title> 在 flexbox 中,所以我尝试使用 mat-card-header > * { flex-grow: 1 } 将 flex-grow: 1 放在 mat-card-header 的孩子上,但这似乎不起作用——图标填充该区域水平但与其区域的左侧对齐。
任何帮助将不胜感激!我敢肯定这只是我缺少的一件小事。
【问题讨论】: