如何在Dialog角度材料内对齐按钮?

13 angular-material angular-material2 angular

我想对齐按钮右下角的对话框是我的HTML

<div mat-dialog-content>
  <p>What's your favorite animal?</p>
  <mat-form-field>
    <input matInput [(ngModel)]="data.animal">
  </mat-form-field>
</div>
<div mat-dialog-actions>

  <button mat-button [mat-dialog-close]="data.animal" cdkFocusInitial>Ok</button>
</div>
Run Code Online (Sandbox Code Playgroud)

演示

Edr*_*ric 20

更新的答案(截至2018年12月20日)

我发现该align属性用于将flexbox CSS属性添加到对话框组件的主题SCSS文件中的对话框操作:

(摘录dialog.scss)

.mat-dialog-actions {
  // ...
  &[align='end'] {
    justify-content: flex-end;
  }

  &[align='center'] {
    justify-content: center;
  }
}
Run Code Online (Sandbox Code Playgroud)

这是源代码的 行:SCSS的行


原始答案

您可以使用[align]HTML属性:

<div mat-dialog-content>
  <p>What's your favorite animal?</p>
  <mat-form-field>
    <input matInput [(ngModel)]="data.animal">
  </mat-form-field>
</div>
<div mat-dialog-actions align="end">
  <button mat-button [mat-dialog-close]="data.animal" cdkFocusInitial>Ok</button>
</div>
Run Code Online (Sandbox Code Playgroud)

演示

  • 由于align属性[在HTML5中不支持](https://www.w3schools.com/tags/att_div_align.asp),请查看[我的答案](/sf/answers/3763609321/)具有等效的 CSS。 (2认同)

Maa*_*rti 11

由于HTML5不支持align属性,因此应改用以下CSS:

.mat-dialog-actions {
    justify-content: flex-end;
}
Run Code Online (Sandbox Code Playgroud)

这是当您放置时align="end",Angular Material在内部完成的操作,您可以检查元素以进行检查。

  • 这应该是正确的答案,lints 可以知道属性“align”已被弃用。 (3认同)