CSS grid-template-column - elakkan satu lajur dalam baris baharu
P粉691958181
P粉691958181 2024-03-28 17:05:36
0
1
324

Saya menggunakan grid css untuk mengubah saiz lajur dan mengalihkannya ke baris baharu apabila ia tidak sesuai. Berikut ialah kod yang menerangkan segala-galanya:

.tiles-container {
  display: grid;
  grid-gap: 6rem;
  grid-template-columns: repeat(auto-fill, minmax(min(220px, 100%), 2fr));
}

a {
  background: red;
  height: 100px;
}
<div class="tiles-container">
  <a></a>
  <a></a>
  <a></a>
  <a></a>
</div>

grid-template-columns: repeat(auto-fill, minmax(min(220px, 100%), 2fr));

Sekarang, apa yang saya mahu elakkan ialah mengalihkan hanya satu (satu) lajur ke baris baharu. Sebaliknya, ia runtuh lebih awal dan mengalihkan 2 lajur bersama-sama.

Untuk menerangkannya dengan lebih intuitif, ini boleh diterima:

█ █ █ █

Juga:

█ █ █

██

Juga:

██

██

Ini tidak boleh diterima:

█ █ █

Saya ingin mengelakkan pertanyaan media yang tidak perlu di sini. Ini kod saya: https://jsfiddle.net/tucado/0czokyxa/3/

P粉691958181
P粉691958181

membalas semua(1)
P粉156415696

Jika sesiapa mengalami masalah yang sama, inilah penyelesaiannya: https://jsfiddle.net/tucado/0czokyxa/5/

dan CSS:

.tiles-container {
    /* first breakpoint*/
    --w1:1200px;
    --n:6;
    /* second breakpoint*/
    --w2:800px;
    --m:4;
    /* third breakpoint*/
    --w3:400px;
    --p:2;

    display:grid;
    grid-template-columns:
      repeat(auto-fill,
        minmax(clamp(clamp(clamp(  
              100%/(var(--n) + 1) + 0.1%,
                (var(--w1) - 100%)*1000,
              100%/(var(--m) + 1) + 0.1%), 
                (var(--w2) - 100%)*1000,
              100%/(var(--p) + 1) + 0.1%), 
                (var(--w3) - 100%)*1000,
              100%), 1fr));
    gap:10px;
    border:1px solid;
    overflow:hidden;
    margin:5px;
    resize:horizontal;


  }

  .tiles-container > a {
    height:100px;
    background:red;
  }

Terima kasih @Temani-Afif

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan