css Bootstrap5响应表溢出Flex框

ozxc1zmp  于 2022-11-19  发布在  Bootstrap
关注(0)|答案(1)|浏览(128)

我尝试使用固定宽度的div作为左侧栏。除非表格中有很多列,否则侧栏右侧的主要内容可以正确呈现。在这种情况下,在滚动条可用之前,它会溢出侧栏的宽度。如何解决此问题
我尝试了几种布局,最成功的是将表的max-width设置为calc(100% - 248px)https://jsfiddle.net/t0qhoz1e/。如果表溢出,则此方法有效。但是,应用程序中的列或行可能并不总是长到足以导致溢出。在这种情况下,右侧会出现248px间隙:https://jsfiddle.net/euad3q71/。移除侧边栏也会导致表格正确呈现,但我真的很想拥有它。任何帮助或指针都很感激,谢谢。
第一个

3pmvbmvn

3pmvbmvn1#

响应的表 Package 器需要知道它的限制。通过管理它周围的元素上的溢出来做到这一点。我已经添加了Bootstrap的overflow-hidden类。
我还在表格上方和下方的行中添加了列,因为它们的负侧边距会导致问题。您可能并不希望在此处使用行。

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/css/bootstrap.min.css" integrity="sha384-Zenh87qX5JnK2Jl0vWa8Ck2rdkQ2Bzep5IDxbcnCeuOxjzrPF/et3URy9Bv1WTRi" crossorigin="anonymous">

<div class="container-fluid d-flex p-0 wrapper">
  <div class="d-flex flex-column flex-shrink-0 bg-light" style="width: 248px;">side bar</div>

  <div class="d-flex flex-column overflow-hidden">
    <div class="row">
      <div class="col">some table controls</div>
    </div>

    <div class="card flex-fill table-responsive">
      <table class="table">
        <thead>
          <tr>
            <th>Column1</th>
            <th>Column2</th>
            <th>Column3</th>
            <th>Column4</th>
            <th>Column5</th>
            <th>Column6</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <th>row</th>
            <td>data</td>
            <td>data</td>
            <td>data</td>
            <td>data</td>
            <td>data</td>
          </tr>
        </tbody>
      </table>
    </div>

    <div class="row">
      <div class="col">some pagination controls</div>
    </div>
  </div>
</div>

相关问题