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:
é 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 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 ouwhite-space: pre-line. - Empilhar
<br><br><br>para dar espaço. Use parágrafos emargin. - 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 cominnerHTML. DefinatextContente usewhite-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 para que fiquem sempre na mesma linha.