Bonjour à tous,
[EDIT : J'ai rajouté une architecture basique du code que je vise (basé sur la proposition d'Heyoan)]
Utilisateur fréquent d'Alsacréations, c'est la première fois que je ne trouve pas la réponse à ce que je cherche, d'où ma venue sur le forum. Mon problème est le suivant :
J'ai une page contenant plusieurs blocs ayant tous une largeur fixée, tous la même (200px). Je souhaite mettre mes blocs les uns à la suite des autres, en en mettant autant que possible par ligne (par exemple avec un float:left;, ça marche).
Ce que je souhaite en plus (et c'est ça que je n'arrive pas à faire), c'est que mes blocs soient disposés harmonieusement sur la ligne : si la fenêtre fait 700px (par exemple), je souhaite avoir 3 blocs de 200px par ligne, avec disons 25px de vide à gauche du premier, 25px entre chaque bloc puis 25 px à droite du dernier (3*200+4*25=700). De même, s'il n'y a pas la place de mettre deux blocs par ligne, je voudrais que tous les blocs soient centrés.
En bonus, j'aimerais que si la dernière ligne n'est pas pleine (deux blocs alors qu'on pourrait en mettre 3 par exemple), j'aimerais que les blocs qui sont là s'alignent sous ceux du dessus.
Pour info, chaque bloc contient une photo plus une légende en dessous.
J'ai pensé à l'attribut display:table-cell; mais le tutoriel qui en parle me laisse penser qu'il faut que le nombre de colonnes soit fixé par avance, ce qui est l'exact contraire de ce que je cherche !
Merci d'avance !
Modifié par BGT (05 Mar 2010 - 20:09)
[EDIT : J'ai rajouté une architecture basique du code que je vise (basé sur la proposition d'Heyoan)]
Utilisateur fréquent d'Alsacréations, c'est la première fois que je ne trouve pas la réponse à ce que je cherche, d'où ma venue sur le forum. Mon problème est le suivant :
J'ai une page contenant plusieurs blocs ayant tous une largeur fixée, tous la même (200px). Je souhaite mettre mes blocs les uns à la suite des autres, en en mettant autant que possible par ligne (par exemple avec un float:left;, ça marche).
Ce que je souhaite en plus (et c'est ça que je n'arrive pas à faire), c'est que mes blocs soient disposés harmonieusement sur la ligne : si la fenêtre fait 700px (par exemple), je souhaite avoir 3 blocs de 200px par ligne, avec disons 25px de vide à gauche du premier, 25px entre chaque bloc puis 25 px à droite du dernier (3*200+4*25=700). De même, s'il n'y a pas la place de mettre deux blocs par ligne, je voudrais que tous les blocs soient centrés.
En bonus, j'aimerais que si la dernière ligne n'est pas pleine (deux blocs alors qu'on pourrait en mettre 3 par exemple), j'aimerais que les blocs qui sont là s'alignent sous ceux du dessus.
Pour info, chaque bloc contient une photo plus une légende en dessous.
J'ai pensé à l'attribut display:table-cell; mais le tutoriel qui en parle me laisse penser qu'il faut que le nombre de colonnes soit fixé par avance, ce qui est l'exact contraire de ce que je cherche !
Merci d'avance !
<html>
<head>
<title>Test</title>
<style type="text/css" media="screen">
#global {
width: 80%;
padding: 10px 0;
text-align: center;
border: 1px solid #000;
}
#global div {
width: 200px;
display: inline-block;
vertical-align: top;
border: 1px solid #000;
margin: 10px;
}
</style>
</head>
<body>
<div id="global">
<div> ... </div>
<div> ... </div>
<div> ... </div>
<div> ... </div>
<div> ... </div>
<div> ... </div>
</div>
</body>
</html>
Modifié par BGT (05 Mar 2010 - 20:09)