recherche
Maisoninterface Webtutoriel CSSParallaxe alimentée par CSS Custom Properties

Cet article détaille comment créer un effet de parallaxe captivant à l'aide de propriétés personnalisées CSS, transformant une image statique en une scène dynamique et interactive. Le nouveau site Web de Kent C. Dodds a fourni l'inspiration, avec une image centrale qui exigeait le mouvement. La solution exploite seulement deux propriétés personnalisées CSS, --ratio-x et --ratio-y , pour contrôler l'effet de parallaxe.

Parallaxe alimentée par CSS Custom Properties

Le code JavaScript Core capture la position du curseur et le mappe sur une plage utilisable. Les fonctions mapRange() et clamp() de GSAP simplifient ce processus, garantissant que les valeurs restent à -1 et 1. Une fonction generateHandler crée des écouteurs d'événements réutilisables, cartographie la position du curseur par rapport aux éléments spécifiques. Ces valeurs mappées sont ensuite définies sous forme de propriétés personnalisées CSS.

La magie réside dans le CSS. calc() combine les propriétés personnalisées avec d'autres valeurs pour contrôler divers aspects, tels que l'échelle et la teinte. L'exemple démontre la modification de l'échelle basée sur --ratio-y et la teinte basée sur --ratio-x . La flexibilité permet un contrôle créatif sans modifier le noyau JavaScript.

La création de la scène consiste à décomposer l'image en éléments individuels, une technique similaire au traçage de l'art CSS. Ces éléments, représentés en tant qu'enfants dans un conteneur, sont stylisés à l'aide de propriétés personnalisées dans les parasites. Chaque élément définit ses propres paramètres de mouvement et de rotation, interagissant avec les valeurs globales --ratio-x et --ratio-y . Une image Sprite optimise les performances en évitant plusieurs demandes d'image.

L'article progresse à travers plusieurs démos, illustrant le processus étape par étape. Il met en évidence l'utilisation d'un objet de configuration pour définir les positions, tailles et transformations des éléments. La conception réactive est obtenue en utilisant des valeurs de pourcentage pour le positionnement et le dimensionnement. L'ajout de --allow-motion s'adresse aux utilisateurs préférant une réduction du mouvement, offrant une expérience plus fluide pour tous.

Enfin, l'article montre comment cette technique est implémentée dans une structure de composants React, en utilisant un crochet personnalisé ( useParallax ) pour une réutilisation et une maintenabilité de code efficaces. L'implémentation React résume la logique de parallaxe, ce qui la rend facilement intégrée dans des projets plus grands. Le résultat est un effet de parallaxe poli et performant entièrement entraîné par CSS et une petite quantité de JavaScript. L'article conclut en soulignant la polyvalence des sprites d'image et la puissance des propriétés personnalisées CSS dans la création d'expériences Web engageantes.

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!

Déclaration
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Quelle est la spécificité de @rules, comme @keyframes et @media?Quelle est la spécificité de @rules, comme @keyframes et @media?Apr 18, 2025 am 11:34 AM

J'ai eu cette question l'autre jour. Ma première pensée est: une question étrange! La spécificité concerne les sélecteurs, et les rubriques ne sont pas des sélecteurs, donc ... non pertinents?

Pouvez-vous nist @media et @Support Queries?Pouvez-vous nist @media et @Support Queries?Apr 18, 2025 am 11:32 AM

Oui, vous le pouvez, et cela n'a pas vraiment d'importance dans quel ordre. Un préprocesseur CSS n'est pas requis. Il fonctionne dans CSS ordinaire.

Buste de cache de gorgée rapideBuste de cache de gorgée rapideApr 18, 2025 am 11:23 AM

Vous devriez à coup sûr définir des en-têtes de cache éloignés sur vos actifs comme CSS et JavaScript (et des images et polices et quoi que ce soit d'autre). Cela dit au navigateur

À la recherche d'une pile qui surveille la qualité et la complexité de CSSÀ la recherche d'une pile qui surveille la qualité et la complexité de CSSApr 18, 2025 am 11:22 AM

De nombreux développeurs écrivent sur la façon de maintenir une base de code CSS, mais peu d'entre eux écrivent sur la façon dont ils mesurent la qualité de cette base de code. Bien sûr, nous avons

Le datalist est destiné à suggérer des valeurs sans appliquer de valeursLe datalist est destiné à suggérer des valeurs sans appliquer de valeursApr 18, 2025 am 11:08 AM

Avez-vous déjà eu un formulaire qui devait accepter un petit texte arbitraire? Comme un nom ou autre chose. C'est exactement à quoi sert. Il y a beaucoup de

Conférence avant à ZurichConférence avant à ZurichApr 18, 2025 am 11:03 AM

Je suis tellement excité de me diriger vers Zurich, en Suisse pour la conférence de Front (j'adore ce nom et URL!). Je n'ai jamais été en Suisse auparavant, donc je suis excité

Construire une application sans serveur complète avec des travailleurs CloudFlareConstruire une application sans serveur complète avec des travailleurs CloudFlareApr 18, 2025 am 10:58 AM

L'un de mes développements préférés dans le développement de logiciels a été l'avènement de Serverless. En tant que développeur qui a tendance à s'enliser dans les détails

Création de routes dynamiques dans une application NuxtCréation de routes dynamiques dans une application NuxtApr 18, 2025 am 10:53 AM

Dans cet article, nous utiliserons une démo de magasin de commerce électronique que j'ai construit et déployé sur Netlify pour montrer comment nous pouvons faire des itinéraires dynamiques pour les données entrantes. C'est assez

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Vous avez un jeu croisé?
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌

Outils chauds

PhpStorm version Mac

PhpStorm version Mac

Le dernier (2018.2.1) outil de développement intégré PHP professionnel

SublimeText3 Linux nouvelle version

SublimeText3 Linux nouvelle version

Dernière version de SublimeText3 Linux

VSCode Windows 64 bits Télécharger

VSCode Windows 64 bits Télécharger

Un éditeur IDE gratuit et puissant lancé par Microsoft

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Puissant environnement de développement intégré PHP

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit