Cet article démontre un effet de fragmentation utilisant l'API CSS Paint, un outil puissant du projet Houdini qui permet les fonctionnalités CSS personnalisées. Contrairement aux méthodes précédentes reposant sur un CSS et SASS étendus, l'API Paint simplifie considérablement le processus. Cette approche est actuellement soutenue par Chrome et Edge.
L'avantage clé est une réduction spectaculaire du code CSS; Réalisation d'une animation de volants sophistiquée avec des déclarations minimales.
Comprendre l'API CSS Paint
L'API Paint, qui fait partie de Houdini, révolutionne CSS en permettant aux développeurs de créer des images CSS personnalisées à l'aide de JavaScript. Il permet un dessin direct sur les arrière-plans, les bordures ou le contenu des éléments, éliminant la nécessité d'attendre les nouvelles versions de fonctionnalités CSS. Le processus central implique:
CSS.paintWorklet.addModule()
.draw
).paint()
, qui fonctionne de manière similaire<canvas></canvas>
contexte.Création du masque de fragmentation
Au lieu de plusieurs masques CSS, l'API Paint génère une seule image de masque personnalisée. Cela implique de définir des variables pour contrôler la matrice des rectangles du masque. La fonction paint()
remplit ensuite chaque rectangle d'une couleur semi-transparent, créant l'effet de fragmentation.
Le canal alpha est manipulé pour contrôler l'effet de décoloration. Une technique clé introduit un délai entre le rectangle s'estompe, empêchant les transitions simultanées. Ceci est réalisé à l'aide d'une fonction pseudo-aléatoire personnalisée pour garantir des valeurs alpha cohérentes sur plusieurs appels de fonction paint()
. Un ajustement mineur ajoute un petit décalage aux dimensions rectangulaires, éliminant les lacunes potentielles entre elles.
S'étendant à d'autres formes
La flexibilité de l'API de peinture s'étend au-delà des rectangles. En incorporant des algorithmes comme la triangulation de Delaunay, la technique peut être adaptée pour générer des effets de fragmentation triangulaire ou hexagonale, présentant la polyvalence de l'API.
Intégration CSS et applications supplémentaires
L'intégration CSS est simple, modifiant l'opacité des éléments sur le plan pour déclencher l'animation de fragmentation. Cette simplicité permet l'intégration dans des animations plus complexes, telles que les curseurs d'image réactives, les effets de bruit, les écrans de chargement et les effets de survol des cartes.
Conclusion
L'API CSS Paint offre une approche rationalisée pour créer des effets visuels complexes. Sa fonctionnalité de type canevas, combinée à une complexité réduite de CSS, en fait un outil puissant pour le développement Web moderne. Cet article ne fait que gratter la surface de son potentiel. Une exploration plus approfondie révèlera des applications encore plus créatives.
Exploration de la série API CSS Paint:
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!