Bonjour,
J'ai cherché une solution à mon problème sur le forum mais n'ai trouvé aucune réponse permettant de le résoudre.
Le principe est simple, je souhaite réaliser un menu vertical composé d'une succession d'images. Je cherche à faire en sorte que l'espacement vertical entre ces images augmente automatiquement en fonction de la hauteur de la fenêtre ; plus la hauteur de la fenêtre augmente, plus l'espacement entre les images augmente.
J'ai essayé en mettant la valeur "auto" aux attributs "margin" et "padding" mais ça ne fonctionne pas.
J'arrive à un résultat proche de celui escompté en utilisant un javascript qui change la feuille de style en fonction de la hauteur de la fenêtre du navigateur (ajout d'un padding fixe sous chaque image dès que la fenêtre dépasse 800px de haut), mais j'aimerai une solution plus élégante utilisant les CSS et n'imposant pas une valeur fixe pour le padding.
Voici le code html du menu :
Le style correspondant par défaut :
Le style redéfini par le javascript :
Le tout est visible à cette adresse : http://www.fredgoudon.com/test/
Quelqu'un a-t-il déjà réalisé quelque chose de semblable ? Est-ce réalisable ?
Merci d'avance pour vos réponses ; tous commentaires sur le code HTML et les CSS sont les bienvenus
Modifié par gacss (23 Jun 2008 - 10:08)
J'ai cherché une solution à mon problème sur le forum mais n'ai trouvé aucune réponse permettant de le résoudre.
Le principe est simple, je souhaite réaliser un menu vertical composé d'une succession d'images. Je cherche à faire en sorte que l'espacement vertical entre ces images augmente automatiquement en fonction de la hauteur de la fenêtre ; plus la hauteur de la fenêtre augmente, plus l'espacement entre les images augmente.
J'ai essayé en mettant la valeur "auto" aux attributs "margin" et "padding" mais ça ne fonctionne pas.
J'arrive à un résultat proche de celui escompté en utilisant un javascript qui change la feuille de style en fonction de la hauteur de la fenêtre du navigateur (ajout d'un padding fixe sous chaque image dès que la fenêtre dépasse 800px de haut), mais j'aimerai une solution plus élégante utilisant les CSS et n'imposant pas une valeur fixe pour le padding.
Voici le code html du menu :
<div id="menu">
<a href="virility/index.html" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('Virility','','img/men-virility-o.gif',1)"><img src="img/men-virility.gif" alt="Virility" name="Virility" border="0" id="Virility" /></a>
<a href="gilles/index.html" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('GillesMarini','','img/men-gilles-marini-o.gif',1)"><img src="img/men-gilles-marini.gif" alt="Gilles Marini" name="GillesMarini" border="0" id="GillesMarini" /></a>
<a href="body/index.html" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('Body','','img/men-body-o.gif',1)"><img src="img/men-body.gif" alt="Body" name="Body" border="0" id="Body" /></a>
<a href="underwear/index.html" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('Underwear','','img/men-underwear-o.gif',1)"><img src="img/men-underwear.gif" alt="Underwear" name="Underwear" border="0" id="Underwear" /></a>
<a href="classic/index.html" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('Classic','','img/men-classic-o.gif',1)"><img src="img/men-classic.gif" alt="Classic" name="Classic" border="0" id="Classic" /></a>
<a href="losangeles/index.html" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('LosAngeles','','img/men-los-angeles-o.gif',1)"><img src="img/men-los-angeles.gif" alt="Los Angeles" name="LosAngeles" border="0" id="LosAngeles" /></a>
<a href="jump/index.html" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('Jump','','img/men-jump-o.gif',1)"><img src="img/men-jump.gif" alt="Jump" name="Jump" border="0" id="Jump" /></a>
<a href="sport/index.html" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('Sport','','img/men-sport-o.gif',1)"><img src="img/men-sport.gif" alt="Sport" name="Sport" border="0" id="Sport" /></a>
<a href="ocean/index.html" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('OceanIndien','','img/men-ocean-indien-o.gif',1)"><img src="img/men-ocean-indien.gif" alt="Ocean Indien" name="OceanIndien" border="0" id="OceanIndien" /></a>
<a href="portraits/index.html" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('Portraits','','img/men-portraits-o.gif',1)"><img src="img/men-portraits.gif" alt="Portraits" name="Portraits" border="0" id="Portraits" /></a>
<a href="lieux/index.html" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('Lieux','','img/men-lieux-o.gif',1)"><img src="img/men-lieux.gif" alt="Lieux" name="Lieux" border="0" id="Lieux" /></a>
<a href="dieux/index.html" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('Dieuxdustade','','img/men-dieux-du-stade-o.gif',1)"><img src="img/men-dieux-du-stade.gif" alt="Dieux du stade" name="Dieuxdustade" border="0" id="Dieuxdustade" /></a>
<a href="sunday/index.html" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('SundayMorning','','img/men-sunday-morning-o.gif',1)"><img src="img/men-sunday-morning.gif" alt="Sunday Morning" name="SundayMorning" border="0" id="SundayMorning" /></a>
<a href="aqua/index.html" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('Aqua','','img/men-aqua-o.gif',1)"><img src="img/men-aqua.gif" alt="Aqua" name="Aqua" border="0" id="Aqua" /></a>
<a href="bed/index.html" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('Bedtimestories','','img/men-bedtime-stories-o.gif',1)"><img src="img/men-bedtime-stories.gif" alt="Bed time stories" name="Bedtimestories" border="0" id="Bedtimestories" /></a>
<a href="press/index.html" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('Press','','img/men-presse-o.gif',1)"><img src="img/men-presse.gif" alt="Press" name="Press" border="0" id="Press" /></a>
<a href="buy-on-amazon.html"><img src="img/men-buy-on-amazon.gif" alt="Buy on Amazon" /></a>
<a href="contact.html"><img src="img/men-contact.gif" alt="Contact" /></a>
<a href="models-search.html"><img src="img/men-model-search.gif" alt="Model search" /></a>
<a href="biography.html"><img src="img/men-biography.gif" alt="Biography" /></a>
<a href="arts-print.html"><img src="img/men-art-prints.gif" alt="Art prints" /></a>
<a href="legal-terms.html"><img src="img/men-legal-terms.gif" alt="Legal terms" /></a>
<a href="http://www.just4id.com"><img src="img/men-site-just4id.gif" alt="Site by JUST4iD" /></a>
</div>
Le style correspondant par défaut :
#menu{
min-height:510px;
width:150px;
margin-left:50px;
padding-top:50px;}
#menu a img{
display:block;
margin:auto;}
Le style redéfini par le javascript :
#menu a img{
display:block;
padding-bottom:10px;}
Le tout est visible à cette adresse : http://www.fredgoudon.com/test/
Quelqu'un a-t-il déjà réalisé quelque chose de semblable ? Est-ce réalisable ?
Merci d'avance pour vos réponses ; tous commentaires sur le code HTML et les CSS sont les bienvenus
Modifié par gacss (23 Jun 2008 - 10:08)