Du verre dépoli du jeu au web
-
Introduction
- En travaillant comme développeur UI sur Forza Horizon 3 et Forza Motorsport 7, l’auteur a découvert de magnifiques éléments de design en acrylique dépoli.
- Il a voulu reproduire un effet similaire en HTML et partage ici cette tentative.
-
Le rôle de
backdrop-filter- Le cœur de l’effet de verre dépoli consiste à flouter l’arrière-plan à l’aide d’un flou gaussien.
- En CSS, on peut appliquer ce flou gaussien avec
backdrop-filteret la fonctionblur. - Internet Explorer ne prend pas en charge cette fonctionnalité.
-
Ajouter de la profondeur
- Un verre de base a été créé avec
backdrop-filter: blur(10px), mais pour obtenir un effet plus profond, l’auteur a ajouté de la profondeur sur les bords avecbox-shadow: inset.
- Un verre de base a été créé avec
-
Une vraie ombre
- Pour éviter l’impression d’un objet 3D coincé dans un espace 2D, une ombre portée sombre a été ajoutée avec
box-shadow, afin de donner l’impression que le verre se détache physiquement de l’arrière-plan.
- Pour éviter l’impression d’un objet 3D coincé dans un espace 2D, une ombre portée sombre a été ajoutée avec
-
Interaction avec la lumière
- Pour améliorer l’interaction entre le verre et la lumière, un effet simple de subsurface scattering a été introduit.
box-shadow: insetest utilisé pour simuler une légère diffusion de la lumière sur les bords du verre.
-
Une lumière plus intéressante
- Pour accentuer les propriétés réfléchissantes du verre, des rayons lumineux sont utilisés comme image de fond.
::beforesert à appliquer cette image d’arrière-plan à l’élément en verre.
-
Lumière dynamique
- Un effet de réflexion dynamique est implémenté avec CSS et JavaScript sur toutes les plateformes.
- JavaScript ajuste dynamiquement
background-positionpour simuler l’effet debackground-attachment: fixed.
-
Finitions
- Pour finaliser l’effet de verre, des coins arrondis, de la couleur et du texte ont été ajoutés.
border-radiusest utilisé pour arrondir les coins, etoverflow: hiddenempêche les éléments enfants de dépasser de la surface du verre.
-
Conclusion
- Merci d’avoir suivi ce processus de création d’un effet de verre dépoli.
- Pour copier rapidement tous les assets et le code, consultez la section "Final Recipe Lookahead" au début du document.
1 commentaires
Commentaires sur Hacker News
Un utilisateur indique qu’il apprécie l’aspect esthétique, mais trouve que le fait que le client recalcule sans cesse des filtres de flou coûteux est du gaspillage, et que la tendance générale du développement web semble imposer une charge excessive
Un autre utilisateur explique avoir extrait la texture des « rayons de lumière » de Windows 7 pour tenter de reproduire un effet similaire sur Android, en augmentant légèrement la saturation de l’arrière-plan flouté
Un autre utilisateur trouve la démo interactive excellente, mais dit détester l’usage du verre dépoli dans le design d’interface utilisateur, estimant que son ajout à Mac OS a été une régression
Un utilisateur explique avoir obtenu un effet similaire en 2008 via une expérimentation CSS utilisant une image d’arrière-plan préfloutée et en position fixe
Un autre utilisateur estime que 10 effets superposés, c’est excessif, et qu’en dehors de l’élément esthétique le plus recherché, environ 7 sont de trop
Un utilisateur explique qu’il aime ajouter une texture de bruit pour obtenir un rendu plus rugueux
Un autre utilisateur note que la prouesse technique est impressionnante, mais que l’UX est mauvaise
Un utilisateur mentionne que l’une des démos CSS originales était justement consacrée à l’effet verre dépoli, ce qu’il trouve intéressant
Un autre utilisateur dit qu’il est toujours impressionné par le côté créatif et puissant du CSS, mais qu’il a l’impression de ne jamais pouvoir comprendre certains niveaux de maîtrise en HTML/CSS
Enfin, un utilisateur indique que l’exemple interactif est bon, mais qu’il aurait été encore meilleur avec une comparaison ou un bouton pour revenir à la version précédente