Table des matières

La fonction hover permet de modifier un élément (un lien, une image) lors du survol de la souris. En utilisant le CSS voici quelques exemples d’effets à réaliser simplement.

Un zoom sur image

Le html

<a class="zoom"><img  src="url_de_l_image" /></a>

Le css

a.zoom{
   display: inline-block;
   overflow: hidden;
   position: relative;
   text-decoration: none;
}

a.zoom:before{
   display: block;
   background-color: black;
   content: "";
   height: 100%;
   opacity: 0;
   position: absolute;
   width: 100%;
   z-index: 2;
}

a.zoom img{
   border: none;
   display: block;
   z-index: 1;
}

a.zoom:before,a:after,a img{
   -webkit-transition: all 200ms ease;
   -moz-transition: all 200ms ease;
   -o-transition: all 200ms ease;
   transition: all 200ms ease;
}

a.zoom:hover img{
   -webkit-transform: scale(1.2);
   -moz-transform: scale(1.2);
   -ms-transform: scale(1.2);
   -o-transform: scale(1.2);
   transform: scale(1.2);
}

a.zoom:hover:before{
  # opacity: 0.3;     
}

a.zoom:hover:after{
   left: 0;
}

Passer du noir & blanc à la couleur

Le html

<img class="greyscale" src="url_de_l_image" />

Le css

img.greyscale {
	-webkit-filter: grayscale(100%);
	filter: grayscale(100%);
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}
img.greyscale:hover  {
	-webkit-filter: grayscale(0);
	filter: grayscale(0);
}

Éclaircir une image

Le html

<img class="opacity1" src="url_de_l_image" />

Le css

img.opacity1  {
	opacity: 1;
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}
img.opacity1:hover {
	opacity: .5;
}

Déplacer latéralement une image

Le html

<img class="slide" src="url_de_l_image" />

Le css

img.slide  {
	margin-left: 0px;
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}
img.slide:hover  {
	margin-left: -50px;
}

Rotation d’une image

Le html

<img class="rotate" src="url_de_l_image" />

Le css

img.rotate {
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
 
img.rotate:hover {
  -webkit-transform: rotate(-15deg);
  transform: rotate(-15deg);
}

Arrondir une image

Le html

<img class="rounded" src="url_de_l_image" />

Le css

img.rounded{
  width: 400px; /* largeur de l'image */
  height: auto; /* hauteur de l'image */
  -webkit-transition: .3s ease-in-out !important; 
  transition: .3s ease-in-out !important; 
}
img.rounded:hover {
  width: 300px; /* on affiche l'image au carré */
  height: 300px;
  border-radius: 50%; 
}

Mélanger les effets

Arrondir une image et la faire tourner sur elle-même.

Le html

<img class="morph" src="url_de_l_image" />

Le css

img.morph {
  width: 400px;
  height: 300px;
  -webkit-filter: grayscale(0) blur(0px);
  filter: grayscale(0) blur(0px);
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
 
img.morph:hover {
  width: 300px; /* on affiche l'image au carré */
  height: 300px;
  border-radius: 50%;  /* on arrondit l'image */
  -webkit-transform: rotate(360deg); /* rotation de l'image */
  transform: rotate(360deg);
}