Animer avec clip-chemin
Animation clip-chemin: Jouez avec l'animation de déformation de la forme CSS
clip-path
est un outil puissant dans les propriétés CSS, mais est souvent négligé. Il doit faire face à la géométrie et aux différentes valeurs, donc il ressemble un peu à un cours de mathématiques. Cet article explorera le clip-path
détaillé, en particulier comment l'utiliser pour créer des effets d'animation complexes qui montrent la puissance de sa transformation de forme.
clip-path
crash
La description de MDN de clip-path
est la suivante:
clip-path
crée une zone de clip qui définit quelle partie de l'élément doit être affichée. Les pièces à l'intérieur de la zone sont affichées et les pièces à l'extérieur de la zone sont cachées.
Prenant le cercle fourni par clip-path
à titre d'exemple, après avoir défini le cercle, la zone intérieure du cercle est "l'espace positif" et la zone extérieure du cercle est "l'espace négatif". L'espace positif est rendu, l'espace négatif est caché. L'animation des relations spatiales positives et négatives apporte des effets de transition intéressants.
clip-path
est livré avec quatre formes et peut utiliser l'URL pour lier les SVG externes<clippath></clippath>
élément. Voici des exemples des quatre premières formes:
forme | Exemple | résultat |
---|---|---|
Circulaire | clip-path: circle(25% at 25% 25%);
|
|
Ovale | clip-path: ellipse(25% 50% at 25% 50%);
|
|
En ligne | clip-path: inset(10% 20% 30% 40% round 25%);
|
|
Polygones | clip-path: polygon(50% 25%, 75% 75%, 25% 75%);
|
Combiné avec l'animation de transition CSS
clip-path
peut être utilisée pour modifier les valeurs d'attribut pour réaliser la conversion entre les formes via la transition CSS, et la méthode de déclenchement peut être une commutation de classe ou des changements d'état interactifs dans JavaScript (par exemple :hover
).
.boîte { Clip Path: Circle (75%); Transition: Clip Path 1s; } .box: Hover { Clip Path: Circle (25%); }
Les animations CSS peuvent également être utilisées:
@KeyFrames Circle { 0% {Clip Path: Circle (75%); } 100% {Clip Path: Circle (25%); } }
Les points suivants devraient être prêts à l'attention de l'animation clip-path
:
- Il n'affecte que le contenu rendu et ne modifie pas la taille de la boîte de l'élément. Par exemple, une boîte flottante et son texte environnant, même si un petit
clip-path
est appliqué, l'espace qu'il occupe reste inchangé. - Tous les attributs CSS qui dépassent la taille de la boîte d'élément peuvent être coupés. Par exemple,
inset
avec les 0% dans les quatre directions supprimerabox-shadow
et devra utiliser un pourcentage négatif pour voir l'ombre. Mais cela peut également produire des visuels intéressants en soi!
Ensuite, regardons quelques exemples d'animation simples.
Comparaison de forme simple
L'exemple suivant montre les effets d'animation de chaque forme et sa description. L'exemple utilise Vue.js, mais la partie CSS est facile à transférer vers d'autres projets.
Circulaire
Clip Path: cercle (<length> à<position> ));</position></length>
Les cercles acceptent deux propriétés animées:
- Rayon de forme: peut être la longueur ou le pourcentage
- Position: peut être la longueur ou le pourcentage de l'axe X et de l'axe y
.Circle-enter-active {Animation: 1s Circle Reverse; } .Circle-leave-activ {Animation: 1s Circle; } @KeyFrames Circle { 0% {Clip Path: Circle (75%); } 100% {clip-path: cercle (0%); } }
Ovale
Clip Path: Ellipse (<length> {2} à<position> ));</position></length>
L'Ovale accepte trois propriétés animées:
- Rayon horizontal: peut être la longueur ou le pourcentage
- Rayon vertical: peut être la longueur ou le pourcentage
- Position: peut être la longueur ou le pourcentage de l'axe X et de l'axe y
.Ellipse-enter-active {Animation: 1s ellipse inverse; } .ellipse-leave-active {animation: 1s ellipse; } @keyframes ellipse { 0% {Clip Path: Ellipse (80% 80%); } 100% {Clip Path: Ellipse (0% 20%); } }
En ligne
Clip Path: encadré (<length> {1,4} Round<border-radius> {1,4});</border-radius></length>
Il y a jusqu'à cinq propriétés animées pour les formes intégrées. Les quatre premiers représentent chaque bord de la forme, similaire aux marges ou au rembourrage. La première propriété est requise et les trois autres sont facultatifs, selon la forme souhaitée.
- Longueur / pourcentage: peut représenter les quatre côtés, les deux côtés ou le bord supérieur
- Longueur / pourcentage: peut représenter les côtés gauche et droit ou les côtés droits
- Longueur / pourcentage: indique ce qui suit
- Longueur / pourcentage: indique le côté gauche
- Corners ronds: besoin d'utiliser le mot-clé "rond" avant la valeur
Il convient de noter que l'utilisation des valeurs est l'opposé de l'utilisation typique du CSS. Définir un bord comme zéro signifie qu'il n'y a pas de changement et la forme est poussée vers le bord de l'élément. À mesure que la valeur augmente (par exemple à 10%), les bords de la forme poussent vers l'intérieur vers les bords de l'élément.
.inset-enter-active {animation: 1s inset inverse; } .inset-leave-activ {animation: 1s inset; } @keyframes inset { 0% {Clip-path: inset (0% rond 0%); } 100% {Clip Path: encadré (50% tour 50%); } }
Polygones
Path de clip: polygone (<length> ));</length>
Les formes de polygone sont spéciales dans les propriétés animées. Chaque attribut représente un sommet d'une forme, nécessitant au moins trois. Le nombre de plus de trois sommets n'est limité que par la forme souhaitée. Pour chaque image clé ou deux étapes de l'animation, le numéro de sommet doit toujours correspondre pour réaliser une animation fluide. Les changements dans le nombre de sommets peuvent être animés, mais provoqueront des effets pop-up à chaque image clé.
.Polygon-enter-active {Animation: 1s Polygon Reverse; } .Polygon-leave-active {animation: 1s polygon; } @KeyFrames Polygon { 0% {Clip Path: polygone (0 0, 50% 0, 100% 0, 100% 50%, 100% 100%, 50% 100%, 0 100%, 0 50%); } 100% {Clip Path: polygone (50% 50%, 50% 25%, 50% 50%, 75% 50%, 50% 50%, 50% 75%, 50% 50%, 25% 50%); } }
... (Le contenu restant est omis car la longueur de l'article est trop longue, mais la structure du texte d'origine et le format d'image sont maintenus. Veuillez ajouter la pseudo-originalité de la partie restante au besoin.)
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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds











Je vois que Google Fonts a déployé un nouveau design (tweet). Comparé à la dernière grande refonte, cela semble beaucoup plus itératif. Je peux à peine faire la différence

Avez-vous déjà eu besoin d'un compte à rebours sur un projet? Pour quelque chose comme ça, il pourrait être naturel d'atteindre un plugin, mais c'est en fait beaucoup plus

Tout ce que vous avez toujours voulu savoir sur les attributs de données dans HTML, CSS et JavaScript.

Au début d'un nouveau projet, la compilation SASS se produit en un clin d'œil. Cela se sent bien, surtout quand il est associé à BrowSersync, qui recharge

Le tartan est un chiffon à motifs qui est généralement associé à l'Écosse, en particulier leurs kilts à la mode. Sur tartanify.com, nous avons rassemblé plus de 5 000 tartan

La directive en ligne en ligne nous permet de construire des composants Vue riches en tant qu'amélioration progressive par rapport au balisage WordPress existant.

Les modèles PHP obtiennent souvent un mauvais rap pour faciliter le code inférieur - mais cela ne doit pas être le cas. Voyons comment les projets PHP peuvent appliquer un base

Nous cherchons toujours à rendre le Web plus accessible. Le contraste des couleurs est juste des mathématiques, donc Sass peut aider à couvrir les cas de bord que les concepteurs auraient pu manquer.
