Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Por que usar o "transform: translate(-50%, -50%)"

Olá, gostaria de entender o motivo da utilização de transform: translate(-50%, -50%), pois pelo que entendi, o h2 foi movido -50% da página para esquerda e para baixo, depois utilizou top 50% e left 50%, não seria mais fácil apenas utilizar um top 50%, já que o titulo está ocupando width 100% e text align center? Vou exemplificar.

código usado pelo professor: .banner__titulo{ position: absolute; left: 50%; top: 50%; text-align: center; transform: translate(-50%, -50%); width: 100%; }

o que eu quis dizer: .banner__titulo{ position: absolute; top: 50%; text-align: center; width: 100%; }

obs: retirei os estilos, como font-family, para não ficar tão poluído a minha dúvida.

2 respostas
solução!
Olá José,

Então, a partir do momento em que utilizamos position: absolute, a "âncora" , ou a sua referência de posicionamento, deixa de ser o ponto central do elemento.

.banner__titulo{
    position: absolute; 
    left: 50%; 
    top: 50%; 
    text-align: center; 
    transform: translate(-50%, -50%);
    width: 100%; 
}

Neste caso, quando usamos as propriedades de top e left para deslocá-lo, ele se move 50% do topo e 50% do lado esquerda, a referencia, por assim dizer, está no ponto superior esquerdo.

Para corrigir isso, é preciso utilizar a propriedade transform com a função translate para deslocar o elemento 50% do seu tamanho para esquerda e 50% de sua altura para o topo, a fim de centralizá-lo.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Ahh, eu li e comnpreendi mais ou menos ksks, fiz alguns testes com uma div com fundo preto para ver como ele se molda conforme as mudanças no css, e de fato agora compreendo, obrigado!!