【问题标题】:mat-tab-group exceeds parent div widthmat-tab-group 超出父 div 宽度
【发布时间】:2021-01-26 22:52:39
【问题描述】:

我搜索过这个问题,似乎是因为 mat-tab-group 也是使用 flex 布局创建的,并且由于某种原因,它干扰或忽略了父 div 的宽度。

<div fxLayout="row" fxFlex="50vh" style="background-color: cyan;" *ngIf="selectedService$ | async as selectedService"> 
    <!-- SPECIFIC PANEL -->
    <div fxLayout="column" fxFlex="15vw" style="background-color: blueviolet;">  
      <!-- STUB -->
    </div>
    <div fxLayout="column" fxFlex="85vw">
      <mat-tab-group>          
        <mat-tab label="Records">
          <ng-template matTabContent>
            <app-voice-records>
              <!-- COOL GRAPH GOES HERE -->
            </app-voice-records>
          </ng-template>
        </mat-tab>
      </mat-tab-group> 
    </div>
  </div>

它看起来如何。它不应该超过青色背景。

【问题讨论】:

  • 嗨!您可以尝试从列上的 fxFlex 中删除 vw 吗?您也可以在父容器中尝试 fxFill
  • 那我该如何划分空间呢?
  • 只删除单位而不是数字!
  • Gj,成功了!但为什么 ?将其发布为答案

标签: html css angular flexbox angular-flex-layout


【解决方案1】:

有时 vh 和 vw 的行为不符合预期。看到您的布局很明显,由于某种原因,它没有占用屏幕的整个宽度进行计算,这可能是使用这些单位的副作用之一。这是因为例如 vh 等于初始包含块高度的 1%,而这个包含块并不总是相同的。此外,当使用 fxFlex 时,我通常会看到人们不使用单位,并且通常只使用我认为默认为百分比的数字,对我来说,这些数字更可靠,但我认为这一切都归结为将哪个块作为初始值按布局包含一个。

【讨论】:

  • 好的,谢谢朋友。距离我分配赏金还有 15 分钟,我稍后再做!
猜你喜欢
  • 2012-12-13
  • 2019-08-21
  • 2022-10-16
  • 2011-12-24
  • 1970-01-01
  • 2014-11-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多