Comment flouter un texte en HTML et CSS ?

Réponses rédigées par Antoine
Dernière mise à jour : 2021-05-04 17:49:10
Thèmes : webmaster - html - css
Question

Je cherche à créer un genre de spoiler où par défaut un texte est flouté, sauf lorsqu'on passe la souris sur le texte. Merci.

Réponse

Pour flouter un texte HTML, vous pouvez utiliser la propriété CSS FILTER avec la fonction BLUR.

Dans l'exemple ci-dessous une crée une CLASS CSS pour flouter le texte avec la propriété FILTER et sa fonction BLUR. La fonction BLUR contient un argument exprimé en pixel ; il correspond à la taille de l'effet de floutage autour du texte.

La pseudo-classe CSS :hover est utilisée pour supprimer l'effet de floutage lorsque le curseur de la souris survole le texte ; pour cela on donne la valeur 0 pixel à l'argument de la fonction BLUR.

transition-property et transition-duration permettent de contrôler la vitesse de l'animation lorsqu'on passe d'un texte flouté à un texte non flouté, et vis et versa.

Voici un exemple de texte qui est par défaut flouté, sauf lorsqu'on survole le texte :

<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8">
<title>Comment flouter un texte en HTML et CSS ?</title>
<style>
.spoiler_flou {
filter: blur(10px);
transition-property: -webkit-filter;
transition-duration: .5s;
}
.spoiler_flou:hover, .spoiler_flou:focus {
filter: blur(0px);
}
</style>
</head>
<body>
<p class="spoiler_flou">Un exemple de texte flou</p>
</body>
</html>

Démo dans le Bac à code.