Bonjour,
voici le css et le html d'un slider que j'ai découvert il y a deux jours (mais je ne sais plus où, c'est pourquoi je ne donne pas le lien).
Je l'ai un peu modifié, notamment dans les media queries, pour l'adapter aux points de rupture de mon site. J'ai aussi modifié l'espacement des petits points (dots) qui permettent de choisir une image, pour une facilité d'utilisation sur les portables, avec des gros doigts J'ai aussi supprimé le background d'origine. Ce n'est pas le slider qui est sur mon site mais je l'ai testé, il fonctionne, du premier coup et parfaitement "responsive". J'ai aussi modifié le width , afin d'avoir le plein écran en 767 et 1024.
Les sliders "responsive" et en full css sont rares. Je cherche le lien de celui de mon site, qui lui, est a défilement automatique.
Le css :
.sp-slideshow {
position: relative;
margin: 10px auto;
width: 100%;
max-width: 1000px;
min-width: 260px;
height: 460px;
border: 10px solid #fff;
border: 4px solid rgba(255,255,255,0.9);
box-shadow: 0 2px 6px rgba(0,0,0,0.2);
}
.sp-content {
background-image: -webkit-radial-gradient(Gray, #fafad2);
background-image: radial-gradient(Gray, #fafad2);
background-attachment: fixed;
background-size: cover;
position: relative;
width: 100%;
height: 100%;
overflow: hidden;
}
.sp-slideshow input {
position: absolute;
bottom: 15px;
left: 50%;
width: 9px;
height: 9px;
z-index: 1001;
cursor: pointer;
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
filter: alpha(opacity=0);
opacity: 0;
}
.sp-slideshow input + label {
position: absolute;
bottom: 15px;
left: 50%;
width: 6px;
height: 6px;
display: block;
z-index: 1000;
border: 3px solid #fff;
border: 3px solid ;
-webkit-border-radius: 50%;
-moz-border-radius: 50%;
border-radius: 50%;
-webkit-transition: background-color linear 0.1s;
-moz-transition: background-color linear 0.1s;
-o-transition: background-color linear 0.1s;
-ms-transition: background-color linear 0.1s;
transition: background-color linear 0.1s;
}
.sp-slideshow input:checked + label {
background-color: #fff;
background-color: black;
}
.sp-selector-1, .button-label-1 {
margin-left: -80px;
}
.sp-selector-2, .button-label-2 {
margin-left: -38px;
}
.sp-selector-4, .button-label-4 {
margin-left: 38px;
}
.sp-selector-5, .button-label-5 {
margin-left: 80px;
}
.sp-arrow {
position: absolute;
top: 50%;
width: 28px;
height: 38px;
margin-top: -19px;
display: none;
opacity: 0.8;
cursor: pointer;
z-index: 1000;
background: transparent url(Images/arrows.png) no-repeat;
-webkit-transition: opacity linear 0.3s;
-moz-transition: opacity linear 0.3s;
-o-transition: opacity linear 0.3s;
-ms-transition: opacity linear 0.3s;
transition: opacity linear 0.3s;
}
.sp-arrow:hover{
opacity: 1;
}
.sp-arrow:active{
margin-top: -18px;
}
.sp-selector-1:checked ~ .sp-arrow.sp-a2,
.sp-selector-2:checked ~ .sp-arrow.sp-a3,
.sp-selector-3:checked ~ .sp-arrow.sp-a4,
.sp-selector-4:checked ~ .sp-arrow.sp-a5 {
right: 15px;
display: block;
background-position: top right;
}
.sp-selector-2:checked ~ .sp-arrow.sp-a1,
.sp-selector-3:checked ~ .sp-arrow.sp-a2,
.sp-selector-4:checked ~ .sp-arrow.sp-a3,
.sp-selector-5:checked ~ .sp-arrow.sp-a4 {
left: 15px;
display: block;
background-position: top left;
}
.sp-slideshow input:checked ~ .sp-content {
-webkit-transition: background-position linear 0.6s, background-color linear 0.8s;
-moz-transition: background-position linear 0.6s, background-color linear 0.8s;
-o-transition: background-position linear 0.6s, background-color linear 0.8s;
-ms-transition: background-position linear 0.6s, background-color linear 0.8s;
transition: background-position linear 0.6s, background-color linear 0.8s;
}
.sp-slideshow input:checked ~ .sp-content .sp-parallax-bg {
-webkit-transition: background-position linear 0.7s;
-moz-transition: background-position linear 0.7s;
-o-transition: background-position linear 0.7s;
-ms-transition: background-position linear 0.7s;
transition: background-position linear 0.7s;
}
input.sp-selector-1:checked ~ .sp-content {
background-position: 0 0;
background-color: #727b7f;
}
input.sp-selector-2:checked ~ .sp-content {
background-position: -100px 0;
background-color: #7f7276;
}
input.sp-selector-3:checked ~ .sp-content {
background-position: -200px 0;
background-color: #737f72;
}
input.sp-selector-4:checked ~ .sp-content {
background-position: -300px 0;
background-color: #79727f;
}
input.sp-selector-5:checked ~ .sp-content {
background-position: -400px 0;
background-color: #7d7f72;
}
input.sp-selector-1:checked ~ .sp-content .sp-parallax-bg {
background-position: 0 0;
}
input.sp-selector-2:checked ~ .sp-content .sp-parallax-bg {
background-position: -200px 0;
}
input.sp-selector-3:checked ~ .sp-content .sp-parallax-bg {
background-position: -400px 0;
}
input.sp-selector-4:checked ~ .sp-content .sp-parallax-bg {
background-position: -600px 0;
}
input.sp-selector-5:checked ~ .sp-content .sp-parallax-bg {
background-position: -800px 0;
}
.sp-slider {
position: relative;
left: 0;
width: 500%;
height: 100%;
list-style: none;
margin: 0;
padding: 0;
-webkit-transition: left ease-in 0.8s;
-moz-transition: left ease-in 0.8s;
-o-transition: left ease-in 0.8s;
-ms-transition: left ease-in 0.8s;
transition: left ease-in 0.8s;
}
.sp-slider > li {
color: #fff;
width: 20%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-o-box-sizing: border-box;
-ms-box-sizing: border-box;
box-sizing: border-box;
height: 100%;
padding: 0 60px;
float: left;
text-align: center;
opacity: 0.4;
-webkit-transition: opacity ease-in 0.4s 0.8s;
-moz-transition: opacity ease-in 0.4s 0.8s;
-o-transition: opacity ease-in 0.4s 0.8s;
-ms-transition: opacity ease-in 0.4s 0.8s;
transition: opacity ease-in 0.4s 0.8s;
}
.sp-slider > li img{
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-o-box-sizing: border-box;
-ms-box-sizing: border-box;
box-sizing: border-box;
display: block;
margin: 0 auto;
padding: 40px 0 50px 0;
max-height: 100%;
max-width: 100%;
}
input.sp-selector-1:checked ~ .sp-content .sp-slider {
left: 0;
}
input.sp-selector-2:checked ~ .sp-content .sp-slider {
left: -100%;
}
input.sp-selector-3:checked ~ .sp-content .sp-slider {
left: -200%;
}
input.sp-selector-4:checked ~ .sp-content .sp-slider {
left: -300%;
}
input.sp-selector-5:checked ~ .sp-content .sp-slider {
left: -400%;
}
input.sp-selector-1:checked ~ .sp-content .sp-slider > li:first-child,
input.sp-selector-2:checked ~ .sp-content .sp-slider > li:nth-child(2),
input.sp-selector-3:checked ~ .sp-content .sp-slider > li:nth-child(3),
input.sp-selector-4:checked ~ .sp-content .sp-slider > li:nth-child(4),
input.sp-selector-5:checked ~ .sp-content .sp-slider > li:nth-child(5){
opacity: 1;
}
@media screen and (max-width: 1024px){
.sp-slideshow { height: auto; }
}
@media screen and (max-width: 767px){
.sp-slideshow { height: auto; }
}
@media screen and (max-width: 320px){
.sp-slideshow { height: auto; }
}
et le html :
<body>
<div class="container">
<div class="sp-slideshow">
<input id="button-1" type="radio" name="radio-set" class="sp-selector-1" checked="checked" />
<label for="button-1" class="button-label-1"></label>
<input id="button-2" type="radio" name="radio-set" class="sp-selector-2" />
<label for="button-2" class="button-label-2"></label>
<input id="button-3" type="radio" name="radio-set" class="sp-selector-3" />
<label for="button-3" class="button-label-3"></label>
<input id="button-4" type="radio" name="radio-set" class="sp-selector-4" />
<label for="button-4" class="button-label-4"></label>
<input id="button-5" type="radio" name="radio-set" class="sp-selector-5" />
<label for="button-5" class="button-label-5"></label>
<label for="button-1" class="sp-arrow sp-a1"></label>
<label for="button-2" class="sp-arrow sp-a2"></label>
<label for="button-3" class="sp-arrow sp-a3"></label>
<label for="button-4" class="sp-arrow sp-a4"></label>
<label for="button-5" class="sp-arrow sp-a5"></label>
<div class="sp-content">
<div class="sp-parallax-bg"></div>
<ul class="sp-slider clearfix">
<li>
<picture>
<source media="(min-width: 16em)"
srcset="Images/mes_images.jpg 320w,
Images/mes_images.jpg 780w,
Images/mes_images.jpg 1024w"/>
<img src="Images/mes_images.jpg" alt="Le nom de l'image" />
</picture>
</li>
<li>
et ainsi de suite pour plus d'images.