Ok, isso está realmente me confundindo. Eu tenho algum conteúdo dentro de uma div assim:
<div style="background-color: green; width: 200px; height: 300px;">
Thisisatest.Thisisatest.Thisisatest.Thisisatest.Thisisatest.Thisisatest.
</div>
No entanto, o conteúdo excede o DIV (conforme o esperado) porque a 'palavra' é muito longa.
Como forçar o navegador a 'quebrar' a palavra, quando necessário, para caber todo o conteúdo interno?
html
css
line-breaks
Nathan Osman
fonte
fonte
Respostas:
Usarword-wrap:break-word;
Até funciona no IE6, o que é uma surpresa agradável.word-wrap: break-word
foi substituído pelooverflow-wrap: break-word;
que funciona em todos os navegadores modernos. O IE, sendo um navegador inoperante, sempre confiará no obsoleto e fora do padrãoword-wrap
.Os usos existentes de
word-wrap
hoje ainda funcionam, pois são um alias paraoverflow-wrap
a especificação.fonte
table-layout: fixed;
para a mesaword-wrap: break-word
não funcionou para mim, masword-break: break-word
como @rahul sugeriu abaixo, funcionou.Não tenho certeza sobre a compatibilidade do navegador
Além disso, você pode usar a
<wbr>
tagfonte
Isso pode ser adicionado à resposta aceita para uma solução 'entre navegadores'.
Fontes:
fonte
Eu estava pesquisando o mesmo problema no Google e postei minha solução final AQUI . Também é relevante para esta questão.
Você pode fazer isso facilmente com uma div, fornecendo o estilo
word-wrap: break-word
(e também pode ser necessário definir sua largura).No entanto, para as tabelas , você também precisará aplicar:
table-layout: fixed
. Isso significa que as larguras das colunas não são mais fluidas, mas são definidas com base nas larguras das colunas apenas na primeira linha (ou através das larguras especificadas). Leia mais aqui .Código de amostra:
fonte
width: 100%;
era a única maneira de fazer isso funcionar para mim no FF e no Chrome!​
é a entidade HTML de um caractere unicode chamado espaço de largura zero (ZWSP), que é um caractere invisível que especifica uma oportunidade de quebra de linha. Da mesma forma, o objetivo do hífen é especificar uma oportunidade de quebra de linha dentro de um limite de palavras.fonte
​
tem prioridade mais baixa que um espaço em branco (ou seja, se houver um por perto, a linha será quebrada em um espaço em branco).<wbr/>
unicode equivalente eu estava procurandoVerificou que o uso do seguinte funcionava na maioria dos principais navegadores (Chrome, IE, Safari iOS / OSX), exceto no Firefox (v50.0.2), ao usar o flexbox e confiar
width: auto
.Nota: pode ser necessário adicionar prefixos de fornecedor do navegador se você não estiver usando um autoprefixer.
Outra coisa a observar é o uso de texto
para espaçamento, que pode causar quebras de linha no meio da palavra.fonte
CSS
word-wrap:break-word;
, testado no FireFox 3.6.3fonte
Resolvi meu problema com o código abaixo.
fonte
Retirar
white-space: nowrap
, se houver.Implemento:
fonte
O espaço em branco é preservado pelo navegador. O texto será quebrado quando necessário e nas quebras de linha
DEMO
fonte
Do MDN :
Então você pode usar:
Posso usar ?
fonte
Primeiro você deve identificar a largura do seu elemento. Por exemplo:
de modo que quando o texto atingir a largura do elemento, ele será dividido em linhas.
fonte
Como mencionado na resposta de @ davidcondrey, não há apenas o ZWSP, mas também o SHY
­ ­
que pode ser usado em palavras muito longas e construídas (pense alemão ou holandês) que precisam ser quebradas no local que você deseja. Invisível, mas fornece um hífen no momento necessário, mantendo assim a palavra conectada e a linha preenchida ao máximo.Dessa forma, a palavra luchthavenpolitieagent pode ser notada como a
lucht­haven­politie­agent
que fornece partes mais longas do que as sílabas da palavra.Embora eu nunca tenha lido nada oficial sobre o assunto, esses hífens suaves conseguem obter prioridade mais alta nos navegadores do que os hífens oficiais nas únicas palavras da construção ( se houver alguma extensão para isso).
Na prática, nenhum navegador é capaz de quebrar uma palavra tão longa e construída por si só; em telas menores, resultando em uma nova linha para ela ou, em alguns casos, até em uma linha de uma palavra (como quando duas dessas palavras construídas são seguidas).
FYI: é holandês para policial do aeroporto
fonte
quebra de palavra: normal parece melhor usar do que quebra de palavra: quebra de palavra porque quebra de quebra de palavras inicial como EN
fonte
Faça isso:
fonte
apenas tente isso no nosso estilo
fonte
normal
é owhite-space
valor padrão . Eu acho que adicioná-lo não teria efeito no exemplo da questão. Por favor, me corrija se eu estiver enganado.