JSFiddle - React, Tailwind, and code Playground

by Brunno Romero

HTML

<div class="slider">
    
    <div class="yourText">
        <p>Seu texto conforme mostrado :D Por outro lado, a consolidação das estruturas exige a precisão e a definição do sistema de formação de quadros que corresponde às necessidades Por outro lado, a consolidação das estruturas exige a precisão e a definição do sistema de formação de quadros que corresponde às necessidades Por outro lado, a consolidação das estruturas exige a precisão e a definição do sistema de formação de quadros que corresponde às necessidades</p>
    </div>
    
    <input type="radio" name="slide_switch" id="id1" />
    <label for="id1">
        <img src="http://www.oxentemenina.com/wp-content/uploads/2015/06/minions-640x320.png" width="100" />
    </label>
    <img src="http://www.oxentemenina.com/wp-content/uploads/2015/06/minions-640x320.png" />
</div>

CSS

* {
    margin: 0;
    padding: 0;
}
body {
    background: #ccc;
}
.slider {
    width: 640px;
    position: relative;
    padding-top: 320px;
    margin: 100px auto;
    box-shadow: 0 10px 20px -5px rgba(0, 0, 0, 0.75);
}
 .slider>img {
    position: absolute;
    left: 0;
    top: 0;
    transition: all 0.5s;
}
.slider input[name='slide_switch'] {
    display: none;
}
.slider label {
    margin: 18px 0 0 18px;
    border: 3px solid #999;
    float: left;
    cursor: pointer;
    transition: all 0.5s;
    opacity: 0.6;
}
.slider label img {
    display: block;
}
 .slider input[name='slide_switch']:checked+label {
    border-color: #666;
    opacity: 1;
}

 .slider input[name='slide_switch'] ~ img {
    opacity: 0;
    transform: scale(1.1);
}

 .slider input[name='slide_switch']:checked+label+img {
    opacity: 1;
    transform: scale(1);
}
.yourText {
    width: 640px;
    height: 320px;
    position: absolute;
    padding: 10px;
    top: 0px;
}