cari

Rumah  >  Soal Jawab  >  teks badan

Menunjukkan bahawa flex menduduki lebar yang lebih besar daripada lebar yang ditentukan pada div

Div mempunyai lebar tertentu, teks di dalamnya datang secara dinamik daripada API dan mempunyai gaya elipsis. Saya tidak dapat memberikan lebar teks kerana teks sepenuhnya dinamik dan panjang teks tidak ditentukan. Di bawah ialah kod yang menerangkan masalah.

body {
    background-color: lightblue;
}

.container {
    display: flex;
    width: 130px;
}

.d-flex {
    display: flex;
}

.flex-column {
    flex-direction: column;
}

.justify-content-center {
    justify-content: center;
}

.justify-content-between {
    justify-content: space-between;
}

.table-header__width-ellipses {
    display: inline-block;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: middle;
    white-space: nowrap;
}
<div class="d-flex">
  <div class="container">
    <div class="d-flex justify-content-between w-100  align-items-center">
      <div class=" d-flex flex-column justify-content-center">
        <div>
        <!-- style="width: 110px" ---- is showing correct ellipsis and text fits in the width -->

          <span class="table-header__width-ellipses pl-2">Long text included here </span>
        </div>
      </div>
      <div class="d-flex">
        <div class="header--sort_icon"></div>
        <div class="cursor-pointer cell-header-addcol">
          <img src="https://cdn.pixabay.com/photo/2022/01/11/21/48/link-6931554_1280.png" alt="menu" width="16" height="16">
        </div>
      </div>
    </div>
  </div>
  <div class="container">
    <div class="d-flex justify-content-between w-100  align-items-center">
      <div class=" d-flex flex-column justify-content-center">
        <div>
          <span class="table-header__width-ellipses pl-2">Long text included here </span>
        </div>
      </div>
      <div class="d-flex">
        <div class="header--sort_icon"></div>
        <div class="cursor-pointer cell-header-addcol">
          <img src="https://cdn.pixabay.com/photo/2022/01/11/21/48/link-6931554_1280.png" alt="menu" width="16" height="16">
        </div>
      </div>
    </div>
  </div>
 <div>

Saya cuba menjana sesuatu seperti ini untuk gaya meja. Bolehkah sesiapa membantu saya menyelesaikan masalah ini?

P粉425119739P粉425119739438 hari yang lalu600

membalas semua(1)saya akan balas

  • P粉713846879

    P粉7138468792023-09-12 14:19:28

    Untuk membuat text-overflow: ellipsis; 正常工作,您应该指定 inline-block lebar elemen span.

    Jadi, gunakan width: 130px; 添加到 .table-header__width-ellipses 并使用 width: 150px; sebagai .bekas< /代码>

    Kod berfungsi.

    body {
        background-color: lightblue;
    }
    
    .container {
        display: flex;
        width: 150px;
    }
    
    .d-flex {
        display: flex;
    }
    
    .flex-column {
        flex-direction: column;
    }
    
    .justify-content-center {
        justify-content: center;
    }
    
    .justify-content-between {
        justify-content: space-between;
    }
    
    .table-header__width-ellipses {
        display: inline-block;
        overflow: hidden;
        text-overflow: ellipsis;
        vertical-align: middle;
        white-space: nowrap;
        width: 130px;
    }
    <div class="d-flex">
      <div class="container">
        <div class="d-flex justify-content-between w-100  align-items-center">
          <div class=" d-flex flex-column justify-content-center">
            <div>
            <!-- style="width: 110px" ---- is showing correct ellipsis and text fits in the width -->
    
              <span class="table-header__width-ellipses pl-2">Long text included here </span>
            </div>
          </div>
          <div class="d-flex">
            <div class="header--sort_icon"></div>
            <div class="cursor-pointer cell-header-addcol">
              <img src="https://cdn.pixabay.com/photo/2022/01/11/21/48/link-6931554_1280.png" alt="menu" width="16" height="16">
            </div>
          </div>
        </div>
      </div>
      <div class="container">
        <div class="d-flex justify-content-between w-100  align-items-center">
          <div class=" d-flex flex-column justify-content-center">
            <div>
              <span class="table-header__width-ellipses pl-2">Long text included here </span>
            </div>
          </div>
          <div class="d-flex">
            <div class="header--sort_icon"></div>
            <div class="cursor-pointer cell-header-addcol">
              <img src="https://cdn.pixabay.com/photo/2022/01/11/21/48/link-6931554_1280.png" alt="menu" width="16" height="16">
            </div>
          </div>
        </div>
      </div>
     <div>

    balas
    0
  • Batalbalas