Maison > Article > interface Web > Comment créer un carrousel avec l'aide de CSS ?
Carousel est très célèbre sur internet. Web Carousel est un moyen élégant d'organiser un contenu similaire en un seul endroit tactile tout en préservant l'espace précieux du site Web. Ils sont utilisés pour afficher des photos, proposer des produits et susciter l’intérêt de nouveaux visiteurs. Mais quelle est leur efficacité ? Il existe de nombreux arguments contre les carrousels, ainsi que des recherches sur l'utilisation des carrousels pour améliorer les performances. Mais comment les carrousels affectent-ils la convivialité du site Web ?
Dans cet article, nous aborderons les bases des carrousels et comment les créer en utilisant HTML et CSS.
Un carrousel est un diaporama qui affiche une série de bannières/images rotatives. Les carrousels apparaissent généralement sur la page d’accueil d’un site Web. Cela améliore l’apparence de votre site Web. Les carrousels Web, également connus sous le nom de Sliders, Galeries et Diaporamas, permettent d'afficher du texte, des graphiques, des images et même des vidéos dans un bloc dynamique "Sliding". Ils constituent un excellent choix de conception pour regrouper du contenu et des concepts, créant ainsi des liens visuels entre des contenus spécifiques.
Les carrousels Web sont donc idéaux pour promouvoir des produits pertinents sur des sites de commerce électronique, présenter des projets en vedette dans un portfolio de design ou même mettre en boucle des photos intérieures et extérieures d'une maison sur un site Web immobilier. Cependant, ils ne constituent pas toujours le meilleur choix.
De nombreux designers leur reprochent de ralentir les temps de chargement et de gâcher le flux des conceptions. Cependant, comme pour tout ce qui concerne la conception, lorsqu'ils sont effectués correctement, les carrousels Web peuvent diviser le contenu de manière à en faciliter la navigation.
Ici, nous verrons comment créer un carrousel Web simple sans utiliser un framework comme Bootstrap.
Utilisez HTML pour créer la structure de base de la lanterne tournante, qui contient des images. Dans l'exemple ci-dessous, nous avons ajouté 4 images à la porte tournante. De plus, il y a 4 boutons, en cliquant sur lesquels affichera l'image correspondante.
Tout d'abord, créez un élément div en tant que conteneur, qui contient title et content.
Maintenant, le div content contient deux parties - contenu du carrousel (contient la partie texte qui reste fixe tout au long de la transition) et diaporama (contient la partie mobile, c'est-à-dire les 4 images et les boutons).
Utilisez CSS pour styliser les images et les boutons du carrousel. Conservez la position de la diapositive comme positionnement relatif.
Utilisez des animations CSS pour effectuer une transition fluide des images dans votre carrousel.
L'exemple suivant montre un carrousel contenant 4 images et un bouton qui contrôle l'affichage des images. Ces images sont affichées par transitions à intervalles réguliers.
<!DOCTYPE html> <html> <head> <title> Web Carousel </title> <style> * { box-sizing: border-box; margin: 10px; padding: 3px; } body { background-color: rgb(195, 225, 235); } .box { width: 600px; height: 400px; display: flex; flex-direction: column; justify-content: center; align-items: center; margin: auto; } .title { padding: 10px 0 10px 0; position: absolute; top: 10px; } .content { position: relative; top: 10%; } .carousel-content { position: absolute; top: 50%; left: 45%; transform: translate(-40%, -40%); text-align: center; z-index: 50; } .carousel-title { font-size: 48px; color: black; margin-bottom: 1rem; font-family: Times New Roman; } .slideshow { position: relative; height: 100%; overflow: hidden; } .wrapper { display: flex; width: 400%; height: 100%; top: 10%; border-radius: 30%; position: relative; animation: motion 20s infinite; } .slide { width: 80%; height: 200%; border-radius: 30%; } .img { width: 100%; height: 100%; object-fit: cover; } @keyframes motion { 0% {left: 0;} 10% {left: 0;} 15% {left: -100%;} 25% {left: -100%;} 30% {left: -200%;} 40% {left: -200%;} 45% {left: -300%;} 55% {left: -300%;} 60% {left: -200%;} 70% {left: -200%;} 75% {left: -100%;} 85% {left: -100%;} 90% {left: 0%;} } .button { position: absolute; bottom: 3%; left: 50%; width: 1.3rem; height: 1.3rem; background-color: red; border-radius: 50%; border: 0.2rem solid #d38800; outline: none; cursor: pointer; transform: translateX(-50%); z-index: 70; } .button-1 { left: 20%; } .button-2 { left: 25%; } .button-3 { left: 30%; } .button-4 { left: 35%; } .button-1:focus~.wrapper { animation: none; left: 0%; } .button-2:focus~.wrapper { animation: none; left: -100%; } .button-3:focus~.wrapper { animation: none; left: -200%; } .button-4:focus~.wrapper { animation: none; left: -300%; } .button:focus { background-color: black; } </style> </head> <body> <div class= "box"> <h1 class= "title"> Responsive Carousel using CSS </h1> <div class= "content"> <div class= "carousel-content"> </div> <div class= "slideshow"> <button class= "button button-1"> </button> <button class= "button button-2"> </button> <button class= "button button-3"> </button> <button class= "button button-4"> </button> <div class= "wrapper"> <div class= "slide"> <img class= "img" src= "https://www.tutorialspoint.com/static/images/simply-easy-learning.jpg" alt="Comment créer un carrousel avec l'aide de CSS ?" > </div> <div class= "slide"> <img class= "img" src="https://wallpapercave.com/wp/wp2782600.jpg" alt="Comment créer un carrousel avec l'aide de CSS ?" > </div> <div class= "slide"> <img class= "img" src="https://i.insider.com/5fd90e7ef773c90019ff1293? style="max-width:90%" alt="Comment créer un carrousel avec l'aide de CSS ?" > </div> <div class= "slide"> <img class= "img" src="https://wallpaperaccess.com/full/1164582.jpg" alt="Comment créer un carrousel avec l'aide de CSS ?" > </div> </div> </div> </div> </div> </body> </html>
Pour modifier l'espace de coordonnées utilisé par le modèle de format visuel, utilisez la propriété transform en CSS. Ce faisant, vous pouvez appliquer des effets tels que l'inclinaison, la rotation et la translation à l'élément.
transform: none| transform-functions| initial| inherit;
translate(x, y) - Cette fonction définit la traduction le long des coordonnées X et Y.
translate3d(x, y, z) - Cette fonction fournit une translation le long des axes de coordonnées X, Y et Z.
initial − Définissez un élément à sa valeur par défaut.
inherit − Il hérite de la valeur de l'élément parent.
La propriété d'animation de CSS nous permet de modifier divers attributs de style d'un élément dans un certain intervalle de temps pour y ajouter des effets d'animation.
Certaines fonctionnalités de l'animation sont les suivantes :
Animation-name - Il nous permet de spécifier le nom de l'animation, qui est ensuite utilisé par @keyframes pour spécifier les règles CSS pour exécuter l'animation.
Durée de l'animation - Définir la durée de l'animation
Fonction de temps d'animation - Représente la courbe de vitesse de l'animation, c'est-à-dire l'intervalle de temps utilisé par l'animation pour passer d'un ensemble de propriétés personnalisées CSS à un autre.
Animation-delay – Définir un délai pour une valeur de départ pendant un intervalle de temps donné
@keyframes est utilisé pour spécifier le code qui doit être exécuté dans l'animation dans un délai donné. Ceci est accompli en déclarant des propriétés CSS pour certaines « images » spécifiques pendant l'animation, avec des pourcentages allant de 0 % (le début de l'animation) à 100 % (la fin de l'animation).
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!