Maison > interface Web > tutoriel CSS > CSS3 implémente le code d'animation du carrousel

CSS3 implémente le code d'animation du carrousel

零下一度
Libérer: 2017-04-17 17:52:51
original
2352 Les gens l'ont consulté

Mise en œuvre facile de l'animation de carrousel

De nos jours, le front-end accorde de plus en plus d'attention à l'interaction et à l'expérience de l'utilisateur. Il existe de nombreuses animations et effets très courants, comme le sujet de cet article : animation carrousel. Cela a le même effet qu'un terme souvent entendu auparavant : « chapiteau ». Avant la sortie de CSS3, les animations étaient toutes implémentées via JavaScript. Désormais, nous pouvons utiliser complètement CSS3, les performances ont été grandement améliorées et la compatibilité est également très bonne, notamment du côté mobile.

Les performances des animations CSS3 seront grandement améliorées, surtout lorsque la page comporte de nombreuses animations ou minuteries.

Structure HTML :

    <h2>CSS实现</h2>
    <p class="wrapper-css">
        <p class="container-css marquee">
            <p>今天</p>
            <p>明天</p>
            <p>后天</p>
            <p>今天</p><!-- 辅助元素,为实现循环轮播 -->
        </p>
    </p>
Copier après la connexion

Comme vous pouvez le voir, vous devez toujours ajouter un élément auxiliaire répétitif à la fin pour obtenir l'effet de boucle.

Code CSS :

    // 轮播动画
        @-webkit-keyframes marquee {
            0% {
                -webkit-transform: translate3d(0, 0, 0);
            }
            27% {
                -webkit-transform: translate3d(0, 0, 0);
            }
            33% {
                -webkit-transform: translate3d(0, -100%, 0);
            }
            60% {
                -webkit-transform: translate3d(0, -100%, 0);
            }
            67% {
                -webkit-transform: translate3d(0, -200%, 0);
            }
            94% {
                -webkit-transform: translate3d(0, -200%, 0);
            }
            100% {
                -webkit-transform: translate3d(0, -300%, 0);
            }
        }
        @keyframes marquee {
            0% {
                transform: translate3d(0, 0, 0);
            }
            /* 100/3 * (2s/2.5s) => 26.7% => 27% */
            27% {
                transform: translate3d(0, 0, 0);
            }
            /* 100/3 =>33.3 => 33% */
            33% {
                transform: translate3d(0, -100%, 0);
            }
            60% {
                transform: translate3d(0, -100%, 0);
            }
            67% {
                transform: translate3d(0, -200%, 0);
            }
            94% {
               transform: translate3d(0, -200%, 0);
            }
            100% {
                transform: translate3d(0, -300%, 0);
            }
        }
        .wrapper-css {
            width: 200px;
            height: 30px;
            margin: 10px;
            overflow: hidden;
        }

        .container-css {
            height: 30px;
            -webkit-animation: marquee 7.5s linear infinite;/* 2.5s(2s + 0.5s) * 3 => 7.5s */
            animation: marquee 7.5s linear infinite;
        }
        .container-css p {
            width: 100%;
            height: 30px;
            margin: 0;
            line-height: 30px;
            font-size: 18px;
        }
Copier après la connexion

Comme ci-dessus, nous utilisons CSS3 pour définir des images clés d'animation et les combinons avec le déplacement de transformation pour obtenir une animation de carrousel transparente et réaliser le carrousel en déplaçant le conteneur Pour jouer l'effet, il faut principalement calculer les points d'image clés de l'animation en fonction des éléments du carrousel

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!

Étiquettes associées:
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal