如何在Angular Material拉伸md按钮中保持对齐文本?

问题描述 投票:6回答:2

没有用我自己的CSS修补太多,是否有一个属性或配置我可以用来左对齐md-button中的文本,例如拉伸一点以适应菜单?

这是我目前的观点

<md-sidenav md-is-locked-open="$mdMedia('gt-md')" layout="column">
  <md-toolbar>
    <h1 class="md-toolbar-tools">
      <a ng-href="/" layout="row" href="/">
        <div class="docs-logotype">Material Design</div>
      </a>
    </h1>
  </md-toolbar>
  <md-content flex role="navigation" layout="column">
    <md-button>Button1</md-button>
    <md-button>Button2</md-button>
  </md-content>
</md-sidenav>

<md-content flex layout="column">
  <md-toolbar>
    <div class="md-toolbar-tools">
      <button class="md-icon-button md-button" aria-label="Settings">
        <md-icon md-svg-icon="images/icons/menu.svg" aria-hidden="true"></md-icon>
        <div class="md-ripple-container"></div>
      </button>
      <md-button>Button1</md-button> <!-- how to left align this text inside a stretched button -->
      <md-button>Button2</md-button>
      <span flex=""></span>
      <md-button>Right side button</md-button>
      <button class="md-icon-button md-button" aria-label="More">
        <md-icon md-svg-icon="images/icons/more_vert.svg" aria-hidden="true"></md-icon>
        <div class="md-ripple-container"></div>
      </button>
    </div>
  </md-toolbar>
  <md-content flex>
    Some content !!
  </md-content>
</md-content>

button alignment angular-material
2个回答
16
投票

如下所示,使用带有flex的空跨度。您甚至可以指定要灵活的值以获得更具体的位置。

<div layout="row" layout-align="start center" flex>
  <md-button>button 1 </md-button>
  <span flex></span>
</div>

或者,如果您只想在按钮内对齐文本,请尝试以下操作:

<md-button style="text-align:left">button </md-button>

2
投票

如果在内部使用,您可以这样做 md-toolbar(Angular 4) Angular 6+:

HTML

<mat-toolbar id="toolbar" color="primary" >
  <mat-button>button 1 </mat-button>
  <span class="spacing"></span>
  <mat-button>button 2 </mat-button>
</mat-toolbar>

要么

<mat-toolbar id="toolbar" color="primary">
  <mat-button>button 1 </mat-button>
  <span style="flex: 1 1 auto;"></span>
  <mat-button>button 2 </mat-button>
</mat-toolbar>

如果HTML中没有样式,那么你的CSS:

.spacing {
    flex: 1 1 auto;
}

希望这有助于某人。

© www.soinside.com 2019 - 2024. All rights reserved.