W3docs

Propriedade CSS text-stroke

Use a propriedade CSS text-stroke para definir a largura e a cor do contorno. Veja os valores e pratique com exemplos.

A propriedade text-stroke desenha um contorno (stroke) ao redor de cada caractere do texto, dando controle sobre a borda dos glifos em vez de apenas seu preenchimento. É uma propriedade abreviada de duas propriedades individuais:

Esta página aborda a sintaxe, os valores aceitos, uma estratégia de fallback para navegadores sem suporte e exemplos executáveis.

Por que usar text-stroke

As fontes web são geralmente construídas a partir de gráficos vetoriais: a forma de um glifo é descrita por curvas e pontos matemáticos, não por pixels. Como o contorno é um caminho geométrico real, o navegador pode pintá-lo — exatamente como programas de desenho vetorial adicionam um stroke a uma forma. O text-stroke expõe essa capacidade no CSS, o que é útil para títulos de exibição grandes, logotipos ou letras "contornadas" onde um text-shadow não forneceria uma borda nítida.

Um padrão comum é um caractere apenas com contorno: defina text-fill-color como transparent para que o interior de cada glifo fique vazio e apenas o contorno seja visível.

Aviso

text-stroke não é uma propriedade padrão. Na prática, você deve escrevê-la com o prefixo -webkit- (-webkit-text-stroke). As implementações diferem ligeiramente entre os navegadores e o comportamento pode mudar no futuro, portanto, sempre forneça um fallback.

Suporte a navegadores e fallback

Como o suporte não é garantido, nunca dependa apenas do contorno. A propriedade text-fill-color substitui a propriedade color regular somente em navegadores que a reconhecem, portanto a técnica usual é:

p {
  color: #1c87c9;                    /* fallback: plain colored text everywhere */
  -webkit-text-fill-color: #f0f0f0;  /* honored only where text-stroke works */
  -webkit-text-stroke: 2px #1c87c9;
}

Navegadores sem -webkit-text-fill-color ignoram essas duas linhas e renderizam o texto #1c87c9 simples. Você pode escolher cores na referência de cores HTML.

Valor Inicial0 currentColor (ou seja, largura zero)
Aplica-se aTodos os elementos.
HerdadoNão.
AnimávelNão (as propriedades individuais text-stroke-width e text-stroke-color são).
VersãoCompatibility Standard
Sintaxe DOMobject.style.webkitTextStroke = "1px #666";

Sintaxe

Valores de CSS text-stroke

-webkit-text-stroke: <width> <color> | initial | inherit;

As duas partes são independentes de ordem e qualquer uma pode ser omitida. A largura aceita qualquer unidade CSS de comprimento (px, pt, em, cm, …); a cor aceita qualquer valor de cor CSS.

Exemplo da propriedade text-stroke:

Exemplo de código CSS text-stroke

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      p {
        font-size: 2.5em;
        margin: 0;
        -webkit-text-stroke: 2px #1c87c9;
      }
    </style>
  </head>
  <body>
    <h2>Text-stroke property example</h2>
    <p>Lorem Ipsum is simply dummy text...</p>
  </body>
</html>

Resultado

Exemplo da propriedade text-stroke com múltiplos valores:

Exemplo de CSS text-stroke com múltiplos valores

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      .a {
        font-size: 2.5em;
        margin: 0;
        -webkit-text-stroke: 1px #8ebf42;
      }
      .b {
        font-size: 2.5em;
        margin: 0;
        -webkit-text-stroke: 2pt #8ebf42;
      }
      .c {
        font-size: 2.5em;
        margin: 0;
        -webkit-text-stroke: 0.1cm #8ebf42;
      }
    </style>
  </head>
  <body>
    <h2>Text-stroke property example</h2>
    <p class="a">Lorem Ipsum is simply dummy text...</p>
    <p class="b">Lorem Ipsum is simply dummy text...</p>
    <p class="c">Lorem Ipsum is simply dummy text...</p>
  </body>
</html>

Aqui 1px, 2pt e 0.1cm são todas unidades de largura válidas, de modo que os três parágrafos recebem contornos progressivamente mais espessos.

Valores

ValorDescrição
lengthEspecifica a espessura do contorno.
colorEspecifica a cor do contorno. Nomes de cores, códigos de cores hexadecimais, rgb(), rgba(), hsl(), hsla() podem ser usados.
initialFaz a propriedade usar seu valor padrão.
inheritHerda a propriedade do elemento pai.

Prática

Prática
A propriedade text-stroke é uma abreviação das seguintes propriedades:
A propriedade text-stroke é uma abreviação das seguintes propriedades:
Was this page helpful?