Kekalkan sifat Flex responsif semasa mengulang tatasusunan menggunakan Bar Hendal
P粉098417223
2023-09-02 23:45:35
<p>Saya mempunyai kod berikut (menggunakan Handlebars, kod berfungsi daripada JSFiddle): </p>
<pre class="brush:php;toolbar:false;"><div class="kad-bekas">
{{#each this.cards}}
<div
class="kad-bekas bekas-col-inner col-12 col-md-6 col-lg-3"
>
<div class="kad imej">
<div class="imej-kandungan">
<p class="tajuk">{{title}}</p>
</div>
</div>
</div>
{{/setiap}}
</div></pre>
<pre class="brush:php;toolbar:false;">{
"3columnLayout": palsu,
"kad": [
{
"tajuk": "Kad 1"
},
{
"tajuk": "Kad 2"
},
{
"tajuk": "Kad 3"
}
]
}</pre>
<p>Pada asasnya, ia melingkari susunan kad dan mencipta <kod>bekas kad</kod> Kemudian gunakan bootstrap untuk menetapkan kelas CSS kepada setiap div, contohnya <code>col-md-6</code>
<ul>
<li>Mudah alih: Item muncul dalam satu lajur</li>
<li>Tablet: item muncul dalam 2 lajur</li>
<li>Desktop: item dipaparkan dalam 3 lajur</li>
</ul>
<p>Ini semua berfungsi seperti yang diharapkan dan secara visual memberikan UI yang diingini (tanpa mengira bilangan kad): Contoh di bawah: </p>
<p>Walau bagaimanapun, seperti yang ditunjukkan dalam JSON, saya memerlukan sifat di luar tahap kad individu untuk menentukan sama ada desktop harus pecah daripada reka letak 4 lajur kepada reka letak 3 lajur. </p>
<p>Saya tidak mahu mengulangi sifat ini untuk setiap kad dalam tatasusunan kad, jadi susun semula kod saya seperti yang ditunjukkan dalam coretan kod saya (menggunakan Handlebars): https://jsfiddle.net/stcfa5wh/20/< ; /p >
<p>Walau bagaimanapun, ini bermakna walaupun saya boleh mengakses nilai <code>3columnLayout</code>: HTML dibuang ke halaman dan saya tidak lagi boleh menggunakan <code>col</code> cara saya lakukan; Selesai sebelum ini. </p>
<p>Sebagai contoh, pada tablet, saya boleh menetapkan setiap <kod>kad imej</kod> kepada 50% lebar, tetapi ia mengabaikan keperluan untuk baris. </p>
<p>Bolehkah sesiapa mencadangkan cara untuk mengekalkan struktur HTML sambil masih melaksanakan atribut peringkat teratas (cth. <code>3columnLayout</code>)? </p>
Saya tidak faham mengapa apabila anda cuba melaksanakan
3columnLayout
标志时停止使用 Bootstrap。使用 Bootstrap,我们将在每列上使用类col-lg-4
untuk membuat susun atur 3 lajur. Oleh itu, ungkapan bersyarat yang kita perlukan untuk setiap lajur ialah:{{#if ../3columnLayout}}col-lg-4{{else}}col-lg-3{{/if}}
.