CSS - Overlay : Un guide pour débutants pour créer des effets web dynamiques

Bonjour à tous, futurs superstars du design web ! Aujourd'hui, nous allons plonger dans le monde fascinant des overlays CSS. Ne vous inquiétez pas si vous êtes nouveau dedans - je me souviens de ma première fois en apprenant sur les overlays, et je vous promets que vous trouverez cela à la fois amusant et gratifiant. Alors, embarquons dans cette aventure ensemble !

CSS - Overlay

Qu'est-ce qu'un Overlay CSS ?

Avant de nous lancer dans le code, comprenons ce qu'est un overlay. Imaginez que vous regardez une belle peinture, et soudain, quelqu'un place une feuille transparente par-dessus avec du texte. C'est essentiellement ce que fait un overlay sur un site web - il ajoute une couche supplémentaire sur le contenu existant, souvent pour fournir des informations supplémentaires ou créer des effets visuels.

Exemple de Base d'Overlay CSS

Commençons par un exemple simple d'overlay. Voici le code HTML et CSS :

<div class="container">
<img src="cute-puppy.jpg" alt="Un adorable chiot">
<div class="overlay">
<div class="text">Bonjour, je suis un chiot !</div>
</div>
</div>
.container {
position: relative;
width: 100%;
}

.image {
display: block;
width: 100%;
height: auto;
}

.overlay {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
height: 100%;
width: 100%;
opacity: 0;
transition: 0.5s ease;
background-color: rgba(0,0,0,0.5);
}

.container:hover .overlay {
opacity: 1;
}

.text {
color: white;
font-size: 20px;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
text-align: center;
}

Reprenons cela :

  1. Nous avons un conteneur avec une image et un div overlay.
  2. L'overlay est positionné绝对ement à l'intérieur du conteneur.
  3. Initialement, l'overlay a une opacité de 0 (invisible).
  4. Lorsque nous survolons le conteneur, l'opacité de l'overlay change pour 1 (entièrement visible).
  5. Le texte est centré à l'intérieur de l'overlay.

Overlay CSS - Effet de Glissement de Haut en Bas

Maintenant, rendons les choses plus intéressantes avec un effet de glissement ! Voici comment nous pouvons modifier notre CSS pour faire glisser l'overlay de haut en bas :

.overlay {
position: absolute;
bottom: 100%;
left: 0;
right: 0;
background-color: rgba(0,0,0,0.5);
overflow: hidden;
width: 100%;
height: 0;
transition: 0.5s ease;
}

.container:hover .overlay {
bottom: 0;
height: 100%;
}

Dans cet exemple, l'overlay commence au-dessus de l'image (bottom: 100%) sans hauteur. Lors du survol, il glisse vers le bas pour couvrir l'image entière.

Overlay CSS - Effet de Glissement de Bas en Haut

Et si nous voulions que l'overlay glisse vers le haut ? Facile comme bonjour ! Il suffit de changer quelques lignes :

.overlay {
position: absolute;
bottom: 0;
left: 0;
right: 0;
background-color: rgba(0,0,0,0.5);
overflow: hidden;
width: 100%;
height: 0;
transition: 0.5s ease;
}

.container:hover .overlay {
height: 100%;
}

Maintenant, l'overlay commence en bas et s'étend vers le haut lors du survol.

Overlay CSS - Effet de Glissement de Gauche à Droite

Changeons de cap et faisons glisser notre overlay de gauche à droite :

.overlay {
position: absolute;
bottom: 0;
left: 0;
right: 100%;
background-color: rgba(0,0,0,0.5);
overflow: hidden;
width: 0;
height: 100%;
transition: 0.5s ease;
}

.container:hover .overlay {
width: 100%;
right: 0;
}

Ici, l'overlay commence sans largeur sur le côté gauche et s'étend à pleine largeur lors du survol.

Overlay CSS - Effet de Glissement de Droite à Gauche

Et bien sûr, nous pouvons le faire glisser de droite à gauche aussi :

.overlay {
position: absolute;
bottom: 0;
left: 100%;
right: 0;
background-color: rgba(0,0,0,0.5);
overflow: hidden;
width: 0;
height: 100%;
transition: 0.5s ease;
}

.container:hover .overlay {
width: 100%;
left: 0;
}

Cette fois, l'overlay commence sur la droite et glisse vers la gauche lors du survol.

Overlay CSS - Effet de Fading

Souvenez-vous de notre premier exemple ? C'était en fait un effet de fondu ! Mais rendons-le encore plus lisse :

.overlay {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
height: 100%;
width: 100%;
opacity: 0;
transition: 0.5s ease;
background-color: rgba(0,0,0,0.5);
}

.container:hover .overlay {
opacity: 1;
}

Cela crée un effet de fondu en douceur lors du survol de l'image.

Overlay CSS - Overlay de Titre d'Image

Créons un overlay qui affiche le titre de l'image lors du survol :

<div class="container">
<img src="cute-puppy.jpg" alt="Un adorable chiot" class="image">
<div class="overlay">
<div class="title">Chiot Adorable</div>
</div>
</div>
.container {
position: relative;
width: 100%;
}

.image {
display: block;
width: 100%;
height: auto;
}

.overlay {
position: absolute;
bottom: 0;
background: rgb(0, 0, 0);
background: rgba(0, 0, 0, 0.5);
color: #f1f1f1;
width: 100%;
transition: 0.5s ease;
opacity: 0;
color: white;
font-size: 20px;
padding: 20px;
text-align: center;
}

.container:hover .overlay {
opacity: 1;
}

Cela crée un overlay de titre qui apparaît desde le bas de l'image lors du survol.

Overlay CSS - Overlay d'Icone

Maintenant, ajoutons un overlay d'icône à notre image :

<div class="container">
<img src="cute-puppy.jpg" alt="Un adorable chiot" class="image">
<div class="overlay">
<a href="#" class="icon" title="Profil Utilisateur">
<i class="fa fa-user"></i>
</a>
</div>
</div>
.container {
position: relative;
width: 50%;
}

.image {
display: block;
width: 100%;
height: auto;
}

.overlay {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
height: 100%;
width: 100%;
opacity: 0;
transition: 0.5s ease;
background-color: rgba(0,0,0,0.5);
}

.container:hover .overlay {
opacity: 1;
}

.icon {
color: white;
font-size: 100px;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
text-align: center;
}

.fa-user:hover {
color: #eee;
}

Cela crée un overlay d'icône qui apparaît au centre de l'image lors du survol.

Propriétés Connexes pour les Overlays CSS

Voici un tableau des propriétés couramment utilisées avec les overlays CSS :

Propriété Description
position Définit la méthode de positionnement
top, bottom, left, right Spécifie la position de l'overlay
width, height Définit les dimensions de l'overlay
opacity Contrôle la transparence de l'overlay
transition Définit comment l'overlay apparaît/disparaît
background-color Définit la couleur de l'overlay
z-index Contrôle l'ordre d'empilage des éléments

Et voilà, amis ! Vous venez d'apprendre les bases des overlays CSS. Souvenez-vous, la pratique rend parfait, donc n'ayez pas peur d'expérimenter avec ces exemples. Qui sait ? Vous pourriez créer la prochaine grande tendance en design web ! Bon codage, et puissent vos overlays toujours être lisses et vos transitions toujours être fluides !

Credits: Image by storyset