Ham*_*dad 7 html css angular-material angular
我会将mat-expansion-panel组件的描述文本对齐到右边
我试图使用对齐文本,但没有任何改变这是我的HTML
<mat-expansion-panel>
<mat-expansion-panel-header>
<mat-panel-title>
Cycle ingénieur en informatique
</mat-panel-title>
<mat-panel-description>
2014-2017
</mat-panel-description>
</mat-expansion-panel-header>
....
</mat-expansion-panel>
Run Code Online (Sandbox Code Playgroud)
CSS:
mat-panel-description {
text-align: right;
}
Run Code Online (Sandbox Code Playgroud)
这是实际行为
我希望2014年的这段时间能够保持正确.
Jay*_*ase 10
面板标题内容包含在作为flexbox的范围中,因此您可以使用它将内容推送到两侧.
视图:
<mat-expansion-panel>
<mat-expansion-panel-header class="right-aligned-header">
<mat-panel-title>
Cycle ingénieur en informatique
</mat-panel-title>
<mat-panel-description>
2014-2017
</mat-panel-description>
</mat-expansion-panel-header>
Run Code Online (Sandbox Code Playgroud)
css(这必须是全局css,例如.styles.css不在组件样式中):
.right-aligned-header > .mat-content {
justify-content: space-between;
}
.mat-content > mat-panel-title, .mat-content > mat-panel-description {
flex: 0 0 auto;
}
Run Code Online (Sandbox Code Playgroud)
Die*_*er 7
基于此解决方案:https : //github.com/angular/components/issues/10024
.mat-expansion-panel-header-description, .mat-expansion-panel-header-title {
flex-basis: 0;
}
Run Code Online (Sandbox Code Playgroud)
并再次阅读问题,这对我有用:
.mat-expansion-panel-header-description {
display: flex;
justify-content: flex-end;
}
Run Code Online (Sandbox Code Playgroud)
最简单的解决方案,我发现是重置flex-grow的mat-panel-description:
// my.component.css
mat-panel-description.right-aligned {
flex-grow: 0;
}
Run Code Online (Sandbox Code Playgroud)
// my.component.html
...
<mat-expansion-panel-header>
<mat-panel-description class="right-aligned">
2014-2017
</mat-panel-description>
</mat-expansion-panel-header>
...
Run Code Online (Sandbox Code Playgroud)