Maison interface Web tutoriel CSS Tutoriel sur l'utilisation de CSS pour implémenter l'effet carrousel automatique d'images réactives

Tutoriel sur l'utilisation de CSS pour implémenter l'effet carrousel automatique d'images réactives

Nov 21, 2023 am 08:37 AM
css 响应式 图片轮播

Tutoriel sur lutilisation de CSS pour implémenter leffet carrousel automatique dimages réactives

Avec la popularité des appareils mobiles, la conception Web doit prendre en compte des facteurs tels que la résolution de l'appareil et la taille de l'écran des différents terminaux pour obtenir une bonne expérience utilisateur. Lors de la mise en œuvre d'un design réactif d'un site Web, il est souvent nécessaire d'utiliser l'effet carrousel d'images pour afficher le contenu de plusieurs images dans une fenêtre visuelle limitée, et en même temps, cela peut également améliorer l'effet visuel du site Web. Cet article expliquera comment utiliser CSS pour obtenir un effet de carrousel automatique d'image réactif, et fournira des exemples de code et une analyse.

Idées d'implémentation

Un carrousel d'images réactif peut être implémenté via une mise en page flexible CSS. Dans un conteneur fixe, configurez un conteneur flexible pour contenir chaque image dans un sous-conteneur flexible. Ensuite, en définissant la disposition des sous-conteneurs flexibles et la largeur des sous-éléments, la disposition en mosaïque des images est obtenue. Cependant, étant donné que la largeur du conteneur sera différente selon les tailles d'écran, vous devez utiliser des requêtes multimédias pour modifier dynamiquement la largeur du conteneur et des sous-éléments afin de vous adapter aux différentes résolutions d'écran. Ensuite, en définissant l'effet d'animation de CSS3, l'effet carrousel automatique est réalisé et l'effet de glissement est réalisé via js.

Étapes d'implémentation

  1. Partie HTML

Tout d'abord, nous devons créer un conteneur contenant plusieurs images dans la partie HTML, comme indiqué ci-dessous :

<div class="carousel-container">
  <div class="carousel-items">
    <img src="/static/imghw/default1.png"  data-src="image1.jpg"  class="lazy" alt="">
    <img src="/static/imghw/default1.png"  data-src="image2.jpg"  class="lazy" alt="">
    <img src="/static/imghw/default1.png"  data-src="image3.jpg"  class="lazy" alt="">
    <img src="/static/imghw/default1.png"  data-src="image4.jpg"  class="lazy" alt="">
    <img src="/static/imghw/default1.png"  data-src="image5.jpg"  class="lazy" alt="">
  </div>
  <div class="carousel-prev"></div>
  <div class="carousel-next"></div>
</div>
Copier après la connexion

Parmi eux, .carousel-container est le nom du style du conteneur, .carousel -items est le nom de style du sous-conteneur contenu dans l'image, .carousel-prev et .carousel-next sont les noms de style des flèches gauche et droite, nous définirons les styles dans la section CSS.

  1. Partie CSS

Ensuite, nous devons définir les styles dans la partie CSS, y compris les styles des conteneurs, des sous-conteneurs et des flèches. Le code spécifique est le suivant :

.carousel-container {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: auto;
}

.carousel-items {
  display: flex;
  flex-wrap: nowrap;
  width: 500%; /* 将子容器宽度扩大5倍 */
}

.carousel-items img {
  width: 20%;
  margin-right: 1rem;
  flex: 1;
}

.carousel-prev,
.carousel-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 50px;
  height: 50px;
  background-color: rgba(0,0,0,0.5);
  color: #fff;
  text-align: center;
  line-height: 50px;
  cursor: pointer;
}

.carousel-prev {
  left: 0;
}

.carousel-next {
  right: 0;
}
Copier après la connexion

Dans la définition du style, nous définissons le positionnement relatif du conteneur afin d'obtenir un positionnement absolu des sous-conteneurs et des flèches. En utilisant overflow:hidden, vous pouvez masquer les parties débordantes des sous-conteneurs dans le conteneur. Le sous-conteneur adopte une disposition flexible et l'attribut nowrap empêche les éléments du sous-conteneur de s'enrouler. Et définissez la largeur du sous-conteneur à 500 %. En définissant la largeur des images dans le sous-conteneur à 20 %, chaque ligne peut afficher 5 images et en définissant la marge droite entre les images sur 1rem pour rendre l'effet d'affichage plus beau. Les flèches gauche et droite sont centrées verticalement via un positionnement absolu et une marge supérieure négative.

  1. Requête multimédia pour définir des attributs réactifs

Sous différentes tailles d'écran, la largeur du conteneur et des sous-éléments doit être modifiée dynamiquement pour s'adapter aux différentes résolutions d'écran. Nous pouvons définir des propriétés réactives via des requêtes multimédias et modifier la largeur du conteneur et des sous-conteneurs à différentes tailles d'écran, comme indiqué ci-dessous :

/* 根据不同屏幕尺寸改变样式 */
@media (max-width: 768px) {
  .carousel-items img {
    width: 50%;
  }
  .carousel-container {
    height: 250px;
  }
}

@media (max-width: 480px) {
  .carousel-items img {
    width: 100%;
    margin-right: 0;
  }
  .carousel-container {
    height: 180px;
  }
}
Copier après la connexion

Dans l'exemple ci-dessus, nous définissons les éléments du carrousel img et carrousel en fonction de la taille de la fenêtre. changer le style du conteneur. Sur un petit écran, nous définissons chaque image à 50 % de largeur, ne définissons pas la marge droite entre les images et définissons la hauteur à 250 px dans le conteneur .crosso. Sur un écran plus petit, nous définissons l'image à 100 %. défini sur 180px dans le conteneur .crosso.

  1. Animation CSS3

En utilisant l'animation CSS3, vous pouvez obtenir un effet carrousel d'image automatique. L'exemple de code est le suivant :

@keyframes carousel-animation {
  0% {
      transform: translateX(0);
  }
  100% {
      transform: translateX(-100%);
  }
}

.carousel-items {
  /* 动画设置 */
  animation: carousel-animation 10s infinite linear;
}

.carousel-items:hover {
  /* 鼠标悬停时终止动画 */
  animation-play-state: paused;
}
Copier après la connexion

Dans l'exemple ci-dessus, nous définissons le sous-conteneur d'image pour qu'il défile une fois toutes les 10 secondes, et l'animation. est complété par carrousel-animation , linéaire signifie que l'animation est linéaire et infini signifie que l'animation boucle à l'infini.

  1. JavaScript pour obtenir un effet de glissement

Enfin, nous utilisons JavaScript pour obtenir l'effet de glissement d'image lorsque vous cliquez sur les flèches gauche et droite. L'exemple de code est le suivant :

// 获取左右箭头元素
var prev = document.querySelector(".carousel-prev");
var next = document.querySelector(".carousel-next");

// 图片滚动函数
function carouselScroll(direction) {
  var container = document.querySelector(".carousel-items");
  var minScrollLeft = 0;
  var maxScrollLeft = container.scrollWidth - container.clientWidth;
  var increment = 20 * direction;

  container.scrollLeft += increment;

  if (container.scrollLeft < minScrollLeft) {
    container.scrollLeft = maxScrollLeft;
  } else if (container.scrollLeft > maxScrollLeft) {
    container.scrollLeft = minScrollLeft;
  }
};

// 给左右箭头绑定事件
prev.addEventListener("click", function() {
  carouselScroll(-1);
});

next.addEventListener("click", function() {
  carouselScroll(1);
});
Copier après la connexion

Dans l'exemple ci-dessus, nous obtenons les éléments. des flèches gauche et droite via querySelector et l'événement de clic de liaison. Utilisez la fonction carouselScroll pour obtenir l’effet de glissement d’image à chaque fois que vous cliquez. containers.scrollWidth représente la largeur effective du sous-conteneur et containers.clientWidth représente la largeur visible lors du défilement jusqu'au bord du conteneur, la position de défilement sera définie sur la position opposée pour obtenir l'effet de défilement circulaire.

Résumé

Dans cet article, nous avons utilisé les effets de mise en page et d'animation flexibles de CSS3, ainsi que JavaScript pour implémenter les événements de clic des flèches gauche et droite, et implémenté avec succès un effet de carrousel automatique d'image responsive. Nous avons également obtenu une conception réactive plus riche en ajoutant des requêtes multimédias et des effets de survol. Les exemples de code ont un certain degré de généralité et sont également utiles comme référence pour les débutants.

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

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

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

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.

Comment afficher la date de bootstrap Comment afficher la date de bootstrap Apr 07, 2025 pm 03:03 PM

Réponse: Vous pouvez utiliser le composant de sélecteur de date de bootstrap pour afficher les dates dans la page. Étapes: Présentez le framework bootstrap. Créez une boîte d'entrée de sélecteur de date dans HTML. Bootstrap ajoutera automatiquement des styles au sélecteur. Utilisez JavaScript pour obtenir la date sélectionnée.

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

See all articles