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

[Dúvida] Lupa e texto no placeholder descentralizados

No figma, a lupa e o texto estão totalmente centralizados dentro da barra de pesquisas, na aula não. E também acontece um problema quando mudamos o dispositivo. Quando visualizei no meu celular, a lupa ficou sobre o texto. No inspector, se trocar o dispositivo para o Galaxy Samsung S8, acontece a mesma coisa, a lupa vai para cima do texto.

Eu tentei usar o flex no seletor do placeholder, dentro do arquivo banner.css, mas não consegui centralizar os itens. Ao que parece, a propriedade text-align só centraliza o texto e o flex parece não funcionar dentro do placeholder. Alguma sugestão?

2 respostas

Olá, Luiz! Tudo bem com você?

Acredito que o problema possa ser resolvido com algumas alterações no CSS. Primeiramente, o flexbox não funciona no placeholder, então essa abordagem não vai funcionar. No entanto, podemos tentar uma solução alternativa.

Você mencionou que a lupa e o texto não estão centralizados e que a lupa fica sobre o texto quando visualizada em um dispositivo móvel. Isso pode ser devido à maneira como o background está configurado. No código do curso, a lupa é adicionada como um background do input.

Para evitar que a lupa fique sobre o texto, você pode adicionar um padding à esquerda no input. Isso vai "empurrar" o texto para a direita, evitando que ele fique sobre a lupa. Por exemplo:

.banner__pesquisa {
  padding-left: 30px; /* Ajuste o valor conforme necessário */
}

Além disso, para garantir que a lupa e o texto estejam centralizados, você pode tentar ajustar a propriedade background-position. No código do curso, a lupa é posicionada com background-position: 1em;, mas você pode precisar ajustar esse valor para obter o alinhamento desejado. Por exemplo:

.banner__pesquisa {
  background-position: 10px 50%; /* Ajuste o valor conforme necessário */
}

Essa propriedade aceita dois valores: o primeiro é para a posição horizontal (esquerda/direita) e o segundo é para a posição vertical (cima/baixo). No exemplo acima, a lupa será posicionada 10px à direita do lado esquerdo do input, e no meio verticalmente.

Espero que essas sugestões possam te ajudar a resolver o problema. Lembre-se de ajustar os valores conforme necessário para obter o resultado desejado.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.
solução!

Oi Armano! Tudo bem?

Muito obrigado pela sua resposta. Com esses códigos eu consegui ajustar os elementos dentro do placeholder para que não ficassem sobrepostos e consegui centralizar para um dispositivo. Mas mesmo assim quando mudo o dispositivo, os elementos nem sempre ficam centralizados. Me incomodou um pouco ter que fazer isso por tentativa e erro dependendo do dispositivo, que não tenha uma forma de ficar sempre centralizado, independentemente do dispositivo. Mas tudo bem, por ora eu acredito que esteja resolvido.