11499 sujets

JavaScript, DOM et API Web HTML5

Bonjour! Est-ce-que quelqu'un pourrait m'aider à centrer verticalement une image placée dans un div en position absolute, s'il vous plaît aidez-moi car je suis totalement bloqué, il ya déjà deux semaine! Smiley bawling
Voici un bout de code:Le div

#content {
    width: 56%;
    height:100%;
    background-color: #000;
    padding: 0px;
    outline: medium none;
    z-index: 1102;
    border: 0px solid rgb(255, 255, 255);
    overflow: hidden;
    position: absolute;
    float: left;/*premier bloc à droite*/
    text-align: center;
	-webkit-border-radius: 0px;
	-moz-border-radius: 0px;
	border-radius: 0px;
	-webkit-box-shadow: 0 1px 3px rgba(0,0,0,.4);
	-moz-box-shadow: 0 1px 3px rgba(0,0,0,.4);
	box-shadow: 0 1px 3px rgba(0,0,0,.4);
        z-index:1;
}  
 

Et l'image

#content img{
        width: auto;
        height:auto;
        padding: 0px;
	max-height:100%;
	max-width:100%;
} 

Merci d'avance!!
Salut,
tu seras certainement obligé de passer par du javascript pour placer ton image verticalement dans une div en position absolue. Si les hauteurs de ta div et de l'image doivent être flexibles, adaptées à la taille de l'écran, tu peux commencer par récupérer la hauteur de ta div et de ton image avec quelque chose comme $(MaDIV).getSize().y; (ou directement window.getSize().y; si ta div correspond à la hauteur de la fenêtre) et $(MonImage).getSize().y;
Une fois que tu as les deux tailles, (HauteurMaDiv-HauteurMonImage)/2 devrait te donner la marge à placer en haut de l'image, avec quelque chose comme : $(MonImage).setStyle("margin-top", HauteurMage+"px");
Avec cette solution, le mieux est de contrôler si la taille de la fenêtre change après chargement et refaire le calcul et l'affectation à ce moment là. Pour faire plus simple tu peux recharger la page lorsqu'il y a un changement de taille de la fenêtre en utilisant quelque chose du type window.addEvent('resize', function(){...
Uniquement en Css je ne vois pas trop pour que ça passe partout. Smiley rolleyes
En espérant que ça t'aide.
coucou,
T'as qu'a essayer ceci pour voir,

#content img{
position: absolute;
margin: auto;
top: 0;
bottom: 0;
left: 0;
right: 0;
padding: 0px;
max-height: 100%;
max-width: 100%;
}

Smiley krull

Smiley hinhin Smiley krull Smiley krull Smiley krull Smiley krull Smiley krull Smiley krull Smiley hinhin Smiley hinhin Smiley haha Smiley haha Smiley hinhin Smiley hinhin
Bonjour à tous!!!!ça a marché!!!! Smiley smile
Merci bcp bcp nancyAlex, perfect, ton bout de code est nickel!! Smiley prie
Et un grand merci aussi à AH_creation_site, mais il me semblait un peu compliquée votre solution.
Mon problème est résolu.
Salut, effectivement Smiley biggol .
Sinon il y a une astuce qui peut servir à d'autres dans ce genre de cas en partant du top:50% qui place l'image à mi hauteur. Si l'image est destinée à faire par exemple 40% de la taille de la fenêtre ou de la div qui la contient, alors top:50% sur l'image - (40% / 2) = 30%, ce qui place l'image en son centre et au centre de la div. A moduler en fonction de la talle de l'image...