Vous avez besoin d'un site web pour votre activité mais vous êtes nul en programmation ... MyWebsite est fait pour vous.

* Offre 1&1 MyWebsite « 1 mois d’essai gratuit » : pendant le mois d’essai gratuit, résiliation possible à tout moment, sans frais.

* Cette publicité ne s'affiche qu'une fois par jour et s'ouvre dans une nouvelle fenêtre.

Rollover en CSS avec une seule image






Nous allons voir dans ce petit tutoriel comment effectuer un rollover en CSS en utilisant une seule et unique image. Je vous invite à faire le teste chez vous en téléchargent l'image ci-dessous qui va nous servir d'exemple.

Rollover en css

L'objectif est d'afficher une partie de l'image en fonction de l'état du lien :

  1. Si le lien n'est pas pas actif, on affiche la partie écrite en noir.
  2. Si le lien est actif (survolé), on affiche la partie écrite en violet.

Le code CSS :

a.rollover {
background:url('rollover-css.png') no-repeat;
width: 456px;
height: 32px;
display:block;
}
a.rollover:hover {
background-position: bottom center;
}

On applique un display:block; à l'élément afin de lui attribuer la largeur de l'image. Sans cela, l'image ne s'afficherai pas ou en minuscule derrière le titre de votre lien!

Le code XHTML :

<a title="Rollover en CSS" href="#" class="rollover"></a>

Le résultat :

Rollover en CSS

Comme vous le constatez, le lien ne contient pas de texte et si vous souhaitez en ajouter un, il faudra alors ajouter l'élément font-size:0px; au style a.rollover. Sans cette "ajout", le texte de votre lien va s'afficher au dessus de votre image et c'est franchement pas très joli ... !

Une autre méthode est possible sur le hover :

a.rollover:hover {
background:url('rollover-css.png') no-repeat  0 -35px;
}

Dans cette exemple, -35px correspond approximativement à la moitiée de la hauteur de l'image mais en valeur négative.

Catégorie CSS

Commentaire sur : Rollover en CSS avec une seule image