W3docs

Tag HTML <br>

A tag HTML <br> insere uma quebra de linha. Veja como usá-la, como estilizá-la com CSS e exemplos práticos.

A tag HTML <br> insere uma única quebra de linha. Esta página explica quando uma quebra de linha faz parte do conteúdo (e <br> é a ferramenta certa), quando na verdade é espaçamento ou layout (e CSS é a ferramenta certa), como leitores de tela a tratam e quais alternativas — como <pre> ou a propriedade CSS white-space — são adequadas para versos e texto pré-formatado.

Definição

A tag HTML <br> define uma quebra de linha. Ao contrário da tag <p>, que cria uma quebra de parágrafo, a tag <br> simplesmente move o texto seguinte para a próxima linha sem adicionar espaço vertical extra.

A regra principal: use <br> somente quando a quebra de linha é parte do próprio conteúdo — texto que é inerentemente estruturado em linhas, como um endereço postal, um poema ou letras de música. Se uma quebra inicia um novo pensamento, isso é um parágrafo, então use <p>. Se a quebra é sobre espaçamento ou layout visual, isso é uma tarefa de apresentação para CSS, não para <br>.

Uma linha de texto dividida em duas linhas por uma tag br

Sintaxe

A tag <br> é um elemento vazio em HTML5, o que significa que não requer uma tag de fechamento. Porém, em XHTML, ela deve ser auto-fechada (<br />).

Exemplo da tag HTML <br>:

exemplo da tag br

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
  </head>
  <body>
    <h1>Example of the &lt;br&gt; tag usage.</h1>
    <p> Inside the paragraph, we can put the tag &lt;br /&gt;, <br /> to transfer a part of the text to another line if necessary.</p>
  </body>
</html>

Uso

Use <br> somente quando a quebra de linha pertence ao conteúdo. Os casos clássicos são endereços postais, poemas e letras de música, onde a estrutura de linhas carrega significado.

Exemplo: um endereço com <address> e <br>

Um endereço de rua é o uso exemplar de <br>: cada linha é genuinamente uma linha separada do mesmo bloco, não um parágrafo separado. O elemento <address> fornece a semântica de informação de contato, e <br> organiza as linhas.

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
  </head>
  <body>
    <address>
      Jane Doe<br />
      123 Main Street<br />
      Springfield, IL 62704<br />
      USA
    </address>
  </body>
</html>

Exemplo: poemas e letras de música

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
  </head>
  <body>
    <h1>Example of the &lt;br&gt; tag usage</h1>
    <blockquote>
      But I'm not the only one<br />
      I hope some day you'll join us<br />
      And the world will live as one.<br />
    </blockquote>
    <cite>John Lennon "imagine"</cite>
  </body>
</html>

Quando não usar <br>

<br> é para estrutura de linhas, não para espaçamento ou layout. Dois usos indevidos comuns:

  • Separar parágrafos. Uma quebra entre dois pensamentos distintos é um limite de parágrafo — envolva cada bloco em <p>.
  • Criar espaços verticais. Empilhar várias tags <br> para empurrar conteúdo para baixo é um truque de apresentação. O espaçamento pertence ao CSS, através da propriedade margin.
Perigo

Não use <br> para separar parágrafos ou adicionar espaçamento. Use elementos <p> juntamente com a propriedade CSS margin para controlar o espaço vertical.

Acessibilidade: por que <br><br> empilhado é prejudicial

Leitores de tela anunciam cada <br> como uma quebra de linha. Quando você empilha vários para simular um espaço — por exemplo <br><br><br> — o leitor diz "quebra de linha, quebra de linha, quebra de linha", o que é ruído que não transmite nenhum significado e interrompe o fluxo de leitura. Pior ainda, as linhas vazias não têm relação semântica com o texto ao redor, portanto a tecnologia assistiva não consegue ajudar o usuário a entender a estrutura do documento.

A correção correta é expressar o espaço como espaçamento em CSS. Substitua isto:

<p>First paragraph.</p>
<br /><br /><br />
<p>Second paragraph.</p>

por isto:

<style>
  .gap-below {
    margin-bottom: 3rem;
  }
</style>

<p class="gap-below">First paragraph.</p>
<p>Second paragraph.</p>

A versão CSS mantém os dois parágrafos como parágrafos adequados e deixa margin cuidar da distância visual, de modo que os leitores de tela não anunciam nada extra.

Alternativas para versos e texto pré-formatado

Quando um bloco inteiro é estruturado em linhas, controlar as quebras com CSS ou <pre> costuma ser mais limpo do que encher a marcação com tags <br>. Um guia rápido de decisão:

  • Algumas quebras intencionais dentro de texto fluente (um endereço, uma linha isolada em um parágrafo): use <br>.
  • Um bloco onde as quebras de linha no seu código-fonte são as quebras desejadas, mas o espaçamento deve ser comprimido (por exemplo, versos): defina white-space: pre-line no contêiner para que as novas linhas no HTML se tornem quebras de linha reais sem nenhum <br>.
  • Texto onde cada espaço e quebra de linha deve ser preservado exatamente (código, arte ASCII): use o elemento <pre>, que renderiza o conteúdo em fonte monoespaçada e respeita todos os espaços em branco.
<style>
  .poem {
    white-space: pre-line;
  }
</style>

<p class="poem">
  Roses are red
  Violets are blue
</p>

Aqui as quebras de linha vêm do texto-fonte, e white-space: pre-line as transforma em quebras visíveis — nenhum <br> é necessário.

Atributos

A tag <br> aceitava anteriormente um atributo clear para controlar como a quebra interagia com elementos flutuantes. Esse atributo foi removido no HTML5 e não deve ser usado.

AtributoValorStatus
clearall / left / right / noneRemovido no HTML5 — não usar

Para impedir que o conteúdo seja exibido ao lado de um elemento flutuante, use a propriedade CSS clear em vez disso:

.below-float {
  clear: both;
}

A tag <br> suporta os Atributos Globais e os Atributos de Evento.

Prática

Prática
Qual afirmação descreve corretamente a tag HTML br?
Qual afirmação descreve corretamente a tag HTML br?
Prática
Qual elemento é um elemento vazio (void) sem tag de fechamento e sem conteúdo?
Qual elemento é um elemento vazio (void) sem tag de fechamento e sem conteúdo?
Was this page helpful?