Grid CSS: Buat baris baharu apabila kandungan kanak-kanak melebihi lebar lajur
P粉212114661
2023-09-05 15:18:28
<p>Saya mempunyai reka letak dua lajur berdasarkan Grid CSS. Saya mahu mencipta baris baharu apabila kandungan lajur kedua melebihi <code>1fr</code>. Seperti yang sedia ada, kandungan hanya melimpahi lajur. </p>
<p>Satu keperluan reka letak ini ialah item dalam lajur <kod>kanan</code> Saya mencapai ini dengan: </p>
<pre class="brush:php;toolbar:false;">.right-menu {
...
grid-auto-flow: padat lajur;
...
}</pre>
<p>Jika saya mengalih keluar atribut <kod>grid-auto-flow</code> Walau bagaimanapun, item kini disusun ke dalam berbilang baris, yang bukan yang saya mahukan. </p>
<p>Saya juga cuba menukar <code>.right-menu</code>
<pre class="brush:php;toolbar:false;">.right-menu {
paparan: 'inline-flex';
}</pre>
<p>Namun, hasilnya sama seperti sebelum ini. Lajur limpahan kandungan. Adakah terdapat cara untuk melakukan ini tanpa JavaScript? Pertanyaan media ditamatkan kerana ini berdasarkan kandungan, bukan lebar ruang pandang. </p>
<p>
<pre class="snippet-code-css lang-css prettyprint-override"><code>.main-container {
warna latar belakang: #ccc;
padding: 1.0rem;
lebar: 1200px;
jidar: 1.0rem 0 0 1.0rem;
}
.menu-grid {
paparan: grid;
grid-template-columns: ulangi(autoisi, minmax(600px, 1fr));
grid-template-rows: ulangi(autoisi, 1fr);
grid-auto-flow: baris;
jurang-baris grid: 1.0rem;
}
.left-menu {
saiz fon: 1.25rem;
}
.right-menu {
paparan: grid;
warna latar belakang: putih;
grid-template-columns: ulangi(autoisi, minmax(65px, 1fr));
grid-auto-flow: padat lajur;
jurang baris grid: 0.5rem;
jurang-lajur grid: 0.75rem;
}
.item kanan {
warna latar belakang: #fff;
text-align: tengah;
lebar min: 65px;
sempadan: 1px hitam pejal;
}</code></pre>
<pre class="snippet-code-html lang-html prettyprint-override"><code><div class="main-container">
<div class="menu-grid">
<div class="left-menu">Left</div>
<div class="right-menu">
<div class="right-item">Item: 1</div>
<div class="right-item">Item: 2</div>
<div class="right-item">Item: 3</div>
<div class="right-item">Item: 4</div>
<div class="right-item">Item: 5</div>
<div class="right-item">Item: 6</div>
<div class="right-item">Item: 7</div>
<div class="right-item">Item: 8</div>
<div class="right-item">Item: 9</div>
<div class="right-item">Item: 10</div>
<div class="right-item">Item: 11</div>
<div class="right-item">Item: 12</div>
<div class="right-item">Item: 13</div>
</div>
</div>
</div></code></pra>
</p>
Menggunakan Flexbox akan membawa tuah kepada anda