Rollover image avec CSS ou Javascript - Blog de l'agence web STUDIO VITAMINE
Agence creation de site internet
agence web la rochelle

Créer un rollover sur une image (avec CSS ou JavaScript)

CREER UN ROLLOVER SUR UNE IMAGE (AVEC CSS OU JAVASCRIPT)

Fabien BRANCHUT
agence creation site internet
Agence création site Internet
Un rollover sur une image est un comportement permettant de changer d'image lorsque le pointeur de la souris passe dessus, puis l'image revient dans son état initial lorsque le pointeur quitte l'image. Ce système est régulièrement utilisé pour des menus de navigations, boutons de formulaires...
 
 
 
 
 
 
Il existe donc 2 etats :
 
  • un etat initial (lorsque le pointeur de la souris n'est pas sur l'image)
  • un etat survolé (lorsque le pointeur de la souris est sur l'image)
 
Je vais vous montrer 2 méthodes de réalisations d'un rollover sur une image :
 
  1. 1ère méthode : rollover via les styles CSS
  2. 2ème méthode : rollover via JavaScript
 

Rollover image avec CSS

Dans cette exemple, le comportement du changement d'image est géré par les styles CSS et appliqué au lien hypertexte contenant l'image.
 
Exemple de rollover avec CSS (passez le pointeur de votre souris dessus) :
 
 
 
Voici le code HTML et CSS :
 
<html>
<head>
<style>
#aYo{
display:block;
background-image:url('yo-the-mascot-1.gif');
width:241px;
height:241px;
border:1px solid #000000;
}
#aYo:hover, #aYo:focus{
background-image:url('yo-the-mascot-2.gif');
}
#aYo img{
display:none;
}
</style>
</head>
<body>
<a href="http://www.studiovitamine.com/yo-la-mascotte-du-web,264,fr.html" title="Voir la page consacrée à Yo The Mascot" target="_blank" id="aYo">
<img src="yo-the-mascot-1.gif" alt="Yo The Mascot, la petite mascotte du web, rose et toute poilue" />
</a>
</body>
</html>
 
Explication :
Chaque fois que le pointeur de la souris passe sur le lien (et non l'image), l'image d'arrière plan du lien change. Au début, le lien affiche un arrière plan avec l'image 'yo-the-mascot-1.gif'. La pseudo-classe hover permet d'appliquer des styles CSS au lien hypertexte uniquement lorsque le pointeur de la souris passe dessus. On en profite donc pour changer l'arrière plan du lien avec l'image 'yo-the-mascot-2.gif'.
 
De même, la pseudo classe focus permet d'appliquer des styles CSS au lien hypertexte lorsque le focus est sur le lien (par exemple en utilisant la touche tabulation de votre clavier), mais cette pseudo classe n'est pas prise en compte par IE (Internet Explorer).
 
Sémantique :
Vous devez noter que pour fonctionner, il n'est pas obligatoire de mettre la balise <img> dans la balise <a>, puisque j'ai attribué un style CSS display:none; à la balise <img> qui n'est donc pas affichée (ce que nous voyons à l'écran est l'image d'arrière plan attribuée à la balise <a>).
 
Alors pourquoi avoir ajouté cette balise <img> ? Pour que cette exemple soit sémantiquement correct. En effet, j'ai souvent rencontré des erreurs de sémantique sur de nombreux tutoriaux qui ne pensent pas aux problèmes d'accessibilité et qui ne mettent rien dans la balise <a>.
 
Dans mon exemple, une personne aveugle peut savoir que le lien hypertexte est attribué à une image représentant "Yo The Mascot, la petite mascotte du web, rose et toute poilue". Cette exemple est dont sémantiquement correct.
 
Si vous ne souhaitez pas attribuer de lien hypertexte, vous devez quand même utiliser la balise <a> pour que celà fonctionne sur IE (Internet Explorer). Du coup, ce n'est pas correct d'utiliser une balise <a> pour autre chose qu'un lien hypertexte. Dans ce cas, veuillez indiquer dans l'attribut title="En passant le pointeur de la souris, Yo affiche une bulle indiquant Yo !", de manière à indiquer à une personne aveugle ce qui se passe pour une personne voyante.
 

Rollover image avec JavaScript

Dans cette exemple, le comportement du changement d'image est géré par JavaScript et est appliqué directement à l'image (ici, pas de balise <a>).
 
Contrairement à ce que l'on peut penser, cette exemple est egalement sémantiquement correct, mais ne fonctionnera que sur des navigateurs interprétant le langage JavaScript.
 
Exemple de rollover avec JavaScript (passez le pointeur de votre souris dessus) :
 
Yo The Mascot, la petite mascotte du web, rose et toute poilue
 
Voici le code HTML et JavaScript :
 
<html>
<head>
<style>
img{
border:1px solid #000000;
}
</style>
</head>
<body>
<img src="yo-the-mascot-1.gif" alt="Yo The Mascot, la petite mascotte du web, rose et toute poilue" onmouseout="javascript:this.src='yo-the-mascot-1.gif';" onmouseover="javascript:this.src='yo-the-mascot-2.gif';" />
</body>
</html>
 
Explication :
Chaque fois que le pointeur de la souris passe sur l'image, l'image change, c'est à dire que la valeur de l'attribut src est modifié.
flux RSS info web
Bookmark and Share

Liste des commentaires

Ajoutez votre commentaire

Commentaire
Ces billets parlent aussi de "rollover"
Voir tous les billets qui parlent de « rollover ».
Ces billets parlent aussi de "image"
28/04/2009 LOGICIELS DE RETOUCHES PHOTO

Recadrer une photographie, retoucher une image pour l'insérer dans son site Internet peut s'avérer difficile avec des logiciels professionnels comme photoshop. Cela demandent une certaine (...)

15/04/2009 DROITS A L'IMAGE, DROIT D'AUTEUR : CE QU'IL FAUT SAVOIR

Lors de la diffusion d'une photographie dans une publication écrite ou sur un site web il faut se poser les questions du « droit d'auteur » du (...)

Voir tous les billets qui parlent de « image ».
Ces billets parlent aussi de "css"
01/04/2010 INFOS FORMATIONS WEB

Infos formations web ll reste de la place pour deux formations : • Initiation au référencement naturel le 3 et 4 Mai 2010 dans nos locaux, (...)

04/12/2009 STUDIO VITAMINE LANCE DES FORMATIONS WEB !

STUDIO VITAMINE, lance quatre formations web. Nos formations se démarquent par un nombre important de travaux pratiques, une mise à disposition d'un ordinateur par personne, (...)

27/05/2009 ZEN GARDEN : LA REFERENCE DU DESIGN EN CSS

A partir d'un code HTML unique, il est possible de créer des designs époustouflants en CSS. C'est ce qu'a voulu montrer Dave Shea, un designer (...)

27/03/2009 JAVASCRIPT CSS : MODIFIER UN STYLE CSS OU UNE CLASSE CSS AVEC JAVASCRIPT

Il est souvent bien pratique de modifier les styles CSS directement avec JavaScript ou alors changer la classe CSS d'un élément HTML avec Javascript. Je vous (...)

26/02/2009 CSS : MARGIN (DOSSIER COMPLET SUR LES MARGES EXTERNES EN CSS)

Le style CSS margin pemet d'attribuer une marge externe à un élément HTML (div, img, ul...). J'ai décidé de rédiger un dossier sur ce style (...)

Voir tous les billets qui parlent de « css ».
Ces billets parlent aussi de "javascript"
14/02/2009 JAVASCRIPT : UTILISER LA METHODE DOCUMENT.GETELEMENTBYID

En javascript, savoir utiliser la méthode getElementById() de l'objet document est très pratique car elle vous permet d'accéder à un élément unique de votre page (...)

Voir tous les billets qui parlent de « javascript ».