Centrer une image verticalement dans un bloc - HTML/CSS - Programmation
Marsh Posté le 29-08-2006 à 15:24:02
ben je sais pas un truc du style
.vignette{
margin-top: 2%;
margin-bottom: 2%;
}
OU Alors
.vignette{
padding-top: 2%;
padding-bottom: 2%;
}
Marsh Posté le 29-08-2006 à 16:33:44
désolé, j'ai essayé là et ça ne marche pas.
j'ai essayé aussi en mettant la valeur auto, comme pour centrer horizontalement, mais pas de résultat non plus.
Marsh Posté le 29-08-2006 à 17:02:27
<div class="cadre">
<span class="vignette"><img src="charte/nom-image.jpg" alt="machin" /> </span>
</div>
waw
<img src="charte/nom-image.jpg" alt="machin" classe="vignette" />
.vignette {
height: 205px;
width: 205px;
border: 1px solid #adb6a8;
padding: 2%;
}
Marsh Posté le 29-08-2006 à 19:11:34
Merci mIRROR, mais dans ce cas, l'image fera 205px de côté, et je peux avoir des images plus petites, rectangulaires que je ne veux pas "exploser"...
Marsh Posté le 31-08-2006 à 11:58:29
ok mais ca je pouvais pas deviner
mais je trouve que t as quand meme trop de conteneurs
sinon a cause d un bug d ie on est obligé de rajouter un hack...
je deteste ca mais je crois qu il y a pas le choix ^^
<div class="vignette"><img /></div>
.vignette {
text-align:center;
border:1px solid #adb6a8;
height:205px;
width:205px;
line-height:205px;
vertical-align:middle;
}
.vignette img {_padding-top:102px;_margin-top:-xxpx;}
le underscore rend la propriété visible seulement par ie
le premier padding top correspond a la moitié de la hauteur de ton conteneur
celle ci ne change jamais
par contre la marge correspond a la moitié de la hauteur de ta vignette et tu devras te taper les changements a la main a chaque fois
sauf si tu trouves le moyen de gerer ca dynamiquement ^^
Marsh Posté le 31-08-2006 à 18:19:26
Impossible de faire un vertical-align sur un DIV
Edit : Et pour avoir des difference entre IE et FF, il vaut mieux utilier !important ²
Marsh Posté le 31-08-2006 à 19:43:24
Dj YeLL a écrit : Impossible de faire un vertical-align sur un DIV |
Marsh Posté le 31-08-2006 à 20:21:28
Ben vas y ... montre moi comment tu fais marcher un vertical-align sur un DIV ...
Edit : Je me repète mais ce n'est pas possible
Marsh Posté le 31-08-2006 à 21:10:15
Dj YeLL a écrit : Ben vas y ... montre moi comment tu fais marcher un vertical-align sur un DIV ... |
le code est la t as besoin que je te donne un coup de main ?
apres c est sur que c est pas fait pour ca mais ca marche menfous
Marsh Posté le 31-08-2006 à 21:14:36
mIRROR a écrit : |
Le code que t'as filé plus haut ? Il ne sert à rien du tout ton vertical-align C'est ton line-height qui fait que c'est centré verticalement... essaye, vire le, tu verras bien...
Marsh Posté le 31-08-2006 à 21:51:26
ok on s est mal compris je pensais que tu disais que ca marchait pas du tout et tu parlais juste du vertical-align
j avais mal compris la doc et j etais convaincu que vertical-align ne marchait que couplé a un line-height spoursa j utilise les deux
toutes mes confuses c est kloug
Marsh Posté le 02-09-2006 à 17:39:28
Je reviens après plusieurs jours, en fait j'ai réussi avec une méthode que je vais vous exposer, un petit bout de hack quand même pour IE...
mIRROR je ne connaissais pas ce truc du underscore au début du nom de la class pour IE, je vais tester et voir si ça ne rend pas la CSS non conforme. A bientôt donc !
Marsh Posté le 29-08-2006 à 14:46:41
Bonjour,
je voudrais sans utiliser de table, avoir un carré de 205px par 205px qui soit bordé par un cadre d'un pixel, et à l'intérieur une image à la taille variable, dans la limite des 205px, qui soit centrée verticalement...
j'ai utilisé cette technique :
.cadre {
height: 205px;
width: 205px;
border: 1px solid #adb6a8;
}
.vignette {
height: 205px;
line-height: 205px;
}
.vignette img {
vertical-align: middle;
}
<div class="cadre">
<span class="vignette"><img src="charte/nom-image.jpg" alt="machin" /> </span>
</div>
Dans ce code, le bloc cadre sert à mettre le border,
le bloc en ligne vignette ne se met pas à 205px de haut...
l'espace insécable à la fin sert de texte pour centrer l'image dans le span vignette, mais il élargit le tout ou passe à la ligne suivant les navigateurs...
Au secours !!!! Que puis-je faire ???
merci de votre aide...