


Comment utiliser du CSS pur pour obtenir un effet d'animation d'illusion de rayures (code source ci-joint)
Le contenu de cet article explique comment utiliser du CSS pur pour obtenir l'effet d'animation d'illusion de bande (code source ci-joint). Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. .
Aperçu de l'effet
Téléchargement du code source
https://github.com/comehope/front-end-daily -challenges
Interprétation du code
Définir dom, le conteneur contient 2 éléments, représentant respectivement 2 pistes :
<div> <span></span> <span></span> </div>
Affichage centré :
body { margin: 0; height: 100vh; display: flex; align-items: center; justify-content: center; background-color: #999; }
Définir la taille du conteneur et la disposition des sous-éléments :
.container { font-size: 30px; width: calc(13em + 0.5em); height: 8em; display: flex; flex-direction: column; justify-content: space-between; }
Définir 2 valeurs de couleur, une claire et une foncée :
.container { --dark: #222; --light: #ddd; }
Dessiner 2 pistes Contour :
.track { width: inherit; height: 2em; border: 1px solid var(--dark); }
est le motif de fond des 2 pistes. Le motif est une alternance de rayures claires et foncées, mais la deuxième piste est décalée d'une demi grille :
.track { background: linear-gradient( 90deg, var(--dark) 50%, var(--light) 50% ); background-size: 1em; } .track:nth-child(2) { background-position: 0.5em; }
est dessinée avec des pseudo éléments. Faites 2 rectangles. :
.track { position: relative; display: flex; align-items: center; } .track::before { content: ''; position: absolute; width: 2em; height: 0.8em; background-color: var(--light); }
Laissons ces 2 rectangles avancer et reculer sur la piste :
.track::before { animation: move 5s linear infinite alternate; } @keyframes move { from { left: 0; } to { left: calc(100% - 2em); } }
A ce moment, les deux rectangles semblent avancer l'un après l'autre, mais. en fait, ils démarrent au même moment et se déplacent à la même vitesse. Ensuite, nous révélerons la vérité.
Ajouter un élément enfant dans le dom en tant que bouton
<p> <span></span> <span></span> <span>Show me the truth</span> </p>
Définir le style du bouton :
.toggle { order: -1; width: 10em; height: 2em; border: 2px solid var(--dark); border-radius: 0.2em; font-size: 0.5em; font-family: sans-serif; font-weight: bold; color: black; text-align: center; line-height: 2em; cursor: pointer; user-select: none; }
Définir un arrière-plan similaire au style de la piste pour le bouton, Et l'effet de survol de la souris :
.toggle { background-image: linear-gradient(to right, #ddd 50%, #999 50%); background-size: 1em; transition: 0.5s; } .toggle:hover { background-position: 5em; }
Ajoutez un script qui se déclenche lorsque l'on clique sur le bouton pour changer le style de l'élément de piste :
let $toggle = document.getElementsByClassName('toggle')[0] let $tracks = Array.from(document.getElementsByClassName('track')) $toggle.addEventListener('click', function() { $tracks.forEach(track => track.classList.toggle('highlights')) })
Enfin, la réponse a été révélée après avoir changé de style :
.track::before { box-sizing: border-box; border: solid var(--dark); border-width: 0; } .track.highlights::before { background-color: white; border-width: 0.1em; }
Fait !
Recommandations associées :
Comment utiliser du CSS pur pour implémenter une animation de saut de bloc (code source ci-joint)
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!

L'écosystème React nous offre de nombreuses bibliothèques qui se concentrent sur l'interaction de la glisser et de la chute. Nous avons react-dnd, react-beeufuly-dnd,

Il y a eu des choses merveilleusement interconnectées à propos des logiciels rapides ces derniers temps.

Je ne peux pas dire que j'utilise souvent le clip de fond. Je ne parierai presque presque jamais dans le travail CSS au jour le jour. Mais je me suis souvenu de cela dans un post de Stefan Judis,

L'animation avec des demandes de châssis devrait être facile, mais si vous n'avez pas lu de manière approfondie de la documentation de React, vous rencontrerez probablement quelques choses

Peut-être le moyen le plus simple d'offrir cela à l'utilisateur est un lien qui cible un ID sur l'élément. Tellement comme ...

Écoutez, je ne suis pas un expert GraphQL mais j'aime travailler avec. La façon dont elle expose les données en tant que développeur frontal est assez cool. C'est comme un menu de

Au cours de cette semaine, un Bookmarklet pratique pour inspecter la typographie, en utilisant Await pour bricoler comment les modules JavaScript s'importent, ainsi que Facebook & # 039; S

J'ai récemment remarqué un changement intéressant sur Codepen: sur le plan des stylos sur la page d'accueil, il y a un rectangle avec des coins arrondis se développant dans le dos.


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

SublimeText3 version anglaise
Recommandé : version Win, prend en charge les invites de code !

Dreamweaver CS6
Outils de développement Web visuel

MantisBT
Mantis est un outil Web de suivi des défauts facile à déployer, conçu pour faciliter le suivi des défauts des produits. Cela nécessite PHP, MySQL et un serveur Web. Découvrez nos services de démonstration et d'hébergement.

VSCode Windows 64 bits Télécharger
Un éditeur IDE gratuit et puissant lancé par Microsoft