【发布时间】:2017-10-07 07:29:43
【问题描述】:
我正在努力使用 Flexbox 对齐 Angular 4 w/Angular Material 中的项目。我想完成一个类似于附件#1 中所示的布局,其中第一张卡片位于顶部,第二张卡片位于组件内容的底部。组件本身应该占据屏幕上剩余空间的高度(设备高度减去工具栏高度)。
附件 #2 显示了我到目前为止所取得的成就。以下 HTML 标记和 CSS 显示了附件 #2 后面的代码。
谁能告诉我这样做的正确方法是什么?我不想搞乱固定位置或其他什么,我想实现一个与 Angular Material 兼容且不影响其他组件布局的解决方案。
提前致谢!
附件 #1:
附件#2:
HomeComponent 的 HTML 标记:
<div id="home-content">
<mat-card id="title-card">
<mat-card-title>Lorem.</mat-card-title>
<mat-card-content>Lorem ipsum dolor sit, amet consectetur adipisicing elit. Blanditiis magnam sint accusamus facere ducimus modi non voluptates consectetur exercitationem ullam.</mat-card-content>
</mat-card>
<mat-card>
<mat-card-header>
<img mat-card-avatar src="http://lorempixel.com/200/200" alt="">
<mat-card-title>Lorem, ipsum dolor.</mat-card-title>
<mat-card-subtitle>Lorem ipsum dolor sit amet consectetur adipisicing elit.</mat-card-subtitle>
</mat-card-header>
<mat-card-content>Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptate repellat animi reiciendis eius mollitia totam sint natus hic unde iusto.</mat-card-content>
<mat-card-actions>
<button mat-raised-button color="primary">Challenge!</button>
</mat-card-actions>
</mat-card>
</div>
对应的CSS代码:
div#home-content {
display: flex;
flex-direction: column;
height: 100%;
border: 3px solid black;
justify-content: space-between;
}
【问题讨论】:
-
我发布了一个答案,但根据周围标记/CSS 的外观,它可能需要调整。
标签: css flexbox angular-material