Cet article vous présente le code pour la mise en place d’un slider en pur CSS.
Démonstration
Testez le slider ci-dessous en cliquant sur les carrés pour faire défiler les images.
Quelques explications
Positionnement des images
Les images sont placées dans un conteneur qui utilise le système Grid avec l’option grid-auto-flow: column;
qui permet d’ajouter une colonne dans la grille pour chaque image ajoutée. Les images sont donc positionnées côte à côte sur une seule ligne de la grille.
Principe de la pseudo-classe :target
Les liens utilisent le principe d’ancres nommées, c’est à dire que la référence hypertextuelle du lien pointe vers l’attribut id
d’un élément. La référence hypertextuelle se présente sous la forme #id-de-l-element
et lorsque l’on clique sur ce type de lien, la référence s’ajoute à la fin de l’URL dans le champ adresse du navigateur sous la forme https://www.demo.com/page.html#ide-de-l-element
.
La pseudo classe :target
permet ensuite de manipuler un élément dès que son id
est présent dans le champ adresse du navigateur.
Imbrication d’ids
Dans la mesure où je souhaite faire défiler l’élément avec l’attribut id="slider-content"
, pour les 5 images, j’ajoute des parents successifs à slider-content
avec un id
correspondant à chacune des images.
Bonjour monsieur,
Merci pour les explications !
J’aimerai bien savoir comment faire pour que lorsque que l’on click sur les boutons de navigation que le haut de la page ne se colle pas à l’image.
Merci encore !
Bonjour Anthony,
Ce comportement est lié au fait que le système full CSS se base sur le principe des ancres nommées… Il ajouter des marges pour que les images ne soit pas collées en haut de la fenêtre mais il y aura toujours un déplacement potentiel si le haut de l’image n’est pas visible à l’écran.