JSFiddle - React, Tailwind, and code Playground
by gabrieleromanato
HTML
<div id="slider">
<div class="slide" id="s1">Slide 1</div>
<div class="slide" id="s2">Slide 2</div>
<div class="slide" id="s3">Slide 3</div>
<div class="slide" id="s4">Slide 4</div>
<div class="slide" id="s5">Slide 5</div>
</div>
<div id="controls">
<a href="#s1">1</a>
<a href="#s2">2</a>
<a href="#s3">3</a>
<a href="#s4">4</a>
<a href="#s5">5</a>
</div>
CSS
#slider {
width: 500px;
height: 300px;
margin: 2em auto;
position: relative;
border: 4px solid #bbb;
overflow: hidden;
box-shadow: 2px 2px 2px #ddd;
}
div.slide {
width: 500px;
height: 300px;
text-align: center;
position: absolute;
top: 0;
background: #ccc;
line-height: 300px;
font-size: 2em;
-moz-transition: all 1s ease-in-out;
-webkit-transition: all 1s ease-in-out;
-o-transition: all 1s ease-in-out;
-ms-transition: all 1s ease-in-out;
transition: all 1s ease-in-out;
opacity: 0;
}
#s1 {
left: 0;
}
#s2 {
left: 500px;
}
#s3 {
left: 1500px;
}
#s4 {
left: 2000px;
}
#s5 {
left: 2500px;
}
#controls {
margin: 1em 0;
text-align: center;
}
#controls a {
display: inline-block;
width: 32px;
height: 32px;
margin-right: 5px;
background: #000;
color: #fff;
text-decoration: none;
border-radius: 50%;
line-height: 32px;
}
div.slide:target {
left: 0;
opacity: 1;
z-index: 10;
}