W3docs

Propriedade CSS text-underline-position

Use a propriedade CSS text-underline-position para definir a posição do sublinhado de um elemento. Veja valores e exemplos práticos.

A propriedade CSS text-underline-position controla onde o sublinhado é desenhado em relação ao texto. Ela só tem efeito quando um sublinhado já existe — ou seja, quando o elemento tem text-decoration (ou text-decoration-line) definido como underline. Sozinha, text-underline-position nunca desenha um sublinhado; ela apenas reposiciona um existente.

Por padrão (auto), o navegador posiciona o sublinhado próximo à linha de base alfabética do texto. Isso fica bem para a maioria dos textos em latim, mas a linha pode colidir com os descendentes de letras como g, j, p, q e y. Definir text-underline-position: under empurra a linha abaixo de todos os descendentes para que nunca os cruze — útil para listagens de código, matemática ou fórmulas químicas onde uma separação limpa é importante.

Esta página cobre a sintaxe, todos os valores, quando usar cada um e exemplos executáveis.

Quando devo usá-la?

  • Sublinhados mais limpos — use under para que a linha não cruze os descendentes (p, y, g) em vez de cortá-los.
  • Anotação de fórmulas — em expressões matemáticas ou químicas onde sobrepor a linha de base seria ambíguo.
  • Texto verticalleft e right escolhem de qual lado dos glifos a linha fica quando writing-mode é vertical.

A propriedade text-underline-position é suportada em todos os navegadores modernos.

Valor Inicialauto
Aplica-se aTodos os elementos.
HerdadaSim.
AnimávelNão.
VersãoCSS3
Sintaxe DOMobject.style.textUnderlinePosition = "under";

Nota: Em JavaScript, propriedades CSS com hífens são convertidas para camelCase (por exemplo, text-underline-position torna-se textUnderlinePosition).

Sintaxe

Valores CSS de text-underline-position

text-underline-position: auto | [ under || left || right ] | initial | inherit;

A palavra-chave auto não pode ser combinada com nenhum outro valor. As palavras-chave under, left e right podem ser combinadas (por exemplo, under left), mas left e right são mutuamente exclusivas — você pode escolher apenas uma delas, opcionalmente junto com under.

Exemplo da propriedade text-underline-position:

Exemplo de código CSS text-underline-position

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      p {
        text-decoration: underline;
        text-underline-position: under;
      }
    </style>
  </head>
  <body>
    <h2>Text underline-position property example</h2>
    <p>Lorem Ipsum is simply dummy text...</p>
  </body>
</html>

Resultado

Valor under do CSS text-underline-position

Exemplo da propriedade text-underline-position com o valor "under":

Exemplo de valor under do CSS text-underline-position

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      p {
        text-decoration: underline;
        text-underline-position: under;
        text-decoration-color: #1c87c9;
        font-size: 25px;
      }
    </style>
  </head>
  <body>
    <h2>Text underline-position property example</h2>
    <p>Lorem Ipsum is simply dummy text...</p>
  </body>
</html>

Exemplo com writing-mode vertical e o valor "left":

Em texto vertical, left e right determinam de qual lado dos caracteres o sublinhado é traçado.

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      p {
        writing-mode: vertical-rl;
        text-decoration: underline;
        text-underline-position: left;
        font-size: 25px;
      }
    </style>
  </head>
  <body>
    <h2>Vertical text with text-underline-position: left</h2>
    <p>Lorem Ipsum is simply dummy text.</p>
  </body>
</html>

Valores

ValorDescrição
autoPadrão. O navegador usa seu próprio algoritmo para posicionar a linha na linha de base alfabética ou logo abaixo dela.
underForça o sublinhado abaixo do conteúdo de texto para que não cruze os descendentes de letras como g, p e y.
leftEm um writing-mode vertical, posiciona o sublinhado no lado esquerdo do texto. Ignorado em texto horizontal.
rightEm um writing-mode vertical, posiciona o sublinhado no lado direito do texto. Ignorado em texto horizontal.
initialFaz a propriedade usar seu valor padrão (auto).
inheritHerda a propriedade do seu elemento pai.

Propriedades relacionadas

Prática

Prática
Qual afirmação sobre text-underline-position está correta?
Qual afirmação sobre text-underline-position está correta?
Was this page helpful?