Maison > interface Web > tutoriel CSS > le corps du texte

Comment créer un effet de fin de rotation avec CSS

Barbara Streisand
Libérer: 2024-11-03 17:30:03
original
164 Les gens l'ont consulté

L'effet global est illustré ci-dessous :

How to Create a Rotating Trailing Effect with CSS
Très bien, passons en revue les étapes pour créer cette animation en utilisant CSS.

Dans ce tutoriel, nous vous guiderons étape par étape sur la façon de créer un effet de fin de rotation à l'aide de CSS. Nous y parviendrons en définissant la largeur, la hauteur, le rayon de la bordure, la couleur d'arrière-plan et plusieurs ombres pour un élément.

Voici le code global et la démo : https://codepen.io/venzil/pen/MWNVymY

Étape 1 : configuration de la structure HTML

Tout d'abord, nous devons définir la hiérarchie et la structure HTML.

L'écran entier se compose de trois parties : d'abord, le fond noir (.container), puis l'arc (.circle), et enfin le petit point à la fin de l'arc (.dot).

La structure HTML globale est présentée ci-dessous.

<div class="container">
  <div class="circle">
    <div class="dot"></div>
  </div>
</div>
Copier après la connexion
Copier après la connexion

Composition CSS

1. Définition de l'arrière-plan et de la position du contenu

Dans un premier temps, on définit le fond noir de la page en modifiant directement la partie

du HTML.
body {
  margin: 0;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: black;
}
Copier après la connexion
Copier après la connexion

En définissant la hauteur : 100vh ;, nous nous assurons que l'arrière-plan

remplit toute la fenêtre d'affichage. Ensuite, nous utilisons flexbox pour centrer horizontalement et verticalement le contenu, en le plaçant au centre de la page.

Ensuite, nous définissons la taille du contenu.

.container {
  background-color: transparent;
  width: 200px;
  height: 200px;
}
Copier après la connexion

2. Dessiner l'arc et le faire pivoter

La première étape consiste à former un arc, qui est en fait une partie d'un cercle. Par conséquent, nous devons d'abord dessiner tout le cercle.

Commencez par dessiner un carré, et la taille de ce carré est la taille du contenu que nous avons définie précédemment avec une longueur de côté de 200 px.

.container .circle {
  border-color: yellow;
  border-style: solid;
  width: 100%;
  height: 100%;
}
Copier après la connexion

How to Create a Rotating Trailing Effect with CSS

Ensuite, nous utilisons border-radius pour transformer le carré en cercle.

.container .circle {
  border-color: yellow;
  border-style: solid;
  width: 100%;
  height: 100%;

  /* new */
  border-radius: 50%;
}
Copier après la connexion

How to Create a Rotating Trailing Effect with CSS

Ensuite, il suffit de découper une partie du cercle pour le faire ressembler à un arc.

.container .circle {
  border-style: solid;
  width: 100%;
  height: 100%;
  border-radius: 50%;

  /* new */
  border-color: yellow transparent transparent yellow;
  border-width: 3px 3px 0 0;
}
Copier après la connexion

How to Create a Rotating Trailing Effect with CSS

Maintenant que l'arc et le point final de l'arc sont générés, il ne nous reste plus qu'à commencer à faire tourner l'arc.

Définissez une image clé d'animation CSS (@keyframes) qui spécifie une séquence d'animation appelée animer.

Dans cette séquence d'animation, l'élément pivotera d'un tour complet (1 tour équivaut à 360 degrés) à partir de son état initial (généralement à partir de {}, mais ici, il est par défaut à l'état actuel).

@keyframes animate {
  to {
    transform: rotate(1turn);
  }
}
Copier après la connexion

Ensuite, appliquez l'image clé d'animation à la classe .circle.

<div class="container">
  <div class="circle">
    <div class="dot"></div>
  </div>
</div>
Copier après la connexion
Copier après la connexion
  1. animation : Il s'agit de la propriété abrégée des animations, qui peut combiner plusieurs valeurs telles que le nom de l'animation, la durée, la fonction de synchronisation, le nombre de boucles, etc.
  2. animer : C'est le nom de l'animation, correspondant à la définition d'animation @keyframes.
  3. 3s : la durée de l'animation, ce qui signifie qu'il faut 3 secondes pour terminer un cycle.
  4. linéaire : la fonction de synchronisation de l'animation, indiquant qu'elle se déroule à une vitesse constante sans accélération ni décélération.
  5. infini : le nombre de boucles, ce qui signifie que l'animation se répétera indéfiniment.

Une fois défini, l'effet d'animation apparaîtra comme indiqué ci-dessous :

How to Create a Rotating Trailing Effect with CSS

Ensuite, nous pouvons ajouter un petit point à la tête rotative pour améliorer l'effet d'animation.

body {
  margin: 0;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: black;
}
Copier après la connexion
Copier après la connexion

Voici le résultat final :

How to Create a Rotating Trailing Effect with CSS

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!

source:dev.to
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal