J'essaie de construire une mise en page web réactive avec w3.css. Elle est censée se composer de lignes avec trois colonnes sur les grands écrans, deux sur les écrans moyens et une colonne sur les petits appareils et les appareils mobiles. Chaque ligne est composée de tuiles qui peuvent avoir l'une des deux hauteurs fixes.
<div class="w3-content w3-white" style="max-width:600px">
<div class="w3-row-padding ">
<div class="w3-col l4 m6 s12 w3-margin-bottom w3-green" style="height:200px">1</div>
<div class="w3-col l4 m6 s12 w3-margin-bottom w3-green" style="height:200px">2</div>
<div class="w3-col l4 m6 s12 w3-margin-bottom w3-blue" style="height:120px">3</div>
<div class="w3-col l4 m6 s12 w3-margin-bottom w3-green" style="height:200px">4</div>
<div class="w3-col l4 m6 s12 w3-margin-bottom w3-blue" style="height:120px">5</div>
<div class="w3-col l4 m6 s12 w3-margin-bottom w3-blue" style="height:120px">6</div>
<div class="w3-col l4 m6 s12 w3-margin-bottom w3-blue" style="height:120px">7</div>
</div>
</div>
Je m'attendrais au résultat suivant sur un grand écran avec une disposition en 3 colonnes :
Le code ci-dessus fonctionne correctement avec une mise en page à une ou deux colonnes, mais produit le résultat indésirable suivant avec trois colonnes :
Si je termine le w3-row-padding après trois carreaux, la disposition en trois colonnes est correcte, mais j'obtiens un désordre avec les écrans de taille moyenne comportant deux colonnes.
<div class="w3-content w3-white" style="max-width:600px">
<div class="w3-row-padding">
<div class="w3-col l4 m6 s12 w3-margin-bottom w3-green" style="height:200px">1</div>
<div class="w3-col l4 m6 s12 w3-margin-bottom w3-green" style="height:200px">2</div>
<div class="w3-col l4 m6 s12 w3-margin-bottom w3-blue" style="height:120px">3</div>
</div>
<div class="w3-row-padding">
<div class="w3-col l4 m6 s12 w3-margin-bottom w3-green" style="height:200px">4</div>
<div class="w3-col l4 m6 s12 w3-margin-bottom w3-blue" style="height:120px">5</div>
<div class="w3-col l4 m6 s12 w3-margin-bottom w3-blue" style="height:120px">6</div>
</div>
<div class="w3-row-padding">
<div class="w3-col l4 m6 s12 w3-margin-bottom w3-blue" style="height:120px">7</div>
</div>
</div>
C'est ce que produit le code ci-dessus sur des écrans de taille moyenne :
Toute aide est la bienvenue