Text-indent no CSS não funciona: a solução
Está tentando utilizar o recurso text-indent mas ele não funciona? Veja aqui algumas curiosidades sobre seu funcionamento e como solucionar esse problema de forma rápida.
Um recurso que utilizo com certa frequência é o text-indent do CSS. Ele serve para posicionar o texto mais para um lado ou para o outro. Por exemplo: se você tem uma div e define seu text-indent como 12px, o texto iniciará com 12px de largura da margem. Recurso interessante para formatar parágrafos.
Também muito utilizado (acho que a maioria das vezes serve para isso), é para substituir textos por imagens. Explico. Se você fez uma imagem cheia de textos e com formatação que complica fazer via código, a solução é simples: coloca o text-indent: -9999999px e a imagem de background. Feito! O texto está no código e a imagem na tela.
É importante ter o texto escrito no código por questões de SEO. No entanto, não pese a mão no recurso. O Google, que tudo sabe, sabe quando você está tentando enganá-lo. Então, sempre que possível, evite.
Ok, mas vamos ao problema. Como eu disse, sempre utilizo esse recurso com tranquilidade. Mas disse desses não tinha jeito de fazê-lo funcionar.
Um dos motivos – e este eu já sabia – é que o atributo não funciona com elementos inline. Ou seja, um <a> ou <span>, por exemplo. Apenas com elementos do tipo block ou inline-block, como parágrafos ou divs. Mesmo assim, basta setar display:inline-block ou block em qualquer elemento que ele irá funcionar tranquilamente.
O que eu não sabia é que text-indent não funciona com textos alinhados a direita ou centralizados. Ok, eu já sabia que a margem sempre fica à esquerda, mas como eu iria colocar um valor negativo muito grande para ocultá-lo da tela, como iria imaginar que não tinha que alinhar o texto mesmo assim? Pois é, vivendo e aprendendo.
Então, para que o text-indent funcione são necessários pelo menos dois requisitos:
- display:inline-block ou display-block: o atributo não funciona com display: inline;
- text-align: left. Sem isso o atributo também não funciona.
Para saber mais, leia a documentação do W3C e veja o post do Stack Overflow onde encontrei essa solução. Este não é um truque excepcional, mas uma curiosidade interessante e que, muita vezes, por detalhes, quebramos a cabeça até encontrar a solução.
Sobre o autor
Fernando Acosta
Publicitário e desenvolvedor WordPress especializado em WooCommerce. Crio plugins e compartilho soluções baseadas em problemas reais de lojas virtuais.
Continue explorando
Outras soluções práticas
WooCommerce é inseguro? Por que ele tem mais vulnerabilidades reportadas (e por que isso é bom)
Se você já pesquisou sobre segurança de plataformas de e-commerce, provavelmente encontrou listas enormes de vulnerabilidades associadas ao WooCommerce e ao WordPress. Números como…
Ler artigoO que fazer após migrar uma nova URL
Após copiar todos os arquivos para o novo servidor, importar o banco de dados, e apontar o domínio suas imagens estarão quebradas, já que…
Ler artigoComo corrigir e-mails não enviados no WordPress e WooCommerce
Descubra se o WordPress gerou o e-mail, se o servidor enviou e por que a mensagem pode não ter chegado ao destinatário.
Ler artigoPlugins WooCommerce realmente úteis