Shefarol Soluções Web

Exemplo de Slider - Voltar

Carro 01
Primeira imagem
Carro 02
Segunda imagem
Carro 03
Terceira imagem
Carro 04
Quarta imagem
Carro 05
Quinta imagem
Carro 06
Sexta imagem
Carro 07
Sétima imagem
Carro 08
Oitava imagem
Código em HTML
<div class="options mx-auto">
    <div class="option active" style="--optionBackground:url(../images/carro-01.jpg);">
        <div class="shadow"></div>
        <div class="label">
            <div class="icon">
                <img src="images/carro-01.jpg" />
            </div>
            <div class="info">
                <div class="main">Carro 01</div>
                <div class="sub">Primeira imagem</div>
            </div>
        </div>
    </div>
    <div class="option" style="--optionBackground:url(../images/carro-02.jpg);">
        <div class="shadow"></div>
        <div class="label">
            <div class="icon">
                <img src="images/carro-02.jpg" />
            </div>
            <div class="info">
                <div class="main">Carro 02</div>
                <div class="sub">Segunda imagem</div>
            </div>
        </div>
    </div>
    <div class="option" style="--optionBackground:url(../images/carro-03.jpg);">
        <div class="shadow"></div>
        <div class="label">
            <div class="icon">
                <img src="images/carro-03.jpg" />
            </div>
            <div class="info">
                <div class="main">Carro 03</div>
                <div class="sub">Terceira imagem</div>
            </div>
        </div>
    </div>
    <div class="option" style="--optionBackground:url(../images/carro-04.jpg);">
        <div class="shadow"></div>
        <div class="label">
            <div class="icon">
                <img src="images/carro-04.jpg" />
            </div>
            <div class="info">
                <div class="main">Carro 04</div>
                <div class="sub">Quarta imagem</div>
            </div>
        </div>
    </div>
    <div class="option" style="--optionBackground:url(../images/carro-05.jpg);">
        <div class="shadow"></div>
        <div class="label">
            <div class="icon">
                <img src="images/carro-05.jpg" />
            </div>
            <div class="info">
                <div class="main">Carro 05</div>
                <div class="sub">Quinta imagem</div>
            </div>
        </div>
    </div>
    <div class="option" style="--optionBackground:url(../images/carro-06.jpg);">
        <div class="shadow"></div>
        <div class="label">
            <div class="icon">
                <img src="images/carro-06.jpg" />
            </div>
            <div class="info">
                <div class="main">Carro 06</div>
                <div class="sub">Sexta imagem</div>
            </div>
        </div>
    </div>
    <div class="option" style="--optionBackground:url(../images/carro-07.jpg);">
        <div class="shadow"></div>
        <div class="label">
            <div class="icon">
                <img src="images/carro-07.jpg" />
            </div>
            <div class="info">
                <div class="main">Carro 07</div>
                <div class="sub">Sétima imagem</div>
            </div>
        </div>
    </div>
    <div class="option" style="--optionBackground:url(../images/carro-08.jpg);">
        <div class="shadow"></div>
        <div class="label">
            <div class="icon">
                <img src="images/carro-08.jpg" />
            </div>
            <div class="info">
                <div class="main">Carro 08</div>
                <div class="sub">Oitava imagem</div>
            </div>
        </div>
    </div>
</div>
Código em CSS
body .options {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    overflow: hidden;
    min-width: 600px;
    max-width: 900px;
    width: calc(100% - 100px);
    height: 400px;
}
@media screen and (max-width: 718px) {
    body .options {
        min-width: 520px;
    }
    body .options .option:nth-child(5) {
        display: none;
    }
}
@media screen and (max-width: 638px) {
    body .options {
        min-width: 440px;
    }
    body .options .option:nth-child(4) {
        display: none;
    }
}
@media screen and (max-width: 558px) {
    body .options {
        min-width: 360px;
    }
    body .options .option:nth-child(3) {
        display: none;
    }
}
@media screen and (max-width: 478px) {
    body .options {
        min-width: 280px;
    }
    body .options .option:nth-child(2) {
        display: none;
    }
}
body .options .option {
    position: relative;
    overflow: hidden;
    min-width: 60px;
    margin: 10px;
    background: var(--optionBackground, var(--defaultBackground, #e6e9ed));
    background-size: auto 120%;
    background-position: center;
    cursor: pointer;
    transition: 0.5s cubic-bezier(0.05, 0.61, 0.41, 0.95);
}
body .options .option.active {
    flex-grow: 10000;
    transform: scale(1);
    max-width: 600px;
    margin: 0px;
    border-radius: 40px;
    background-size: auto 100%;
}
body .options .option.active .shadow {
    box-shadow: inset 0 -120px 120px -120px black,
    inset 0 -120px 120px -100px black;
}
body .options .option.active .label {
    bottom: 20px;
    left: 20px;
}
body .options .option:not(.active) {
    flex-grow: 1;
    border-radius: 30px;
}
body .options .option:not(.active) .label {
    bottom: 10px;
    left: 10px;
}
body .options .option .shadow {
    position: absolute;
    bottom: 0px;
    left: 0px;
    right: 0px;
    height: 120px;
    transition: 0.5s cubic-bezier(0.05, 0.61, 0.41, 0.95);
}
body .options .option .label {
    display: flex;
    position: absolute;
    right: 0px;
    height: 40px;
    transition: 0.5s cubic-bezier(0.05, 0.61, 0.41, 0.95);
}
body .options .option .label .icon img {
    min-width: 20px;
    max-width: 20px;
}
body .options .option .label .icon {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    min-width: 40px;
    max-width: 40px;
    height: 40px;
    border-radius: 100%;
    background-color: #212123;
    color: var(--defaultBackground);
}
body .options .option .label .info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-left: 10px;
    color: white;
    white-space: pre;
}
body .options .option .label .info .main {
    font-weight: bold;
    font-size: 1.2rem;
}
Código em Javascript
$(".option").click(function () {
    $(".option").removeClass("active");
    $(this).addClass("active");
});