W3docs

Propriedade CSS outline-color

A propriedade CSS outline-color define a cor do contorno de um elemento. Veja valores e exemplos.

A propriedade CSS outline-color define a cor do contorno de um elemento — a linha desenhada logo fora da borda.

Um contorno é semelhante a uma borda, mas com duas diferenças importantes:

  • Não ocupa espaço. A largura e a altura de um elemento não incluem o contorno, portanto adicionar ou alterar um contorno nunca desloca o layout ao redor (ao contrário de uma borda, que faz parte do modelo de caixa).
  • Não pode ter lados individuais. Um contorno envolve o elemento inteiro de uma vez; não é possível definir uma cor diferente apenas no topo ou na esquerda, como se pode fazer com border-color.

Como os contornos ficam fora da caixa e não provocam refluxo na página, eles são a forma padrão de indicar o foco por teclado. Quando o usuário navega com Tab por links, botões e campos de formulário, o navegador desenha um contorno de foco para que ele saiba onde está. Isso torna outline-color uma ferramenta de acessibilidade em primeiro lugar e decorativa em segundo — tenha cuidado antes de remover ou ocultar contornos de foco.

Por que usar outline-color

Você usará outline-color principalmente para:

  • Estilizar estados de foco — dar a :focus ou :focus-visible uma cor de contorno de alto contraste e alinhada à marca, em vez do padrão do navegador.
  • Destacar um elemento sem alterar seu tamanho ou deslocar seus vizinhos.
  • Depurar layout — um contorno brilhante temporário mostra a extensão exata de um elemento sem afetar o modelo de caixa.
Informação

outline-color não tem efeito visível por si só. Um contorno só é renderizado quando também possui um estilo, portanto combine-o com o atalho outline ou com a propriedade outline-style (seu estilo padrão é none).

Valores de cor aceitos

Você pode definir a cor do contorno com qualquer cor CSS padrão: um nome de cor (red), um código hexadecimal (#1c87c9), ou as notações funcionais rgb(), rgba(), hsl() e hsla(). A palavra-chave currentColor também é útil — faz o contorno corresponder à cor do texto do elemento. Para a lista completa de formatos de cor, consulte a seção de cores HTML.

Valor inicialinvert
Aplica-se aTodos os elementos.
HerdadaNão.
AnimávelSim. A cor é animável.
VersãoCSS2
Sintaxe DOMobject.style.outlineColor = "#8ebf42";

Sintaxe

Sintaxe CSS outline-color

outline-color: invert | color | initial | inherit;

Exemplo da propriedade outline-color:

Exemplo de código CSS outline-color

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      p {
        border: 3px solid #ccc;
        outline-style: double;
        outline-color: invert;
      }
    </style>
  </head>
  <body>
    <h2>Outline-color property example</h2>
    <p>Invert default value is applied.</p>
  </body>
</html>

Resultado

CSS outline-color todos os valores

Exemplo da propriedade outline-color com cores hexadecimal, RGB, RGBA, HSL e HSLA:

Exemplo CSS outline-color com todos os valores

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      .p1 {
        outline-style: solid;
        outline-color: #1c87c9;
      }
      .p2 {
        outline-style: solid;
        outline-color: hsl(65, 100%, 50%);
      }
      .p3 {
        outline-style: solid;
        outline-color: hsla(84, 49%, 50%, 1);
      }
      .p4 {
        outline-style: solid;
        outline-color: rgb( 224, 0, 0);
      }
      .p5 {
        outline-style: solid;
        outline-color: rgba(204, 204, 204, 1);
      }
    </style>
  </head>
  <body>
    <h2>Outline-color property example</h2>
    <p class="p1">This is a paragraph with hexadecimal blue outline.</p>
    <p class="p2">This is a paragraph with hsl yellow outline.</p>
    <p class="p3">This is a paragraph with hsla green outline.</p>
    <p class="p4">This is a paragraph with rgb red outline.</p>
    <p class="p5">This is a paragraph with rgba grey outline.</p>
  </body>
</html>

Cada parágrafo mantém seu layout idêntico aos demais — apenas a cor do contorno muda — porque o contorno fica fora da caixa e não adiciona largura nem altura.

Exemplo de estilização de um contorno de foco:

O uso mais comum de outline-color no mundo real é tornar o foco do teclado visível e alinhado à marca. Aqui, um link recebe um contorno de foco azul espesso em vez do padrão do navegador:

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      a:focus-visible {
        outline-style: solid;
        outline-width: 3px;
        outline-color: #1c87c9;
        outline-offset: 2px;
      }
    </style>
  </head>
  <body>
    <h2>Focus outline example</h2>
    <p>Press <kbd>Tab</kbd> to move focus to the link below:</p>
    <a href="#">Focus me with the keyboard</a>
  </body>
</html>

A propriedade outline-offset afasta o contorno alguns pixels do elemento para que não toque o texto. Use :focus-visible em vez de :focus para que o contorno apareça para usuários de teclado, mas não em cliques com o mouse.

Aviso

Evite outline: none ou outline-color: transparent em elementos focalizáveis, a menos que substitua o indicador de foco por algo igualmente visível. Removê-lo torna a página inutilizável para usuários que dependem apenas do teclado.

Valores

ValorDescriçãoExperimente
invertInverte qualquer cor aplicada ao fundo. Esse valor garante a visibilidade do contorno independentemente da cor de fundo. Este é o valor padrão da propriedade.Experimente »
colorDefine a cor do contorno. Podem ser usados nomes de cores, códigos hexadecimais, rgb(), rgba(), hsl(), hsla() ou a palavra-chave currentColor.Experimente »
initialDefine a propriedade com seu valor padrão.Experimente »
inheritHerda a propriedade do elemento pai.

Propriedades relacionadas

outline-color é uma das três propriedades individuais que compõem o atalho outline:

  • outline-style — define o estilo da linha (solid, dashed, double, …). Obrigatório para que o contorno seja exibido.
  • outline-width — define a espessura da linha.
  • outline-offset — define o espaço entre o contorno e a borda do elemento.

Escrever outline: 3px solid #1c87c9; é um atalho para definir largura, estilo e cor ao mesmo tempo.

Prática

Prática
O que é verdadeiro sobre a propriedade Outline Color em CSS?
O que é verdadeiro sobre a propriedade Outline Color em CSS?
Was this page helpful?