Table des matières
Utilisez scrollLeft
Utilisez l'animation de transformation CSS3
Maison interface Web tutoriel CSS Jetez un œil à comment obtenir l'effet dynamique de la porte tournante des images en utilisant CSS ?

Jetez un œil à comment obtenir l'effet dynamique de la porte tournante des images en utilisant CSS ?

Dec 30, 2021 am 10:38 AM
css 动画

Comment réaliser l'effet dynamique d'une lanterne tournante avec image en utilisant CSS ? L'article suivant vous expliquera comment utiliser la transformation d'animation CSS3 pour obtenir l'effet d'image tournante. J'espère que cela vous sera utile !

Jetez un œil à comment obtenir l'effet dynamique de la porte tournante des images en utilisant CSS ?

Parce que le projet doit parvenir à un effet de porte tournante d'images. Après avoir vérifié la plupart des bibliothèques de composants Vue courantes, j'ai rarement vu de tels composants, j'ai donc implémenté manuellement l'effet de porte tournante basé sur l'animation CSS3. Deux solutions viennent immédiatement à l'esprit, l'une consiste à utiliser un timer, scrollLeft ou à modifier la valeur de l'attribut left dans la position, et l'autre consiste à utiliser la transformation et l'animation de CSS3.

Choisissez d'utiliser l'animation pour l'implémenter. Puisque l'animation implémentée par js s'exécute sur le CPU et l'animation de css3 s'exécute sur le GPU, le coût de rendu de css3 est faible. Finalement, nous avons décidé d'utiliser css3 pour implémenter cela. type d'opération.

Utilisez scrollLeft

Initialement, scrollLeft+overflow est utilisé pour obtenir l'effet, et une minuterie est utilisée pour le déclencher, ce qui provoquera un redessin et une redistribution à chaque fois. (ps : si vous avez besoin de mieux améliorer les performances, vous pouvez utiliser requestAnimationFrame au lieu du déclenchement de la minuterie. Le principal avantage est que requestAnimationFrame concentrera toutes les opérations DOM dans chaque image et la terminera en un seul redessin ou redistribution, et redessinera ou l'intervalle de temps de redistribution suit de près la fréquence de rafraîchissement du navigateur. De manière générale, cette fréquence est de 60 images par seconde)

(Changer scrollLeft a le même effet que gauche) Code principal :

function toScrollLeft(){
  //  如果容器的宽度大于滚动条距离,则重复滚动
  if(divWidth > box.scrollLeft){
    box.scrollLeft++
    setTimeout('toScrollLeft()', 18);
  }
  else{
    // 滚动结束,从新开始
    box.scrollLeft=0;
    setTimeout('toScrollLeft()', 18);
  }
}
Copier après la connexion

Utilisez l'animation de transformation CSS3

Utilisez l'animation CSS3. pour réaliser la lanterne tournante, utilisez des variables CSS pour définir dynamiquement le décalage TranslateX de chaque transformation d'état, ainsi que l'animation la plus critique, pour obtenir certains des effets du gif produit comme suit.

Jetez un œil à comment obtenir leffet dynamique de la porte tournante des images en utilisant CSS ?

1. Définissez au préalable la mise en page HTML et configurez un conteneur div

<div class="box" >
    <ul >
        <li v-for="(src,i) in cap " :key="i">
            <img  src="/static/imghw/default1.png"  data-src="src"  class="lazy"     style="max-width:90%" height="90px" : / alt="Jetez un œil à comment obtenir l'effet dynamique de la porte tournante des images en utilisant CSS ?" >
        </li>
    </ul>
</div>
Copier après la connexion

2 Définissez le style correspondant

.box{
display: flex;
overflow: hidden;
flex-direction: column;
border-radius:12px;
width: 100%;
height: 100%;
background-color:#fff;
}
ul{
display: flex;
}
Copier après la connexion

3. l'élément .box La méthode principale consiste à utiliser des variables CSS, puis à définir dynamiquement l'effet de chaque état de l'animation via des valeurs spécifiques. Le code clé utilise l'animation : cap.length*8+ 's move infinite line qui produira l'effet d'un mouvement répété infini.

ps : C'est le point de fonctionnement principal global, d'autres détails sont omis

<div class="box" :style="{
&#39;--card-ul-width-start&#39;:-30+&#39;px&#39;,
&#39;--card-ul-width-middle1&#39;:-cap.length*30+&#39;px&#39;, 
&#39;--card-ul-width-middle2&#39;:-cap.length*60+&#39;px&#39;,
&#39;--card-ul-width-end&#39;:-cap.length*90+&#39;px&#39;
}">
    <ul :style="{&#39;-webkit-animation&#39;:cap.length*8+ &#39;s move infinite linear;&#39;}">
        <li></li>
    </ul>
</div>
Copier après la connexion
data(){
    cap:new Array(6).fill(&#39;https://res.minigame.vip/gc-assets/fruit-master/fruit-master_icon.png&#39;)
}
Copier après la connexion
@keyframes move {
    0%{
    transform:translateX(var(--card-ul-width-start))
    }
    30%{
    transform:translateX(var(--card-ul-width-middle1))
    }
    70%{
    transform:translateX(var(--card-ul-width-middle2))
    }
    100%{
    transform:translateX(var(--card-ul-width-end))
    }    
}
Copier après la connexion

(Partage vidéo d'apprentissage : tutoriel vidéo CSS)

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 utiliser Bootstrap en Vue Comment utiliser Bootstrap en Vue Apr 07, 2025 pm 11:33 PM

L'utilisation de bootstrap dans vue.js est divisée en cinq étapes: installer bootstrap. Importer un bootstrap dans main.js. Utilisez le composant bootstrap directement dans le modèle. Facultatif: style personnalisé. Facultatif: utilisez des plug-ins.

Les rôles de HTML, CSS et JavaScript: responsabilités de base Les rôles de HTML, CSS et JavaScript: responsabilités de base Apr 08, 2025 pm 07:05 PM

HTML définit la structure Web, CSS est responsable du style et de la mise en page, et JavaScript donne une interaction dynamique. Les trois exercent leurs fonctions dans le développement Web et construisent conjointement un site Web coloré.

Comment écrire des lignes fendues sur bootstrap Comment écrire des lignes fendues sur bootstrap Apr 07, 2025 pm 03:12 PM

Il existe deux façons de créer une ligne divisée bootstrap: en utilisant la balise, qui crée une ligne divisée horizontale. Utilisez la propriété CSS Border pour créer des lignes de fractionnement de style personnalisées.

Comprendre HTML, CSS et JavaScript: un guide pour débutant Comprendre HTML, CSS et JavaScript: un guide pour débutant Apr 12, 2025 am 12:02 AM

WebDevelopmentReliesOnHTML, CSS, etjavascript: 1) HTMLSTRUCTURESCONTENT, 2) CSSSTYLESIT, et3) JavascriptAdddsInterActivity, Forming TheasisofmodernweBEBExperiences.

Comment configurer le cadre de bootstrap Comment configurer le cadre de bootstrap Apr 07, 2025 pm 03:27 PM

Pour configurer le framework Bootstrap, vous devez suivre ces étapes: 1. Référez le fichier bootstrap via CDN; 2. Téléchargez et hébergez le fichier sur votre propre serveur; 3. Incluez le fichier bootstrap dans HTML; 4. Compiler les sass / moins au besoin; 5. Importer un fichier personnalisé (facultatif). Une fois la configuration terminée, vous pouvez utiliser les systèmes, composants et styles de grille de Bootstrap pour créer des sites Web et des applications réactifs.

Comment insérer des photos sur bootstrap Comment insérer des photos sur bootstrap Apr 07, 2025 pm 03:30 PM

Il existe plusieurs façons d'insérer des images dans Bootstrap: insérer directement les images, en utilisant la balise HTML IMG. Avec le composant d'image bootstrap, vous pouvez fournir des images réactives et plus de styles. Définissez la taille de l'image, utilisez la classe IMG-FLUID pour rendre l'image adaptable. Réglez la bordure en utilisant la classe IMG-border. Réglez les coins arrondis et utilisez la classe Roundée IMG. Réglez l'ombre, utilisez la classe Shadow. Redimensionner et positionner l'image, en utilisant le style CSS. À l'aide de l'image d'arrière-plan, utilisez la propriété CSS d'image d'arrière-plan.

Comment utiliser le bouton bootstrap Comment utiliser le bouton bootstrap Apr 07, 2025 pm 03:09 PM

Comment utiliser le bouton bootstrap? Introduisez Bootstrap CSS pour créer des éléments de bouton et ajoutez la classe de bouton bootstrap pour ajouter du texte du bouton

Comment redimensionner le bootstrap Comment redimensionner le bootstrap Apr 07, 2025 pm 03:18 PM

Pour ajuster la taille des éléments dans Bootstrap, vous pouvez utiliser la classe de dimension, qui comprend: ajuster la largeur: .col-, .w-, .mw-ajustement Hauteur: .h-, .min-h-, .max-h-

See all articles