2012-09-23 4 views
0

Je crée un site Web réactif avec quatre colonnes. Quand l'écran se rétrécit, j'aimerais que les quatre colonnes se transforment en deux colonnes. Cependant, lorsque la colonne deux est plus courte que la colonne un, cette approche échoue, la colonne 3 est inférieure à 2 et il y a un écart énorme avant de voir la colonne 4 sous la colonne 1. Y a-t-il moyen de ne pas utiliser CSS? Je ne veux pas ajouter un élément HTML supplémentaire, cependant si je le peux.Réactivité sur quatre colonnes à deux colonnes

http://jsfiddle.net/ACJHg/

+0

vous pouvez faire cela en changeant la marge en fonction de la résolution de l'écran –

Répondre

2

Il suffit d'ajouter clear: left à votre troisième colonne (en utilisant .fourcolumn:nth-child(3)) ou colonnes impaires en général (en utilisant .fourcolumn:nth-child(2n+1))

demo

[En outre, il serait préférable de commencer par la écran étroit, puis aller à l'écran plus large (première approche mobile) et use em based media queries instead of px based ones (pour empêcher la mise en page de se casser lorsque l'utilisateur zoome)]

+0

Génial, c'est une super petite astuce! Cependant, j'ai dû le modifier en '.fourcolumn: nth-child (2n + 2) {clear: left; } ' – michaellindahl