-
Mont.16.5.23
Reprise d'un code trouvé sur le net: https://www.guyom-design.com/blog/demos/css/diapo-photos-3d-css3/
avec de nombreux exemples de montages par code CSS: https://www.guyom-design.com/blog/astuces/css/tuto_diapo_css/
5 images au ratio 16/9. Son code est destiné à des images au ratio 3/2.
Attention, ce code modifie la présentation de votre page !
<div class="slider"><input id="slider1" checked="checked" name="slider-3d" type="radio" /> <input id="slider2" name="slider-3d" type="radio" /> <input id="slider3" name="slider-3d" type="radio" /> <input id="slider4" name="slider-3d" type="radio" /> <input id="slider5" name="slider-3d" type="radio" /> <label for="slider1"><img src="http://ekladata.com/A8HYrPkJvqxD12ABZk4p2mgZDQk.jpg" alt="" /></label> <label for="slider2"><img src="http://ekladata.com/VHko7T9Ic5f1rxjYwSYy9MDJi5g.jpg" alt="" /></label> <label for="slider3"><img src="http://ekladata.com/yTlc3bTAEAUxrSKGxe3dV6zlj5k.jpg" alt="" /></label> <label for="slider4"><img src="http://ekladata.com/qe-6PJkpJGooyLJEg1XUJ4Tm344.jpg" alt="" /></label> <label for="slider5"><img src="http://ekladata.com/rWQcVrR9-Pc43vcdIRwN6XyBmA8.jpg" alt="" /></label></div>
<style><!--
*{box-sizing:border-box}
img{max-width:100%;display:block}
.slider {
position: relative;
max-width:clamp(60%,(100vw - 64rem)*1000,600px) ;
aspect-ratio:16/9;
margin: 5rem auto;
perspective: 600px;
transform-style: preserve-3d;
text-align: center;}
.slider input[name="slider-3d"]{
position: relative;
top: -40px;
left: 0;
display: inline-block;
width: 20px;
aspect-ratio: 1;
border-radius: 50%;
cursor: pointer;}input[name="slider-3d"]:checked {background-color:#6753ea;}
input[name="slider-3d"]:not(:checked){background-color:#c3c3c3}
.slider label {
position: absolute;
left: 0;
top: 0;
border-radius: 5px; box-sizing:border-box; border:4px solid white;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
transition: transform 400ms cubic-bezier(0.6, -1, 0.4, 1.5);}#slider1:checked ~ label[for=slider1],
#slider2:checked ~ label[for=slider2],
#slider3:checked ~ label[for=slider3],
#slider4:checked ~ label[for=slider4],
#slider5:checked ~ label[for=slider5] {
box-shadow: 0 12px 24px rgba(0, 0, 0, 0.6);transform: unset;cursor: unset}/* suivant */
#slider1:checked ~ label[for=slider2],
#slider2:checked ~ label[for=slider3],
#slider3:checked ~ label[for=slider4],
#slider4:checked ~ label[for=slider5],
#slider5:checked ~ label[for=slider1]
{box-shadow: 0 6px 12px rgba(0,0,0,.4), 0 2px 2px rgba(0,0,0, 0.2);transform: translate3d(15%, 0, -100px);}#slider1:checked ~ label[for=slider3],
#slider2:checked ~ label[for=slider4],
#slider3:checked ~ label[for=slider5],
#slider4:checked ~ label[for=slider1],
#slider5:checked ~ label[for=slider2]
{box-shadow: 0 1px 4px rgba(0,0,0,.4);transform: translate3d(30%, 0, -200px);}
#slider1:checked ~ label[for=slider4],
#slider2:checked ~ label[for=slider5],
#slider3:checked ~ label[for=slider1],
#slider4:checked ~ label[for=slider2],
#slider5:checked ~ label[for=slider3]
{box-shadow: 0 1px 4px rgba(0,0,0,.4);transform: translate3d(-30%, 0, -200px);}/* précédent */
#slider1:checked ~ label[for=slider5],
#slider2:checked ~ label[for=slider1],
#slider3:checked ~ label[for=slider2],
#slider4:checked ~ label[for=slider3],
#slider5:checked ~ label[for=slider4]
{box-shadow: 0 6px 12px rgba(0,0,0, 0.4), 0 2px 2px rgba(0,0,0, 0.2); transform: translate3d(-15%, 0, -100px);}
--></style>