Propriedade text-decoration: Sublinhado, riscado e mais
Aprenda a adicionar sublinhado, riscado e outras decorações ao texto.
Além de controlar a aparência básica do texto (fonte, tamanho, peso, estilo e alinhamento), o CSS também nos permite adicionar "decorações" visuais. A propriedade text-decoration é responsável por aplicar linhas decorativas ao texto, como sublinhado, linha sobreposta ou riscado.
A text-decoration é frequentemente usada para indicar links (sublinhado) ou para mostrar texto que foi removido ou corrigido (riscado).
Pense na text-decoration como as ferramentas que você usa para marcar um texto em um livro: você pode sublinhar algo importante, riscar algo que está errado, ou até mesmo fazer uma linha sobre o texto para chamar atenção.
Como usar a propriedade text-decoration
A sintaxe é simples: você seleciona o elemento e atribui um valor à propriedade text-decoration.
Sintaxe:
seletor {
text-decoration: valor;
}
Valores possíveis:
A propriedade text-decoration é uma shorthand (atalho) para várias sub-propriedades que controlam o tipo de linha, a cor da linha, o estilo da linha e a espessura da linha.
1. Tipos de Linha (text-decoration-line)
Estes são os valores mais comuns e podem ser usados diretamente na shorthand text-decoration.
none(padrão): Remove qualquer decoração de texto, incluindo o sublinhado padrão dos links.- Uso: Muito comum para remover o sublinhado de links (
a { text-decoration: none; }).
- Uso: Muito comum para remover o sublinhado de links (
underline: Adiciona uma linha abaixo do texto.- Uso: O mais comum para links.
overline: Adiciona uma linha acima do texto.- Uso: Menos comum, para efeitos visuais específicos.
line-through: Adiciona uma linha através do texto (riscado).- Uso: Para indicar texto removido, preços antigos, ou itens riscados em uma lista.
Você pode combinar underline, overline e line-through separando-os por espaço (ex: text-decoration: underline overline;).
2. Cor da Linha (text-decoration-color)
Define a cor da linha decorativa. Por padrão, a cor da linha é a mesma que a color do texto.
- Sintaxe:
text-decoration-color: valor-da-cor; - Exemplo:
text-decoration-color: red;
3. Estilo da Linha (text-decoration-style)
Define o estilo da linha decorativa.
solid(padrão): Linha contínua.double: Linha dupla.dotted: Linha pontilhada.dashed: Linha tracejada.wavy: Linha ondulada.Exemplo:
text-decoration-style: wavy;
4. Espessura da Linha (text-decoration-thickness)
Define a espessura da linha decorativa.
auto(padrão): O navegador escolhe a espessura.from-font: A espessura é determinada pela fonte.- Valores de comprimento (px, em, rem, etc.):
text-decoration-thickness: 2px; - Porcentagens:
text-decoration-thickness: 10%;(relativo aofont-size).
Usando a Shorthand text-decoration
Você pode usar a shorthand text-decoration para definir todas essas propriedades em uma única linha. A ordem dos valores não é estritamente fixa, mas uma ordem comum é: line color style thickness.
Exemplo de Shorthand:
seletor {
text-decoration: underline red wavy 2px;
}
Exemplo Prático:
Considere o seguinte HTML:
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta charset="UTF-8">
<title>Text Decoration</title>
<style>
body {
font-family: Arial, sans-serif;
margin: 20px;
font-size: 1.1rem;
}
p {
margin-bottom: 10px;
}
a {
color: blue; /* Cor padrão do link */
/* text-decoration: underline; (padrão do navegador) */
}
.no-underline {
text-decoration: none; /* Remove o sublinhado */
}
.underline-text {
text-decoration: underline;
}
.overline-text {
text-decoration: overline;
}
.line-through-text {
text-decoration: line-through;
}
.custom-decoration {
text-decoration: underline wavy red 2px; /* Shorthand */
/* Equivalente a:
text-decoration-line: underline;
text-decoration-color: red;
text-decoration-style: wavy;
text-decoration-thickness: 2px;
*/
color: green; /* A cor da linha é independente da cor do texto aqui */
}
.double-underline {
text-decoration-line: underline;
text-decoration-style: double;
text-decoration-color: purple;
}
.dashed-line-through {
text-decoration: line-through dashed orange; /* Shorthand */
}
</style>
</head>
<body>
<p>Este é um parágrafo normal.</p>
<p><a href="#" class="no-underline">Este é um link sem sublinhado.</a></p>
<p class="underline-text">Este texto está sublinhado.</p>
<p class="overline-text">Este texto tem uma linha acima.</p>
<p class="line-through-text">Este texto está riscado.</p>
<p class="custom-decoration">Este texto tem uma decoração personalizada.</p>
<p class="double-underline">Este texto tem um sublinhado duplo roxo.</p>
<p class="dashed-line-through">Preço antigo: <span style="font-size: 1.2em;">R$ 99,90</span> Preço novo: R$ 49,90</p>
</body>
</html>
Resultado: Observe as diferentes decorações aplicadas ao texto.
Boas Práticas:
- Links: É uma convenção forte sublinhar links para indicar que são clicáveis. Se você remover o sublinhado (
text-decoration: none;), certifique-se de que há outra indicação visual clara de que é um link (ex: mudança de cor, negrito, ícone, etc.) para acessibilidade. - Ênfase: Use
line-throughpara indicar texto removido ou preços antigos.overlineé menos comum, mas pode ser usado para efeitos específicos. - Moderação: Use decorações personalizadas (cores, estilos, espessuras) com moderação para não sobrecarregar o design e manter a legibilidade.
- Acessibilidade: Garanta que as decorações não dificultem a leitura, especialmente para usuários com deficiências visuais.
A propriedade text-decoration oferece um controle refinado sobre as linhas decorativas do seu texto, permitindo que você adicione significado e estilo visual de forma eficaz.