【问题标题】:Angular Material Flex Layout - fit div width to contentAngular Material Flex Layout - 使 div 宽度适合内容
【发布时间】:2021-02-08 22:14:22
【问题描述】:

我一直在环顾四周,找到了很多答案,但似乎没有一个完全符合我的需要,我连续有几个 div,我希望左边的那些只适合他们的内容,这里是当前示例:

<div fxLayout="row wrap" style="border: 1px solid red">
  <div fxFlex style="background-color: yellow">
    foo
  </div>

  <div fxFlex  style="background-color:aquamarine">
    bar
  </div>

  <div fxFlex fxLayoutAlign="end end">
      some content that might expand to a max-width somehow
  </div>
</div>

结果如下:

如果有足够的内容,我想通过为前 2 个 div 指定最大宽度来实现类似于下图的效果,但如果内容不多,则仅使用所需的宽度,像这样:

【问题讨论】:

标签: flexbox angular-material


【解决方案1】:

尝试使用fxFlex="none"

<div fxLayout="row wrap" style="border: 1px solid red">
    <div fxFlex="none" style="background-color: yellow">
     foo
    </div>

    <div fxFlex="none"  style="background-color:aquamarine">
     bar
    </div>

    <div fxFlex fxLayoutAlign="end end">
     some content that might expand to a max-width somehow
    </div>
</div>

【讨论】:

    【解决方案2】:

    你可以试试这个:

      <div fxLayout="row wrap" style="border: 1px solid red">
        <div fxFlex="0 0" style="max-width: 40px; background-color: yellow">
          foo
        </div>
    
        <div fxFlex="0 0" style="max-width: 40px; background-color:aquamarine">
          bar
        </div>
    
        <div fxFlex fxLayoutAlign="end end">
          some content that might expand to a max-width somehow
        </div>
      </div>
    

    https://stackblitz.com/edit/angular-ivy-9ywiaq?file=src%2Fapp%2Fapp.component.html

    要使它们不增长或缩小,您可以使用以下命令:

    fxFlex="0 0"
    

    https://github.com/angular/flex-layout/wiki/Declarative-API-Overview

    对于最大宽度,您可以使用相同的 css 属性:

    max-width: 40px;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-08
      • 2017-12-03
      • 2016-12-08
      • 1970-01-01
      • 2016-10-20
      • 2020-11-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多