Neste artigo veremos como fazer um zoom em imagem com CSS, sem utilizar JavaScript ou alguma lib, vamos de uma forma fácil atingir o objetivo com CSS puro.
A ideia central da técnica é adicionar uma div externa que vai englobar a imagem, e ao ser passado o ponteiro do mouse por cima (hover) ativar o zoom
Então acaba que o HTML deste projeto é bem simples, apenas uma div com uma tag img
E a técnica do zoom é realizada pela propriedade scale do CSS
Além disso, um uso muito comum é nas telas de produto de e-commerce, onde o cliente precisa ver mais detalhes do produto e aí aplica-se o zoom
Zoom com CSS: código HTML
Como mencionei acima o código HTML é bem simples, veja:
<div class="container"> <img src="garrafa_zoom.jpg"> </div>
Neste caso, temos uma div com class container que vai abrigar a imagem
E também a própria imagem dentro dessa div, que eu chamei de garrafa_zoom.jpg e está na mesma pasta do HTML
Agora vamos ao código CSS
Zoom com CSS: código CSS
Vamos definir um tamanho para o container, adicionar uma margem para descolar das bordas do navegador e também uma borda, para marcar o fim da div
Na imagem vamos definir que a sua largura é 100% do pai, ou seja, a imagem ficará do tamanho do container
Além disso vamos adicionar uma transição para o zoom não ficar tão repentino
E por fim vamos adicionar o pseudo-seletor :hover, para quando o ponteiro do mouse é colocado em cima da imagem ativar o scale
Este scale vai aumentar a imagem, baseado no valor da regra
Veja o código final do CSS:
.container { position: relative; border: 1px solid #000; overflow: hidden; width: 400px; margin: 100px; } .container img { max-width: 100%; -moz-transition: all 0.5s; -webkit-transition: all 0.5s; transition: all 0.5s; } .container:hover img { -moz-transform: scale(1.2); -webkit-transform: scale(1.2); transform: scale(1.2); }
Perceba também que adicionamos -moz- e -webkit-, isso serve para utilizar as funcionalidades nativas dos navegadores para a regra do scale, por exemplo
O -moz- faz essa função para o navegador Firefox e o -webkit- para o Safari e Opera
Então as vezes algumas regras não estão padronizadas ainda nos navegadores, mas sim as funções nativas, então com este recurso você resolve este problema
Dadas as explicações, vamos ver o resultado final
Aqui a imagem com os estilos básicos e a borda aplicada no container
Quer se especializar em Desenvolvimento Web? Veja o nosso catálogo de cursos.
Aqui temos a imagem após o :hover com o zoom aplicado pela propriedade scale
Assim o zoom em imagem com CSS está pronto!
Conclusão
Vimos neste artigo que aplicar zoom com CSS é bastante fácil
Apenas devemos criar uma div pai, que vai controlar o tamanho da imagem que está dentro da div
Assim aplicamos a regra scale por meio do :hover, e podemos adicionar uma transition na imagem para ter uma transição mais suave da animação
E por hoje é isso, até o próximo post!
Confira também nosso curso de HTML e CSS gratuito no YouTube clicando aqui! Onde criamos um site do 0 até o resposivo
bom
muito obrigado tenho 14 anos e quero ter o meu próprio site e você não sabe o quanto você me ajudou