CSS3 pour obtenir des effets d'animation

Aujourd'hui, je veux utiliser css3 pour obtenir l'effet de secousse d'élément à gauche et à droite, regardez d'abord la description des propriétés d'animation en css3:

  • Règles @keyframes CSS3
    Pour créer des animations dans CSS3, vous devez apprendre les règles @keyframes.
    La règle @keyframes est utilisée pour créer des animations. En spécifiant un certain style CSS dans @keyframes, vous pouvez créer un effet d'animation qui passe progressivement du style actuel au nouveau style.
    Internet Explorer 10, Firefox et Opera prennent en charge les règles @keyframes et les attributs d'animation.
    Chrome et Safari ont besoin du préfixe -webkit- @ keyframes.
    Exemple
	@keyframes myfirst
	{
		from {background: red;}
		to {background: yellow;}
	}
	@-webkit-keyframes myfirst /* Safari 和 Chrome */
	{
		from {background: red;}
		to {background: yellow;}
	}

L'animation est l'effet de changer progressivement les éléments d'un style à un autre.
Vous pouvez modifier autant de styles que vous le souhaitez.
Veuillez utiliser un pourcentage pour spécifier l'heure à laquelle le changement se produit, ou utilisez les mots-clés «de» et «à», qui sont équivalents à 0% et 100%.
0% est le début de l'animation et 100% est la fin de l'animation.
Afin d'obtenir la meilleure prise en charge du navigateur, vous devez toujours définir des sélecteurs 0% et 100%.
Exemple
Modifiez la couleur d'arrière-plan lorsque l'animation est à 25% et 50%, puis modifiez-la à nouveau lorsque l'animation est terminée à 100%:

@keyframes myfirst
{
0%   {background: red;}
25%  {background: yellow;}
50%  {background: blue;}
100% {background: green;}
}
@-webkit-keyframes myfirst /* Safari 和 Chrome */
{
0%   {background: red;}
25%  {background: yellow;}
50%  {background: blue;}
100% {background: green;}
}![在这里插入图片描述](https://img-blog.csdnimg.cn/20190809105211511.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE5MzAwNTQ=,size_16,color_FFFFFF,t_70)

  • Propriétés d'animationExemple de propriété d'animation CSS3

Exécutez l'animation nommée myfirst avec toutes les propriétés d'animation définies:

div
{
animation-name: myfirst;
animation-duration: 5s;
animation-timing-function: linear;
animation-delay: 2s;
animation-iteration-count: infinite;
animation-direction: alternate;
animation-play-state: running;
/* Safari 和 Chrome: */
-webkit-animation-name: myfirst;
-webkit-animation-duration: 5s;
-webkit-animation-timing-function: linear;
-webkit-animation-delay: 2s;
-webkit-animation-iteration-count: infinite;
-webkit-animation-direction: alternate;
-webkit-animation-play-state: running;
}

Ce qui précède est configuré selon les propriétés standard de l'animation, et peut également être écrit sous forme abrégée:

L'exemple
est le même que l'animation ci-dessus, mais utilise la propriété d'animation abrégée:

div
{
animation: myfirst 5s linear 2s infinite alternate;
/* Firefox: */
-moz-animation: myfirst 5s linear 2s infinite alternate;
/* Safari 和 Chrome: */
-webkit-animation: myfirst 5s linear 2s infinite alternate;
}

Entrons dans le sujet principal ci-dessous. Expliquez comment faire trembler l'élément à gauche et à droite:
définissez d'abord @keyframes et les propriétés d'animation de l'élément

<style>
        .weui-badge{
            display:inline-block;
            padding:.15em .4em;
            min-width:8px;
            border-radius:18px;
            background-color:#F43530;
            color:#FFFFFF;
            line-height:1.2;
            text-align:center;
            font-size:12px;
            vertical-align:middle;
            animation:move 3s 0s infinite;-webkit-animation:move 3s 0s infinite;
            transform-origin:bottom;-webkit-transform-origin:bottom;
        }
        @keyframes move
        {
            0%, 65%{
                -webkit-transform:rotate(0deg);
                transform:rotate(0deg);
            }
            70% {
                -webkit-transform:rotate(6deg);
                transform:rotate(6deg);
            }
            75% {
                -webkit-transform:rotate(-6deg);
                transform:rotate(-6deg);
            }
            80% {
                -webkit-transform:rotate(6deg);
                transform:rotate(6deg);
            }
            85% {
                -webkit-transform:rotate(-6deg);
                transform:rotate(-6deg);
            }
            90% {
                -webkit-transform:rotate(6deg);
                transform:rotate(6deg);
            }
            95% {
                -webkit-transform:rotate(-6deg);
                transform:rotate(-6deg);
            }
            100% {
                -webkit-transform:rotate(0deg);
                transform:rotate(0deg);
            }
        }

        @-webkit-keyframes move
        {
            0%, 65%{
                -webkit-transform:rotate(0deg);
                transform:rotate(0deg);
            }
            70% {
                -webkit-transform:rotate(6deg);
                transform:rotate(6deg);
            }
            75% {
                -webkit-transform:rotate(-6deg);
                transform:rotate(-6deg);
            }
            80% {
                -webkit-transform:rotate(6deg);
                transform:rotate(6deg);
            }
            85% {
                -webkit-transform:rotate(-6deg);
                transform:rotate(-6deg);
            }
            90% {
                -webkit-transform:rotate(6deg);
                transform:rotate(6deg);
            }
            95% {
                -webkit-transform:rotate(-6deg);
                transform:rotate(-6deg);
            }
            100% {
                -webkit-transform:rotate(0deg);
                transform:rotate(0deg);
            }
        }
    </style>

L'analyse du code peut être vue. En définissant la règle @keyframes, l'élément n'aura aucune action à 0% -65%, c'est-à-dire pas d'angle de rotation, à partir de 70% -100% et basculera
à 6 degrés. Définissez l'animation dans le weui-badge-like style comme suit:

animation:move 3s 0s infinite;-webkit-animation:move 3s 0s infinite;
transform-origin:bottom;
-webkit-transform-origin:bottom;

Autrement dit, à l'aide de la règle @keyframes, définissez l'animation pour terminer une action de cycle sur 3s, définissez l'animation pour qu'elle commence à 0s et spécifiez que l'animation doit être lue à l'infini (infini).
Définir l'origine de la transformation: bas pour définir le point de base de rotation de l'élément comme point central inférieur. La valeur par défaut est le point central de l'élément.

Je suppose que tu aimes

Origine blog.csdn.net/u011930054/article/details/98944023
conseillé
Classement