Angular 2 Flex 布局右对齐图标

Posted

技术标签:

【中文标题】Angular 2 Flex 布局右对齐图标【英文标题】:Angular 2 Flex Layout Align Icon Right 【发布时间】:2017-12-30 11:36:55 【问题描述】:

我在使用 Angular Flex 布局对齐项目时遇到问题。

下面的snipper 没有将<md-icon> 对齐到标题的右侧,这是我打算做的。

关于如何实现这一点的任何建议?

<div class="flex-item" fxFlex fxFlexAlign="end end">

<md-card style="background-color:white;">
   <md-card-header style="background-color:white;">
      <md-card-title>Swap Card</md-card-title>
      <div class="flex-item" fxFlex fxFlexAlign="end end">
         <md-icon>add_a_photo</md-icon>
         Icon
      </div>
   </md-card-header>
   <md-card-content>
   </md-card-content>
</md-card>

【问题讨论】:

【参考方案1】:

您可以在两者之间添加一个灵活长度的空跨度:

<md-card>
  <md-card-header>
    <md-card-title>Swap Card</md-card-title>
    <span fxFlex></span>
    <md-icon>add_a_photo</md-icon>
  </md-card-header>
  <md-card-content>
  </md-card-content>
</md-card>

【讨论】:

【参考方案2】:

您在正确的轨道上,只需要添加正确的fxFlexAlign 参数。对于您的问题,您将需要。

fxLayoutAlign="end start"

我已经在这个plunker中测试过了。

html:

<md-card style="background-color:white;">
    <md-card-header style="background-color:white;">
        <md-card-title>Swap Card</md-card-title>
          <div class="flex-item" 
               fxFlex fxLayoutAlign="end start">
            <md-icon>add_a_photo</md-icon>
              Icon
          </div>
        </md-card-header>
    <md-card-content>
    </md-card-content>
</md-card>

您还可以使用此documentation example 了解fxLayoutAlign

【讨论】:

这个是比较合适的答案

以上是关于Angular 2 Flex 布局右对齐图标的主要内容,如果未能解决你的问题,请参考以下文章

无论您对它做啥,Angular Material Icon 显然都不会对齐?尽管 Flex 布局指令和 CSS 会影响它,但它从未对齐

Flex布局如何实现最后一个元素右对齐,或者第一个元素左对齐

使用弹性布局实现文本右对齐

flex多行多列两端对齐,列不满左对齐

flex 常用布局自我记录

flex常见属性