Galerie CSS alignement vertical

hemelune

Membre actif
18 Décembre 2004
279
11
47
Creuse
Bonjour,

je dois faire une galerie qui doit ressembler à ça :

galerie.jpg


le problème est que les images et les textes doivent être aligner en bas et non en haut comme sur cette image .
J'avais penser faire une class par format d'image, mais cette solution me semble lourde et pas pratique pour des ajouts future d'images.
Je cherche donc une solution autre que celle là, mais je n'ai pas trouvé de solution, si quelqu'un a une piste je suis preneur.

Voici le html :

Bloc de code:
<div id="affiches">
							
<div id="gallery">
					
<dl class="gallery">		
<dt><img src="Affiches/historique/1995.jpg" alt="" /></dt>
<dt>Ici le titre</dt>
</dl>
						
<dl class="gallery">
<dt><img src="Affiches/historique/1996.jpg" alt=""/></dt>
<dt>Ici le titre</dt>
</dl>		
								
<dl class="gallery">
<dt><img src="Affiches/historique/1997.jpg" alt=""/></dt>
<dt>Ici le titre</dt>
</dl>
								
<dl class="gallery">
<dt><img src="Affiches/historique/1998.jpg" alt=""/></dt>
<dt>Ici le titre</dt>
</dl>
								
<dl class="gallery">
<dt><img src="Affiches/historique/1999.jpg" alt=""/></dt>
<dt>Ici le titre</dt>
</dl>

<dl class="gallery">
<dt><img src="Affiches/historique/2000.jpg" alt=""/></dt>
<dt>Ici le titre</dt>
</dl>
						
<dl class="gallery">
<dt><img src="Affiches/historique/2001.jpg" alt=""/></dt>
<dt>Ici le titre</dt>
</dl>
						
<dl class="gallery">
<dt><img src="Affiches/historique/2002.jpg" alt=""/></dt>
<dt>Ici le titre</dt>
</dl>
<dl class="gallery">
<dt><img src="Affiches/historique/2003.jpg" alt=""/></dt>
<dt>Ici le titre</dt>
</dl>
						
<dl class="gallery">
<dt><img src="Affiches/historique/2004.jpg"  alt="affiche 2004"/></dt>
<dt>Ici le titre</dt>
</dl>
						
<dl class="gallery">
<dt><img src="Affiches/historique/2005.jpg" alt="affiche 2005"/></dt>
<dt>Ici le titre</dt>
</dl>
						
<dl class="gallery">
<dt><img src="Affiches/historique/2006.jpg" alt=""/></dt>
<dt>Ici le titre</dt>							
</dl>
</div>
<p>Sites des éditions précédentes : 2000 - 2001 - 2002 - 2003 - 2004 -2005 -2006</p>											
						</div>

et le CSS :
Bloc de code:
#affiches {
	background-color:#902312;
	margin-bottom:10px;
	margin-left:25px;
	width:700px;
	height:240px;
	overflow:auto;
	
}

#affiches p{
margin:0 0 0 5px;
float:left;
display:inline;
color:#ffffff;
	
}

#gallery {

width:1200px;


}

dl.gallery
{
text-align: center;
padding: 2px;
float: left;
margin-right: 2px;
}

.gallery dt { 
font-weight: bold; 
}

.gallery dt img
{

width: auto;
height: auto;
}
 
Bonjour,

je dois faire une galerie qui doit ressembler à ça :

galerie.jpg


le problème est que les images et les textes doivent être aligner en bas et non en haut comme sur cette image .
J'avais penser faire une class par format d'image, mais cette solution me semble lourde et pas pratique pour des ajouts future d'images.
Je cherche donc une solution autre que celle là, mais je n'ai pas trouvé de solution, si quelqu'un a une piste je suis preneur.

Voici le html :

Bloc de code:
<div id="affiches">
							
<div id="gallery">
					
<dl class="gallery">		
<dt><img src="Affiches/historique/1995.jpg" alt="" /></dt>
<dt>Ici le titre</dt>
</dl>
						
<dl class="gallery">
<dt><img src="Affiches/historique/1996.jpg" alt=""/></dt>
<dt>Ici le titre</dt>
</dl>		
								
<dl class="gallery">
<dt><img src="Affiches/historique/1997.jpg" alt=""/></dt>
<dt>Ici le titre</dt>
</dl>
								
<dl class="gallery">
<dt><img src="Affiches/historique/1998.jpg" alt=""/></dt>
<dt>Ici le titre</dt>
</dl>
								
<dl class="gallery">
<dt><img src="Affiches/historique/1999.jpg" alt=""/></dt>
<dt>Ici le titre</dt>
</dl>

<dl class="gallery">
<dt><img src="Affiches/historique/2000.jpg" alt=""/></dt>
<dt>Ici le titre</dt>
</dl>
						
<dl class="gallery">
<dt><img src="Affiches/historique/2001.jpg" alt=""/></dt>
<dt>Ici le titre</dt>
</dl>
						
<dl class="gallery">
<dt><img src="Affiches/historique/2002.jpg" alt=""/></dt>
<dt>Ici le titre</dt>
</dl>
<dl class="gallery">
<dt><img src="Affiches/historique/2003.jpg" alt=""/></dt>
<dt>Ici le titre</dt>
</dl>
						
<dl class="gallery">
<dt><img src="Affiches/historique/2004.jpg"  alt="affiche 2004"/></dt>
<dt>Ici le titre</dt>
</dl>
						
<dl class="gallery">
<dt><img src="Affiches/historique/2005.jpg" alt="affiche 2005"/></dt>
<dt>Ici le titre</dt>
</dl>
						
<dl class="gallery">
<dt><img src="Affiches/historique/2006.jpg" alt=""/></dt>
<dt>Ici le titre</dt>							
</dl>
</div>
<p>Sites des éditions précédentes : 2000 - 2001 - 2002 - 2003 - 2004 -2005 -2006</p>											
						</div>

et le CSS :
Bloc de code:
#affiches {
	background-color:#902312;
	margin-bottom:10px;
	margin-left:25px;
	width:700px;
	height:240px;
	overflow:auto;
	
}

#affiches p{
margin:0 0 0 5px;
float:left;
display:inline;
color:#ffffff;
	
}

#gallery {

width:1200px;


}

dl.gallery
{
text-align: center;
padding: 2px;
float: left;
margin-right: 2px;
}

.gallery dt { 
font-weight: bold; 
}

.gallery dt img
{

width: auto;
height: auto;
}
en css il y a bien "vertical-align: bottom", mais &#231;a ne s'applique qu'aux &#233;l&#233;ments inline (et tableau)...

Et &#224; mon avis transformer tes dt qui contiennent les img en inline &#231;a risque de foutre le bordel, mais &#231;a peut &#234;tre une piste &#224; suivre :)
 
C'est toujours difficile de placer un &#233;l&#233;ment en bas par rapport &#224; un autre. Il y a moyen mais &#231;a ne marche pas avec ma galerie (puis de toutes fa&#231;ons je ne trouve pas &#231;a joli). Un pis-aller serait peut-&#234;tre de mettre un min-height sur le DT.
 
Il est, je pense, possible de travailler les images en PHP pour facilement leur donner une même taille virtuelle, je veux dire en ajoutant aux moins hautes un cadre transparent invisible, qui augmenterait leur hauteur.
Ceci rendrait la procédure automatique et beaucoup plus simple...Mais j'avoue ne jamais avoir essayé... c'est dans la doc PHP!
(par ailleurs, c'est plus sûr qu'en CSS... tous les navigateurs les liront de la même façon... mais c'est mon avis, en tout cas c'est moins lourd qu'une classe CSS par taille d'images, à moins de l'implémenter dans une boucle php (encore!...).
on trouve des explications ici et .
 
Il est, je pense, possible de travailler les images en PHP pour facilement leur donner une même taille virtuelle, je veux dire en ajoutant aux moins hautes un cadre transparent invisible, qui augmenterait leur hauteur.


Mmmhhh… Alors autant utiliser le php pour voir la taille de l'image et ajouter un margin-to à l'image avec un style inline. ;)
 
Mmmhhh… Alors autant utiliser le php pour voir la taille de l'image et ajouter un margin-to à l'image avec un style inline. ;)
&#231;a &#231;a va &#234;tre super lourd pour le serveur : il va falloir que PHP analyse chaque image de la galerie une a une...


&#224; la limite &#231;a vaut mieux de mettre dans une bdd une table avec comme champ : id, img_path, width, height, caption.


et g&#233;n&#233;rer la page en fonction de &#231;a :)