Page 1 sur 1

Une image capricieuse

Posté : 17 sept. 2010, 16:34
par davzo
Bonjour,

je voudrais savoir qu'est ce qui bloque sur mon site (je débute en php :oops: )

Sur l'adresse http://www.lesailesdanges.fr dans le footer.php, il y 3 vignettes.
Sur chaqu'une des vignettes, je voudrais faire apparaitre une image puis une autre image lors du survole.

Voici comment j'ai procédé :

dans mon PHP, j'ai crée une div pour chaque vignette voici mon code :

<div class="item1">
<a id=contact_link target="_blank" href="/contact/" title="Contact">contact</a>
</div>

Voici mon css associé :

.item1{
display:block;
width:280px;
height: 100px;
background:url("/wp-content/uploads/footer/footer_adresse00.png");
}
.item1 a:hover{
display:block;
width:280px;
height: 100px;
background:url("/wp-content/uploads/footer/footer_adresse01.png");
}

Ma question ?

pourquoi, j'ai le "mots" contact qui reste apparant ?
pourquoi la zone cliquable ne fait pas la taille de mon image footer_adresse00.png ?
Est ce que j'utilise la bonne méthode ?

Merci de votre aide ! :)

Re: Une image capricieuse

Posté : 17 sept. 2010, 16:50
par AB
Si un élément passe par dessus un autre c'est qu'il vient ensuite dans le code html (le second afficher passe par dessus le premier). Pour modifier cet ordre tu peux jouer sur le z-index.

(Ton sujet n'est pas dans le bon forum. Il s'agit ici de html/css :wink: )

Re: Une image capricieuse

Posté : 17 sept. 2010, 18:12
par davzo
Merci pour l'information mais cela n'est pas suffisant dans mon cas.

Je vois apparaitre 3 choses (pour une vignette, celle de droit contact par exemple) :

le mot "contact" (en haut a gauche)
l'image 1 (qui apparait au chargement de la page)
l'image 2 quand on survolle l'image 1...

Mais tout est mal agencé et je ne sais pas comment m'y prendre... :(

Pouvez-m'aidez ?

Merci.

Re: Une image capricieuse

Posté : 17 sept. 2010, 18:18
par Spols
Contact apparait parce que il est présent dans ton code html
<div class="item1">
<a id=contact_link target="_blank" href="/contact/" title="Contact">contact</a>
</div>
==>
<div class="item1">
<a id=contact_link target="_blank" href="/contact/" title="Contact"></a>
</div>
J'ai fait quelque chose de semblable ici
http://www.esco-da.be/Home/Home_Fr.php
<p class="swap"><a href="LIEN" style="background-image:url(IMAGE 1);" onMouseOut="this.firstChild.style.visibility = 'visible'" onMouseOver="this.firstChild.style.visibility = 'hidden'"><img src="IMAGE 2" alt="" width="XX" height="YY" /></a></p>
et css

Code : Tout sélectionner

.swap a{ display:block; height:YY; background-repeat:no-repeat; background-position:center; margin-left:auto; margin-right:auto;/*pour centrer*/ text-align:center; } .swap a:hover > img{ visibility:hidden; }
la partie avec onMouseOver et onMouseOut sert à gérer les IE

Re: Une image capricieuse

Posté : 21 sept. 2010, 12:31
par davzo
Merci ça marche mieux !

mais je n'ai pas utilisé dans mon cas ce code :

alt="" width="280" height="100"

Re: Une image capricieuse

Posté : 21 sept. 2010, 13:51
par Spols
Pour l'attribut alt, il est recommandé de le remplir surtout pour les images comportant une partie textuelle. Cela aidera les personnes avec des problème de vue et les personnes désactivant les images. Mais il n'est pas indispensable.

Les attribut width et height renseigne la taille de ton image, les ommettre affiche l'image dans ces dimensions. Il ne sont pas indispensable non plus.

Cependant, je t'encourage à utiliser et compléter ces 3 attributs

Re: Une image capricieuse

Posté : 21 sept. 2010, 17:00
par AB
Pour l'attribut alt, il est recommandé de le remplir surtout pour les images comportant une partie textuelle. Cela aidera les personnes avec des problème de vue et les personnes désactivant les images. Mais il n'est pas indispensable.
Ta phrase est un peu ambigüe ... des images comportant une partie textuelle ? Autant dire que le contenu de alt est ce qui s'affiche dans les navigateurs textuels ou si l'image n'est pas disponible. Effectivement c'est recommandé de remplir cette balise mais pas toujours possible.
Les attribut width et height renseigne la taille de ton image, les ommettre affiche l'image dans ces dimensions. Il ne sont pas indispensable non plus.

Cependant, je t'encourage à utiliser et compléter ces 3 attributs
Par contre il est très vivement recommandé de renseigner les dimensions des images. Sinon la page va faire de l'accordéon en attendant le chargement des images. C'est visible quand on vide le cache du navigateur et que l'on fait des tests d'affichage sur le serveur distant. En vidant le cache on se met donc dans les conditions d'un visiteur visitant la page pour la première fois et l'on s'aperçoit mieux de la nécessité de renseigner les dimensions des images :)

Re: Une image capricieuse

Posté : 22 sept. 2010, 09:16
par davzo
Bonjour,

merci pour ces conseils, j'ai donc repositionné les paramètres Alt + Widht + Height.

Par contre cette technique au final ne me satisfait pas !

Voila sur mon navigateur habituel FireFox tout fonctionne bien !
Image

Par contre sur Internet Explorer 7, cette fonction bug complet.. !! j'ai mes 2 images qui ce superpose ! :(
Image

Donc si vous avez une solution ça serait super. :idea:

Re: Une image capricieuse

Posté : 22 sept. 2010, 10:35
par Spols
Salut

Pour IE7, (IE 8 et autre navigateurs valables (IE 8 n'en fait pas partie)) il est important de mettre l'instruction

Code : Tout sélectionner

.item-box a:hover > img{ visibility:hidden; }
dans ta feuille de style

Pour reglé la superposition des images, ajoute un background à tes balises images avec

Code : Tout sélectionner

.item-box a img { background-color:#7E1E14; }
PS si tu abandonne le support de ie6, retire les mention onmouseout et onmouseover

Re: Une image capricieuse

Posté : 22 sept. 2010, 14:09
par davzo
C'est magique !!! :D merci !

Allez j'en profite encore un peu pour poser une dernier colle, vu que j'ai affaire à des vraiments bon !

Pourquoi mon paramétrage de CSS dans mon Footer mes laisse de bonne marge sur Firefox :
Image

Sur IE 7 j'ai une marge qui est bien plus grande, encore un mauvais paramètre dans le CSS ?
Image

D'avance merci !

Re: Une image capricieuse

Posté : 22 sept. 2010, 16:43
par jojolapine
au passage, ça ne marche pas du tout sous chrome... (j'essaye d'envoyer la capture...)

Image
(l'upload ne marche pas sur le forum?)

Re: Une image capricieuse

Posté : 22 sept. 2010, 21:18
par Spols
faire des images de même taille devrait regler le problème de chrome, prend le format png pour gerer la transparence

Re: Une image capricieuse

Posté : 24 sept. 2010, 16:38
par davzo
Personne n'a la solution pour le problème IE7 vs Firefox ??? :?:

(Le bas du site reste décallé... :( )

Re: Une image capricieuse

Posté : 24 sept. 2010, 16:49
par Cyrano
C'est à priori un problème de marges qu'IE n'interprête pas selon les standards.

Jette un oeil là-dessus