角度材质 - 如何创建浮动卡+工具栏布局

时间:2017-10-11 14:21:36

标签: angular angular-material2

如何使用浮动工具栏和卡片布局创建工具栏,如下图所示。

https://storage.googleapis.com/material-design/publish/material_v_12/assets/0Bx4BSt6jniD7bW1TYXlMT0JxUWM/layout-structure-toolbars4.png

这取自官方资料网站。

<div id="profile-edit">
  <mat-toolbar color="primary">
    <span>Outer Toolbar</span>

    <mat-toolbar-row>
    </mat-toolbar-row>

    <mat-toolbar-row>
    </mat-toolbar-row>
  </mat-toolbar>
  <mat-card class="example-card">
    <mat-toolbar>
      <span>Inner Card Toolbar</span>
    </mat-toolbar>
  </mat-card>
</div>

这就是我到目前为止我创建的1个外部工具栏,其中包含2行以增加高度。

我不知道如何漂浮页面的卡片中心和工具栏的中心。

1 个答案:

答案 0 :(得分:6)

对于标题,请尝试此

<mat-toolbar color="primary">
  <button mat-icon-button><mat-icon>menu</mat-icon></button>
  <mat-toolbar-row></mat-toolbar-row>
  <mat-toolbar-row></mat-toolbar-row>
</mat-toolbar>

对于卡片,

<mat-card class="card">
  <mat-card-header class="header">
    <div class="subheading-2 title">Title</div>
    <div class="header-actions">
      <button mat-icon-button><mat-icon>search</mat-icon></button>
      <button mat-icon-button><mat-icon>view_module</mat-icon></button>
      <button mat-icon-button><mat-icon>more_vertical</mat-icon></button>
    </div>
  </mat-card-header>
  <mat-card-content class="content">
    <!-- Insert content here -->
  </mat-card-content>
</mat-card>

最后,添加这些样式

$header-height: 64px;

.card {
  padding: 0;
  margin: -$header-height auto 0;
  width: 75%;
}

.header {
  display: flex;
  align-items: center;
  height: $header-height;
  box-sizing: border-box;
  border-bottom: solid 1px rgba(0,0,0,0.12);
  color: rgba(0,0,0,0.6);

  .title {
    margin-right: auto;
    font-weight: 400;
  }
}

.content {
  height: 400px;
}

STACKBLITZ EXAMPLE