28172 sujets

CSS et mise en forme, CSS3

Bonjour,
J'aimerais positionner des div de même largeur mais de hauteurs différentes, en colonne, à la manière de pinterest. Le nombre de colonnes n'est pas connue car il dépend de la taille de l'écran et j'aimerais qu'on ne voit pas de lignes, c'est à dire que chaque div s’imbrique après la suivante, soit à côté s'il y a la place, soit exactement en dessus.

Pensez-vous que cela est faisable uniquement avec des CSS ?

Pour l'instant je n'arrive qu'à avoir des lignes de hauteurs de la plus haute div avec display:inline-block Smiley decu

Merci pour votre aide Smiley smile

PS : ca m'est égal d'être incompatible avec IE<9 Smiley cligne
Il est possible de reproduire ce genre de mise en page facilement. Plusieurs plugins écrit en JS sont disponibles :

Masonry

Masonry Vanilla
Masonry écrit sans l'aide de jQuery.

Isotope
En clair c'est le plugin masonry avec quelques ajouts qui le rend payant dans le cas d'une utilisation commerciale.

Freetile.js
Une alternative à Masonry qui m'a bien aidé il y a quelques temps car Masonry ne supporte pas bien d'être généré dans un mega-menu placé en visiblity:hidden (encore moins en display:none).

Et en cherchant je me doute qu'il doit y en avoir d'autres !

Bonne soirée