"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Comparação simples de imagens em CSS

Comparação simples de imagens em CSS

Publicado em 2024-11-04
Navegar:912

Truque simples para comparação de imagens em CSS

Simple Image Comparison in CSS

Vamos criar o controle deslizante do intervalo de entrada e duas divs abaixo dele com nomes de classe .front, .back dentro da div pai com nome de classe '.img-before-after '. Atribuir estilo embutido width:50% para .front div

Criar CSS para img-before-after, input-range, input-slider-thumb, front, voltar

body {
    background: #d6d6d6;
}

.img-before-after {
    position: relative;
    width: 900px;
    height: 600px;
}

input[type="range"] {
    background: transparent;
    width: 100%;
    height: 100%;
    margin: 0;
    outline: none;
    position: absolute;
    z-index: 2;
    -webkit-appearance: none;
}

input[type="range"]::-webkit-slider-thumb {
    width: 10px;
    height: 600px;
    cursor: pointer;
    -webkit-appearance: none;
    background: black;
}

Adicione imagem de fundo para .front e .back divs.

.front, .back {
    position: absolute;
    width: 100%;
    height: 600px;
    background: url("https://shorturl.at/kbKhz") no-repeat;
    background-size: cover;
    z-index: 1;
}

Vamos enviar .back div atrás de .front div com z-index e torná-lo em tons de cinza.

.back {
    filter: grayscale(1);
    z-index: 0;
}

Precisamos aumentar/diminuir a largura de '.front' div dinamicamente quando arrastamos o controle deslizante de entrada. Temos que anexar o valor do intervalo de entrada à largura de '.front' div.

oninput="this.nextElementSibling.style.width = `${this.value}%`"

Saída:

Simple Image Comparison in CSS

Abaixo você pode observar como a largura aumenta e diminui nas ferramentas de desenvolvimento quando arrastamos o intervalo do controle deslizante.

Simple Image Comparison in CSS

Você pode tentar diferentes variações de CSS, como blur, invert etc., como abaixo.

borrão

.back {
    filter: blur(5px);
    z-index: 0;
}

Simple Image Comparison in CSS

invertido

.back {
    filter: invert(1);
    z-index: 0;
}

Simple Image Comparison in CSS

Resultado final: com escala de cinza

Simple Image Comparison in CSS

Obrigado por assistir...

Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/prahalad/simple-image-comparison-in-css-48fd?1 Se houver alguma violação, entre em contato com [email protected] para excluí-la
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3