Menu

Quebra de linha em HTML: a tag br e onde a linha quebra

Use <br> para começar uma linha nova dentro de um bloco de texto. Veja quando <br> é a escolha certa e quando um parágrafo é melhor, como manter as quebras do seu texto, como deixar palavras longas quebrarem com <wbr> e como impedir que uma linha quebre.

Esta página tem editores executáveis - edite, execute e veja a saída na hora.

Como fazer uma quebra de linha

Coloque <br> onde você quer que a linha nova comece. É um elemento vazio, então não tem tag de fechamento:

O endereço quebra exatamente em cada <br>. O segundo parágrafo fica numa linha só, mesmo que o código tenha uma quebra de linha: o HTML trata quebras de linha, tabs e sequências de espaços como um único espaço. É por isso que <br> existe.

<br>, <br/> e <br /> geram o mesmo elemento. Use a forma que o seu projeto usa (JSX e XHTML exigem a barra).

br vs p: quebra não é espaçamento

Um <br> termina uma linha dentro do mesmo parágrafo. Um <p> novo começa um novo parágrafo, com espaço acima e abaixo vindo das margens padrão. Empilhar tags <br> para criar espaço funciona, mas é frágil e diz a coisa errada:

As duas caixas parecem parecidas, mas a primeira é um único parágrafo para o leitor de tela, e mudar o espaçamento significa editar cada página. Na segunda, o espaço é uma linha de CSS.

Bons usos de <br>: endereços, poemas e letras de música, e linhas de uma assinatura, onde a quebra pertence ao texto. Para todo o resto, use parágrafos, listas ou títulos.

Mantendo as quebras de linha do seu texto

Quando o texto vem de outro lugar (uma caixa de comentário, um banco de dados, um script), ele tem caracteres de quebra de linha reais em vez de tags <br>. O CSS white-space: pre-line faz o navegador exibir essas quebras como quebras de linha:

A mesma string aparece numa linha na caixa cinza e em três linhas na azul. Isso também é mais seguro que montar tags <br> dentro do texto do usuário com innerHTML, o que permitiria que usuários injetassem HTML. Para manter também os espaços e a indentação, use white-space: pre, explicado na página de espaço em HTML.

Deixando palavras longas quebrarem: wbr

Uma palavra ou URL longa sem espaços pode transbordar de uma caixa estreita. <wbr> marca um ponto onde o navegador pode quebrar a linha se precisar, e não faz nada caso contrário:

O primeiro caminho sai da caixa; o segundo quebra nos pontos de <wbr>. Para texto que você não controla, a propriedade CSS overflow-wrap: anywhere quebra palavras longas em qualquer ponto.

Impedindo uma linha de quebrar

Às vezes você quer o contrário: manter "10 km" ou um número de telefone juntos. Duas ferramentas:

&nbsp; é um espaço em que o navegador não quebra a linha, então "10" e "km" ficam juntos. white-space: nowrap mantém um span inteiro numa linha. Troque &nbsp; por um espaço normal, ou remova a classe, e nessa largura os dois se dividem em duas linhas.

Erros comuns

  • Apertar Enter no código e esperar uma linha nova. Quebras de linha no HTML são espaços. Use <br>, elementos separados ou white-space: pre-line.
  • Empilhar <br><br><br> para dar espaço. Use parágrafos e margin.
  • Usar <br> para montar uma lista. Use <ul> ou <ol> com <li>, que os leitores de tela anunciam como lista.
  • Escrever </br>. Não é válido. Escreva <br>.
  • Adicionar <br> ao texto do usuário com innerHTML. Defina textContent e use white-space: pre-line.

Perguntas frequentes

Como fazer uma quebra de linha no HTML?

Coloque <br> onde a linha nova deve começar: Line one<br>Line two. Apertar Enter no arquivo HTML não funciona, porque os navegadores tratam as quebras de linha do código como espaços comuns.

Devo escrever <br>, <br/> ou <br />?

As três formas funcionam no HTML e geram o mesmo elemento. <br> é a forma HTML pura; as versões com barra são aceitas por compatibilidade com XHTML e JSX. </br> sozinho é inválido, embora os navegadores o leiam como mais uma quebra de linha.

Quando usar <br> em vez de <p>?

Use <br> quando a quebra de linha faz parte do próprio conteúdo, como num endereço ou num poema. Use elementos <p> separados para parágrafos separados, e margin no CSS para o espaçamento, em vez de empilhar tags <br>.

Como manter as quebras de linha de um texto sem adicionar tags <br>?

Dê ao elemento white-space: pre-line no CSS. O navegador passa a mostrar cada quebra de linha do texto como uma quebra real, e continua juntando os espaços extras. Isso é útil para comentários de usuários e textos carregados com JavaScript.

Como evitar uma quebra de linha no HTML?

Envolva o texto num elemento com white-space: nowrap, ou junte duas palavras com um espaço não separável &nbsp; para que fiquem sempre na mesma linha.

Coddy programming languages illustration

Aprenda a programar com o Coddy

COMEÇAR