Menu / image cliquable
Résolu/Fermé
A voir également:
- Image cliquable html css
- Image iso - Guide
- Editeur html - Télécharger - HTML
- Acronis true image - Télécharger - Sauvegarde
- Image iso windows 10 - Guide
- Inkscape rogner image ✓ - Forum Graphisme
2 réponses
Gihef
Messages postés
5150
Date d'inscription
mercredi 20 juillet 2005
Statut
Contributeur
Dernière intervention
20 février 2023
2 778
15 mai 2007 à 16:27
15 mai 2007 à 16:27
Bonjour,
Le choix qu'ils ont fait est d'utiliser du Javascript.
Avec 3 images : une image de base, une image au survol et une image activée.
Il a donc fallu qu'ils créent les 3 images. Les effets sont donc obtenu grâce à Javascript.
Lors du chargement, la page contient ce code :
Lorsqu'on ammène la souris sur l'image onMouseOver une autre image s'affiche (menu_accueil_over.jpg).
Lorsqu'on enlève la souris de l'image onMouseOut, l'image de base s'affiche à nouveau (menu_accueil_off.jpg).
Le code devient
Là, l'image activée est la seule que est affichée (menu_accueil_on.jpg).
Ce qui permet de voir dans quelle page on se trouve, mais qui oblige à prévoir une nouvelle apparence au menu dans chaque nouvelle page.
Le PHP les a certainement beaucoup aidé à le faire.
On peut obtenir le même effet avec des CSS, en évitant que ça ne fonctionne pas dans les navigateurs ayant leur gestion du Javascript désactivée.
Par exemple, en créant une image contenant les 3 états de l'image et en décalant les parties de cette image en fonction de ce que fait la souris (a:hover, a:active).
Le a:active ajoute un effet. Lorsqu'on clique sur le lien, ça affiche l'image qu'on retrouve dans la nouvelle page.
Les 2 manières de faire sont assez simple à mettre en œuvre.
Le choix qu'ils ont fait est d'utiliser du Javascript.
Avec 3 images : une image de base, une image au survol et une image activée.
Il a donc fallu qu'ils créent les 3 images. Les effets sont donc obtenu grâce à Javascript.
Lors du chargement, la page contient ce code :
<td colspan=3><a href="../tour/accueil.php?lg=fr"> <img src="../image/local/fr/menu_accueil_off.jpg" alt="Accueil" name="accueil" onMouseOver=accueil.src="../image/local/fr/menu_accueil_over.jpg" onMouseOut=accueil.src="../image/local/fr/menu_accueil_off.jpg" width=270 height=65 border="0"></a></td>Au chargement de la page, l'image de base est affichée (menu_accueil_off.jpg).
Lorsqu'on ammène la souris sur l'image onMouseOver une autre image s'affiche (menu_accueil_over.jpg).
Lorsqu'on enlève la souris de l'image onMouseOut, l'image de base s'affiche à nouveau (menu_accueil_off.jpg).
Le code devient
<td colspan=3><a href="../tour/accueil.php?lg=fr"> <img src="../image/local/fr/menu_accueil_on.jpg" alt="Accueil" name="accueil" onMouseOver=accueil.src="../image/local/fr/menu_accueil_on.jpg" onMouseOut=accueil.src="../image/local/fr/menu_accueil_on.jpg" width=270 height=65 border="0"></a></td>lorsqu'on accède à la nouvelle page après avoir cliqué sur un élément du menu.
Là, l'image activée est la seule que est affichée (menu_accueil_on.jpg).
Ce qui permet de voir dans quelle page on se trouve, mais qui oblige à prévoir une nouvelle apparence au menu dans chaque nouvelle page.
Le PHP les a certainement beaucoup aidé à le faire.
On peut obtenir le même effet avec des CSS, en évitant que ça ne fonctionne pas dans les navigateurs ayant leur gestion du Javascript désactivée.
Par exemple, en créant une image contenant les 3 états de l'image et en décalant les parties de cette image en fonction de ce que fait la souris (a:hover, a:active).
Le a:active ajoute un effet. Lorsqu'on clique sur le lien, ça affiche l'image qu'on retrouve dans la nouvelle page.
Les 2 manières de faire sont assez simple à mettre en œuvre.
comment faire pour que l'image "active" reste en position visible apres avoir cliquer dessus...
d'avance merci...
d'avance merci...
ben dans ton menu disons que tu es tu la page 'artiste' dans ton menu ou ya le lien pour 'artiste' tu met id="courant" dans la balise de ce lien seulement et dans ta page css tu met
#courant
{
color:white;
border:white solid 1px;
background-image:url(images/hover_bouton.jpg);
}
ce n'est qu'un exemple...mais ca fonctionne!!
j,ai vue plus haut pour les liens ya une facon bien plus simple!
avec le simple a ( balise pour les liens)
a
{
color:blue
}
ton lien est bleu
et
a:hover
{
color:white
}
ton lien est blanc quand tu met ta souris dessus
#courant
{
color:white;
border:white solid 1px;
background-image:url(images/hover_bouton.jpg);
}
ce n'est qu'un exemple...mais ca fonctionne!!
j,ai vue plus haut pour les liens ya une facon bien plus simple!
avec le simple a ( balise pour les liens)
a
{
color:blue
}
ton lien est bleu
et
a:hover
{
color:white
}
ton lien est blanc quand tu met ta souris dessus
15 mai 2007 à 16:49
5 août 2007 à 17:04
Le Javascript n'est pas obligatoire, le css suffit, il faut créer des divs ayant pour image de fond (dans le css) normal.jpg au survol survol.jpg et au clic actif.jpg comme ceci :
Comme ça même les visiteurs ayant désactiver Javascript pourront bénéficier de tes graphismes ;)