Maison >interface Web >tutoriel CSS >Comment utiliser du CSS pur pour réaliser une balle qui rebondit dans un conteneur (code source ci-joint)

Comment utiliser du CSS pur pour réaliser une balle qui rebondit dans un conteneur (code source ci-joint)

不言
不言original
2018-09-18 17:38:501892parcourir

Le contenu de cet article explique comment utiliser du CSS pur pour réaliser de petites balles qui rebondissent dans le conteneur (code source ci-joint). J'espère qu'il a une certaine valeur de référence. vous sera utile.

Aperçu de l'effet

Comment utiliser du CSS pur pour réaliser une balle qui rebondit dans un conteneur (code source ci-joint)


Téléchargement du code source

https://github.com/comehope/front- fin-daily-challenges

Interprétation du code

Définir dom, il n'y a qu'un seul élément :

<div></div>

Affichage centré :

body {
    margin: 0;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: black;
}

Définir Taille du récipient :

.loader {
    width: 10em;
    height: 3em;
    border: 0.3em solid silver;
    border-radius: 3em;
    font-size: 20px;
}

Peignez les côtés gauche et droit du récipient avec des couleurs différentes :

.loader {
    border-left-color: hotpink;
    border-right-color: dodgerblue;
}

Dessinez une petite boule dans le récipient :

.loader {
    position: relative;
}

.loader::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 3em;
    height: 3em;
    border-radius: 50%;
    background-color: dodgerblue;
}

Laissez la balle bouger d'avant en arrière dans le récipient :

.loader::before {
    animation: shift 3s linear infinite;
}

@keyframes shift {
    50% {
        left: 7em;
    }
}

Laissez ensuite la balle changer de couleur lorsqu'elle touche les deux extrémités :

.loader::before {
    animation:
        shift 3s linear infinite,
        change-color 3s linear infinite;
}

@keyframes change-color {
    0%, 55% {
        background-color: dodgerblue;
    }

    5%, 50% {
        background-color: hotpink;
    }
}

Enfin, laissez le récipient continuer à tourner :

.loader {
    animation: spin 3s linear infinite;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

Fait !

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