SW Core
SW Core / CSS / Quebra de texto

Quebra de texto CSS

Cortar texto comprido com "…", parar numa linha exata e evitar título torto — sem JavaScript.

O que é

Em card de notícia, lista de produtos ou tabela, o texto quase nunca tem o tamanho certo: um título é curto, o outro ocupa quatro linhas e a grade fica toda desalinhada. Estas classes resolvem isso: truncate corta numa linha com reticências, clamp-2 (ou 1, 3, 4) para exatamente naquela linha, twr-b deixa as linhas de um título com tamanhos parecidos, twr-p evita uma palavra sozinha na última linha, e wordb-* quebra palavras gigantes (e-mail, link, código de rastreio) que estouram a caixa.

É só CSS. O corte é visual: o texto inteiro continua no HTML, então o Google e o leitor de tela leem tudo. O corte só acontece quando a caixa tem largura limitada (dentro de um card, de uma coluna da grade, de uma célula de tabela).

Quando usar

  • Nome de produto ou e-mail numa linha só (lista, tabela, menu): truncate.
  • Resumo de card que precisa terminar na mesma altura em todos os cards: clamp-2 ou clamp-3.
  • Título grande (topo de página, chamada): twr-b — as linhas ficam equilibradas.
  • Parágrafo em que sobra uma palavra solitária na última linha: twr-p.
  • Link, e-mail ou código comprido que vaza da caixa no celular: wordb-bw.

Comece aqui

  1. 1

    Coloque o SW Core no <head>. As classes estão no arquivo principal.

    <link rel="stylesheet" href="swcore/swcore.min.css">
  2. 2

    Ponha a classe no texto. Aqui o resumo para na 2ª linha, com reticências.

    Site profissional para pequenas empresas, com loja virtual, agenda on-line e botão de WhatsApp em todas as páginas.

    <p class="clamp-2">Site profissional para pequenas empresas, com loja virtual, agenda on-line e botão de WhatsApp em todas as páginas.</p>

Todas as variações

Cada quadro abaixo é o componente de verdade, rodando. O código embaixo é exatamente o que está no quadro: copie e cole.

1. Cortar com reticências

Todos os quadros têm o mesmo texto. Muda só a classe. truncate é para uma linha; clamp-N para em N linhas.

Site profissional para pequenas empresas, com loja virtual, agenda on-line e botão de WhatsApp em todas as páginas.

Sem classe — o texto inteiro <p class="m-0 t-p">Site profissional para pequenas empresas, com loja virtual, agenda on-line e botão de WhatsApp em todas as páginas.</p>

Site profissional para pequenas empresas, com loja virtual, agenda on-line e botão de WhatsApp em todas as páginas.

truncate — uma linha, com "…" <p class="truncate m-0 t-p w-fl">Site profissional para pequenas empresas, com loja virtual, agenda on-line e botão de WhatsApp em todas as páginas.</p>

Site profissional para pequenas empresas, com loja virtual, agenda on-line e botão de WhatsApp em todas as páginas.

clamp-1 — para na 1ª linha <p class="clamp-1 m-0 t-p">Site profissional para pequenas empresas, com loja virtual, agenda on-line e botão de WhatsApp em todas as páginas.</p>

Site profissional para pequenas empresas, com loja virtual, agenda on-line e botão de WhatsApp em todas as páginas.

clamp-2 — para na 2ª linha <p class="clamp-2 m-0 t-p">Site profissional para pequenas empresas, com loja virtual, agenda on-line e botão de WhatsApp em todas as páginas.</p>

Site profissional para pequenas empresas, com loja virtual, agenda on-line e botão de WhatsApp em todas as páginas.

clamp-3 — para na 3ª linha <p class="clamp-3 m-0 t-p">Site profissional para pequenas empresas, com loja virtual, agenda on-line e botão de WhatsApp em todas as páginas.</p>

Site profissional para pequenas empresas, com loja virtual, agenda on-line e botão de WhatsApp em todas as páginas. Hospedagem inclusa e suporte por WhatsApp.

clamp-4 — para na 4ª linha <p class="clamp-4 m-0 t-p">Site profissional para pequenas empresas, com loja virtual, agenda on-line e botão de WhatsApp em todas as páginas. Hospedagem inclusa e suporte por WhatsApp.</p>

2. Título e parágrafo bonitos

O navegador escolhe onde quebrar a linha. Compare os pares: sem classe, a última linha pode ficar com uma palavra só.

Seu site pronto em sete dias úteis

Título sem classe <h4 class="m-0">Seu site pronto em sete dias úteis</h4>

Seu site pronto em sete dias úteis

twr-b — linhas equilibradas (título) <h4 class="twr-b m-0">Seu site pronto em sete dias úteis</h4>

Atendemos salões, clínicas, oficinas e lojas de bairro em todo o Brasil.

Parágrafo sem classe <p class="m-0 t-p">Atendemos salões, clínicas, oficinas e lojas de bairro em todo o Brasil.</p>

Atendemos salões, clínicas, oficinas e lojas de bairro em todo o Brasil.

twr-p — sem palavra sozinha no fim (parágrafo) <p class="twr-p m-0 t-p">Atendemos salões, clínicas, oficinas e lojas de bairro em todo o Brasil.</p>

3. Palavra gigante que vaza

Link, e-mail, código de rastreio: não têm espaço, então o navegador não sabe onde quebrar e o texto sai da caixa.

contato@minhaempresadeexemplo.com.br

Sem classe — vaza da caixa <p class="m-0 t-p w-fl bd r-m p-p">contato@minhaempresadeexemplo.com.br</p>

contato@minhaempresadeexemplo.com.br

wordb-bw — quebra só a palavra que não cabe <p class="wordb-bw m-0 t-p w-fl bd r-m p-p">contato@minhaempresadeexemplo.com.br</p>

Rastreio: BR1234567890123456789XYZ

wordb-ba — quebra em qualquer letra <p class="wordb-ba m-0 t-p w-fl bd r-m p-p">Rastreio: BR1234567890123456789XYZ</p>

Tabela de opções

PalavraO que fazExemplo
Cortar
truncateUma linha só; o que não cabe vira "…".<p class="truncate">
clamp-1Para na 1ª linha, com "…".<p class="clamp-1">
clamp-2Para na 2ª linha, com "…".<p class="clamp-2">
clamp-3Para na 3ª linha, com "…" (o mais usado em resumo de card).<p class="clamp-3">
clamp-4Para na 4ª linha, com "…".<p class="clamp-4">
Onde quebrar a linha
twr-bEquilibra as linhas (todas com tamanho parecido). Para títulos.<h2 class="twr-b">
twr-pEvita uma palavra sozinha na última linha. Para parágrafos.<p class="twr-p">
Palavra sem espaço
wordb-bwQuebra só a palavra que não cabe; o resto do texto quebra normal.<p class="wordb-bw">
wordb-baQuebra em qualquer letra, sempre. Para códigos e IDs.<td class="wordb-ba">

Receitas prontas — usos reais

Situações que aparecem em quase todo site. Copie a que servir.

Grade de notícias com cards da mesma altura Ao vivo

Prefeitura abre inscrições para a feira de artesanato de fim de ano

As inscrições vão até o dia 30 e são gratuitas para quem mora na cidade. Cada expositor pode levar até dois ajudantes e precisa trazer a própria mesa.

Chuva volta no fim de semana

Previsão de pancadas à tarde.

Escola de música oferece aulas gratuitas de violão e teclado para iniciantes

As turmas começam em outubro, às terças e quintas, e as vagas são limitadas. Não é preciso ter instrumento.

<article sw-card>
  <img src="/noticia.jpg" alt="" class="w-fl blk">
  <div class="sw-card-bdy">
    <h4 class="twr-b clamp-2 mt-0">Título da notícia</h4>
    <p class="clamp-3 m-0 t-mut t-p">Resumo da notícia…</p>
  </div>
</article>
Lista de clientes num painel (nome e e-mail numa linha) Ao vivo
Maria Aparecida dos Santos Oliveiramaria.aparecida.oliveira@exemplo.com.br
João Pedrojoao@exemplo.com
Ana Clara Ribeiro Figueiredoana.figueiredo.atendimento@exemplo.com.br
<div class="flx alc gap-3 p-p">
  <strong class="truncate">Maria Aparecida dos Santos Oliveira</strong>
  <span class="truncate t-mut t-p">maria.aparecida.oliveira@exemplo.com.br</span>
</div>
Título de topo de página equilibrado Ao vivo

Sistema de agendamento para salão de beleza, com lembrete automático no WhatsApp

<h1 class="twr-b">Sistema de agendamento para salão de beleza, com lembrete automático no WhatsApp</h1>
Código de rastreio que não estoura no celular Ao vivo

Seu código de rastreio:

BR1234567890123456789XYZBR

<p class="t-mut t-p">Seu código de rastreio:</p>
<p class="wordb-ba fw6">BR1234567890123456789XYZBR</p>

Precisa de quê

  • swcore.min.css — todas as classes desta página.

Cuidados — erros comuns

  • Não coloque padding no mesmo elemento do clamp-*: a linha seguinte aparece pela metade embaixo. Ponha o padding no pai (como o sw-card-bdy da receita) e o clamp-* no texto.
  • truncate num <span> solto no meio do texto não corta: o corte só funciona em bloco (<p>, <div>, <strong class="blk">) ou em item de uma linha flx, como na receita da lista.
  • truncate e clamp-* só cortam se a caixa tiver largura limitada. Num texto solto na página inteira, pode não haver o que cortar.
  • O corte é só visual: não use para "esconder" informação. O texto inteiro continua no HTML e aparece se a pessoa copiar ou usar leitor de tela.
  • Não use wordb-ba em texto normal: ele quebra qualquer palavra no meio ("pala-vra"). Para texto normal com um link comprido, use wordb-bw.

O que ele não faz

  • twr-b funciona em textos curtos (até umas 6 linhas); em parágrafo longo o navegador ignora. Em navegador antigo, o texto só quebra do jeito normal — nada estraga.
  • O clamp-* vai até 4 linhas. Para mais, não há classe pronta.