Maison interface Web tutoriel CSS Comment obtenir un effet d'animation de balle rebondissante avec CSS ? Exemple d'implémentation d'une animation de balle rebondissante

Comment obtenir un effet d'animation de balle rebondissante avec CSS ? Exemple d'implémentation d'une animation de balle rebondissante

Nov 03, 2018 pm 06:03 PM
css3

Comment obtenir un effet d'animation de balle rebondissante avec CSS ? Cet article vous expliquera comment obtenir l'effet d'animation de balle rebondissante en CSS à travers des exemples de code. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il vous sera utile.

1. Définir les images clés de l'animation

Pour cette animation, nous utiliserons deux images clés - une pour traduire la balle horizontalement avec une vitesse constante et une autre pour appliquer grossièrement la parabole. mouvement de rebond vertical. Il est possible de combiner la traduction horizontale et verticale en une seule image clé, mais cela ne fonctionnera pas pour l'effet recherché.

Le mouvement horizontal peut être facilement réalisé à l'aide de l'image clé suivante :

 @-webkit-keyframes travel {
    from {              }
    to   { left: 640px; }
  }
  @keyframes travel {
    from {              }
    to   { left: 640px; }
  }
Copier après la connexion

Cette image clé sera référencée ultérieurement en utilisant le nom attribué "voyage" et appliquée en utilisant linéaire (fonction de synchronisation de transformation) Cette image clé , cette fonction change de direction à chaque itération.

Pour l'animation de rebond vertical, nous allons profiter de la facilité d'utilisation des fonctionnalités de synchronisation d'entrée et de sortie pour simuler les effets des champs de gravité :

 @-webkit-keyframes bounce {
    from, to  {
      bottom: 0;
      -webkit-animation-timing-function: ease-out;
    }
    50% {
      bottom: 220px;
      -webkit-animation-timing-function: ease-in;
    }
  }
  @keyframes bounce {
    from, to  {
      botttom: 0;
      animation-timing-function: ease-out;
    }
    50% {
      bottom: 220px;
      animation-timing-function: ease-in;
    }
  }
Copier après la connexion

L'image clé a été nommée "bounce" » pour référence future.

La combinaison de ces deux images clés déplacera notre « boule » de 640 pixels horizontalement et de 220 pixels verticalement. Bien entendu, ces valeurs doivent être ajustées pour s'adapter à la taille de la « scène ».

2. Préparer le terrain pour l'animation

Comme d'habitude, nous préparons d'abord une « scène » dans laquelle exécuter l'animation. Dans ce cas, un simple DIV de dimensions 660 x 240 pixels. Avoir une largeur de 100 % serait bien, mais placer certains éléments sans connaître la largeur exacte des pixels est difficile.

#stage {
    position: relative;
    margin: 1em auto;
    width: 660px;
    height: 240px;
    border: 2px solid #666;
    background: #cff;
  }
Copier après la connexion

A ce stade, nous allons mettre en place un élément DIV qui se déplace d'avant en arrière horizontalement, et à l'intérieur de lui un DIV représentant une "balle" qui rebondit de haut en bas :

#traveler {
    position: absolute;
    width: 20px;
    height: 240px;
    -webkit-animation-name: travel;
    -webkit-animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
    -webkit-animation-direction: alternate;
    -webkit-animation-duration: 4.8s;
    animation-name: travel;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-direction: alternate;
    animation-duration: 4.8s;
  }
  #bouncer {
    position: absolute;
    width: 20px;
    height: 20px;
    background: red;
    border-radius: 10px;
    -webkit-animation-name: bounce;
    -webkit-animation-iteration-count: infinite;
    -webkit-animation-duration: 4.2s;
    animation-name: bounce;
    animation-iteration-count: infinite;
    animation-duration: 4.2s;
  }
Copier après la connexion

Donc 'boule' Les dimensions sont de 20 x 20 pixels avec les coins arrondis.

3. Définissez le mouvement de la balle

Nous avons complété quelques balises HTML simples :

<div id="stage">
   <div id="traveler">
       <div id="bouncer"><!-- --></div>
   </div>
</div>
Copier après la connexion

Si votre navigateur le prend en charge, l'animation démarrera automatiquement. et continuez indéfiniment dans la case (ou #stage) suivante :

Comment obtenir un effet danimation de balle rebondissante avec CSS ? Exemple dimplémentation dune animation de balle rebondissante

Comment obtenir un effet danimation de balle rebondissante avec CSS ? Exemple dimplémentation dune animation de balle rebondissante

Comment obtenir un effet danimation de balle rebondissante avec CSS ? Exemple dimplémentation dune animation de balle rebondissante

Nous avons ajouté un extra élément et quelques styles pour mettre en évidence les composants x et y de l'animation, aucun JavaScript requis, le reste du code est exactement comme indiqué.

CSS : rebond-animation.css (https://www.the-art-of-web.com/bounce-animation.css)

Vous avez terminé !

Résumé : Ce qui précède représente l’intégralité du contenu de cet article, j’espère qu’il sera utile à l’étude de chacun.

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 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

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

Video Face Swap

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 !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Comment obtenir un effet de vague avec du CSS3 pur ? (exemple de code) Comment obtenir un effet de vague avec du CSS3 pur ? (exemple de code) Jun 28, 2022 pm 01:39 PM

Comment obtenir un effet de vague avec du CSS3 pur ? Cet article vous présentera comment utiliser l'animation SVG et CSS pour créer des effets de vagues. J'espère que cela vous sera utile !

Utilisez habilement CSS pour réaliser divers boutons de forme étrange (avec code) Utilisez habilement CSS pour réaliser divers boutons de forme étrange (avec code) Jul 19, 2022 am 11:28 AM

Cet article va vous montrer comment utiliser CSS pour réaliser facilement divers boutons aux formes étranges qui apparaissent fréquemment. J'espère que cela vous sera utile !

Comment masquer des éléments en CSS sans prendre de place Comment masquer des éléments en CSS sans prendre de place Jun 01, 2022 pm 07:15 PM

Deux méthodes : 1. À l'aide de l'attribut display, ajoutez simplement le style "display:none;" à l'élément. 2. Utilisez les attributs position et top pour définir le positionnement absolu de l'élément afin de masquer l'élément. Ajoutez simplement le style "position:absolute;top:-9999px;" à l'élément.

Comment implémenter des bordures en dentelle en CSS3 Comment implémenter des bordures en dentelle en CSS3 Sep 16, 2022 pm 07:11 PM

En CSS, vous pouvez utiliser l'attribut border-image pour réaliser une bordure en dentelle. L'attribut border-image peut utiliser des images pour créer des bordures, c'est-à-dire ajouter une image d'arrière-plan à la bordure. Il vous suffit de spécifier l'image d'arrière-plan comme style de dentelle ; largeur de la bordure de l'image vers l'intérieur. Indique si le début est répété ;".

Comment agrandir l'image en cliquant sur la souris en CSS3 Comment agrandir l'image en cliquant sur la souris en CSS3 Apr 25, 2022 pm 04:52 PM

Méthode d'implémentation : 1. Utilisez le sélecteur ":active" pour sélectionner l'état du clic de la souris sur l'image ; 2. Utilisez l'attribut de transformation et la fonction scale() pour obtenir l'effet d'agrandissement de l'image, la syntaxe "img:active {transform : échelle (grossissement de l'axe x, grossissement de l'axe y);}".

Il s'avère que le carrousel de texte et le carrousel d'images peuvent également être réalisés en utilisant du CSS pur ! Il s'avère que le carrousel de texte et le carrousel d'images peuvent également être réalisés en utilisant du CSS pur ! Jun 10, 2022 pm 01:00 PM

Comment créer un carrousel de texte et un carrousel d'images ? La première chose à laquelle tout le monde pense est de savoir s'il faut utiliser js. En fait, le carrousel de texte et le carrousel d'images peuvent également être réalisés en utilisant du CSS pur. Jetons un coup d'œil à la méthode d'implémentation.

Comment définir la vitesse de rotation de l'animation en CSS3 Comment définir la vitesse de rotation de l'animation en CSS3 Apr 28, 2022 pm 04:32 PM

En CSS3, vous pouvez utiliser l'attribut "animation-timing-function" pour définir la vitesse de rotation de l'animation. Cet attribut est utilisé pour spécifier comment l'animation terminera un cycle et définir la courbe de vitesse de l'animation. La syntaxe est "element {. fonction de synchronisation d'animation : valeur de l'attribut de vitesse ;}".

L'effet d'animation CSS3 a-t-il une déformation ? L'effet d'animation CSS3 a-t-il une déformation ? Apr 28, 2022 pm 02:20 PM

L'effet d'animation en CSS3 a une déformation ; vous pouvez utiliser "animation : attribut d'animation @keyframes ..{..{transform : attribut de transformation}}" pour obtenir un effet d'animation de déformation. L'attribut d'animation est utilisé pour définir le style d'animation et le. L'attribut transform est utilisé pour définir le style de déformation.

See all articles