【问题标题】:Center align md-tab-group Header Labels居中对齐 md-tab-group 标题标签
【发布时间】:2018-01-18 20:04:15
【问题描述】:

我想将标签栏居中显示标签,以便我可以在左侧添加一个连接到标签的侧栏。这是我的代码:

 <div class="flex-container">

  <div class="flex-item1">
    <md-tab-group>
    <md-tab label="PERSONAL">Personal content</md-tab>
      <md-tab label="SOCIAL">Social content</md-tab>

      <md-tab label="BUSINESS">Business content

        <b-app></b-app>
      </md-tab>
    </md-tab-group>
  </div>


<div class="flex-item2">
  <div class="item item-5" fxLayout="column">
    <md-input-container class="search-area">
    <input mdInput placeholder="search" >
    <!--md-icon svgIcon="thumbs-up"></md-icon-->
    </md-input-container>

  </div>

</div>

【问题讨论】:

  • 谢谢你,但我不想让它伸展,我想让它们移动到中心
  • Material 提供 md-center-tab 属性,还不知道如何在 Material2 中做到这一点,也许会覆盖 css ?

标签: angular angular-material angular-material2


【解决方案1】:

方法 1 使用 ViewEncapsulation(推荐)

::ng-deep 在这种情况下效果很好,但它可能会在未来贬值。推荐的方式是使用 ViewEncapsulation。

在您的组件中,添加以下封装:

import { ViewEncapsulation } from '@angular/core';
@Component({
    ....
    encapsulation: ViewEncapsulation.None
})

在您的 component.css 中添加以下内容:

.mat-tab-labels{
    justify-content: center; /* align items in Main Axis */
}

使用ViewEncapsulation.None链接到Plunker Demo


使用 ::ng-deep 的方法 2

在您的 component.css 中添加以下内容:

::ng-deep .mat-tab-labels{
    justify-content: center; /* align items in Main Axis */
}

这是PLUNKER DEMO的链接。

【讨论】:

  • 我一直使用 ng-deep,但我从不喜欢这个想法。我很高兴找到你的答案,因为我不知道封装装饰器。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-03-17
  • 2014-10-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-19
相关资源
最近更新 更多