Envolvimento CSS de palavras longas. Como adicionar quebras de linha usando propriedades CSS

Lar / Congela

A Internet é feita de conteúdo, o conteúdo é feito de palavras, e as palavras podem ser muito, muito longas. E mais cedo ou mais tarde o webmaster se depara com o problema de hifenizar palavras longas. Este problema é especialmente relevante para design responsivo e para pequenos blocos de conteúdo. Então, como você lida com esse problema?

Hífen

A primeira solução para hifenizar palavras longas é usar um hífen.

Definição ( -webkit-hyphens: auto; -moz-hyphens: auto; -ms-hyphens: auto; hifens: auto; )

Suporte ao navegador: os hifens CSS são suportados por quase todos os navegadores modernos, com exceção do Chrome, Opera, Android. Além disso, muitas vezes um hífen é inserido em locais gramaticalmente incorretos.

Quebra de palavra

Wordbreak é uma propriedade CSS que indica se as linhas devem ser quebradas dentro das palavras.

Obriv-slova ( -ms-palavra-quebra: quebrar tudo; quebra de palavra: quebrar tudo; quebra de palavra: quebrar palavra; )

Suporte ao navegador: As quebras de palavras são suportadas em todos os navegadores, exceto Opera Mini e versões mais antigas do Opera.

Invólucro de estouro

A próxima solução é usar um overflow wrap.

Obertka-perepolneniya ( quebra de palavra: quebra de palavra; estouro de quebra: quebra de palavra; )

Suporte ao navegador: compatível com quase todos os navegadores. Nota: Alguns navegadores exigem o uso de "word-wrap" em vez de "overflow-wrap".

Reticências

Outra opção é usar reticências.

Multigotochiye ( overflow: oculto; espaço em branco: nowrap; estouro de texto: reticências; )

Suporte ao navegador: compatível com todos os navegadores modernos.

Este método funciona, mas está longe de ser ideal.

Solução final: Usando o Overflow e o Hyphen Wrapper.

Finalnoye-resheniye ( overflow-wrap: break-word; word-wrap: break-word; -webkit-hyphens: auto; -ms-hyphens: auto; -moz-hyphens: auto; hifens: auto; )

Esta solução permitirá que um navegador compatível insira um hífen e que navegadores não compatíveis insiram uma quebra de linha.

Olá a todos e vamos começar. Digamos que temos o seguinte texto:

O governo dos Emirados Árabes Unidos e a administração estão concentrando nesta cidade todas as mais novas tecnologias baseadas nas últimas conquistas da ciência e tecnologia, tentando transformá-la em uma cidade do futuro, como se saísse diretamente da tela de alguma ficção científica. filme. Essas tecnologias incluem policiais robôs, carros robôs e o sistema de transporte Hyperloop e, em um futuro próximo, um serviço automatizado de táxi voador começará a operar em Dubai. E em preparação para este evento, uma aeronave elétrica Volocopter de dois lugares e 18 rotores, que servirá como táxi, fez seu primeiro vôo em modo automático, escrevem...

Aqui temos um texto com o qual começaremos a trabalhar agora.

E a primeira propriedade que consideraremos é chamada de quebra de palavras

quebra de palavra: normal | manter tudo | quebra-tudo

Estamos principalmente interessados ​​​​em dois valores desta propriedade normal - o valor padrão e o break-all, com a ajuda dos quais estabelecemos que a quebra de linha é realizada caractere por caractere. Quanto a manter tudo, esse valor é usado para agrupar palavras em chinês, japonês e coreano.

P (quebra de palavras: quebrar tudo;.)

Observe que após o uso deste estilo todo o nosso texto é esticado em toda a largura disponível e os hifens são feitos não por palavras, mas por caracteres. Esta propriedade pode ser útil quando temos uma palavra muito longa que não cabe na largura especificada. Porém, isso cria uma espécie de incômodo, já que absolutamente todas as palavras são transferidas caractere por caractere, mesmo aquelas que cabem na largura especificada.

Felizmente, existe uma propriedade semelhante que transfere apenas palavras que não cabem nos caracteres. É chamado de overflow-wrap:

P (overflow-wrap: palavra de quebra;)

e depois de aplicar o valor da palavra de quebra, todo o nosso texto é transferido palavra por palavra, e as palavras que não cabem na largura especificada são transferidas caractere por caractere. Podemos dizer que a tarefa está concluída! Além do valor da palavra de quebra, esta propriedade aceita:

overflow-wrap: normal | palavra de quebra | herdar;

Agora vamos passar para uma propriedade CSS mais avançada para quebra automática de texto.

Vamos considerar a propriedade white-space, com a qual podemos imitar o funcionamento da tag pre sem alterar o próprio texto para monoespaçado.

espaço em branco: normal | agorarap | pré | pré-linha | pré-embalagem | herdar

Essencialmente, utilizando esta propriedade, trabalhamos apenas com espaços no texto. Por exemplo, se aplicarmos o seguinte estilo ao nosso texto:

Espaço em branco: nowrap;

todas as quebras de linha serão ignoradas e nosso texto será exibido como uma linha.

Espaço em branco: pré;

Se o valor for pré, todas as quebras de linha serão semelhantes às do código-fonte. Além disso, se o texto não couber na largura especificada, ele não será transferido. Se quisermos que seja transferido, precisamos especificar o valor da pré-linha.

Se quisermos levar em conta não apenas as quebras de linha código fonte, mas também espaços entre palavras, então você precisa especificar:

Espaço em branco: pré-embrulhar;

Isso é basicamente tudo que eu queria dizer sobre a hifenização de palavras usando CSS. Espero que este artigo tenha sido útil para você e que você utilize o conhecimento adquirido mais de uma vez.

Bem, eu digo adeus a você. Desejo-lhe sucesso e boa sorte! Tchau!

Vlad Merzhevich

Ao contrário do texto impresso, os hífens raramente são usados ​​em uma página da web, uma vez que não estamos estritamente vinculados ao formato do papel. Os sites podem ser visualizados em diferentes monitores, com diferentes resoluções, em diferentes sistemas operacionais e navegadores. Tudo isso dá origem a uma tal combinação de combinações que é impossível prever como será o texto final para o usuário. Por causa disso, o texto geralmente é alinhado à esquerda e os hífens ocorrem em palavras inteiras. Mesmo assim, a hifenização de palavras é necessária em alguns casos, por exemplo, quando termos químicos ou médicos longos são usados ​​em colunas estreitas de uma determinada largura, por uma questão de estética. No manual de HTML e CSS ou métodos automáticos Não há muitos hífens para adicionar, então vou listar todos eles.

Usando uma etiqueta

Marcação introduzido no HTML5 e cria quebra automática de linha quando necessário. Nos locais onde, de acordo com as regras da língua russa, a hifenização é permitida, inserimos (exemplo 1). Se a palavra inteira couber na largura atribuída, essa tag não se manifestará de forma alguma e nem saberemos de sua presença. Se a palavra não couber, o navegador está no local da tag cria uma transferência.

Exemplo 1. Etiqueta

Transferências

Um décima segunda aula a sonhadora Anzhelika, após se formar na escola, escolheu a profissão de empresário produzido motorista prostrado.

O resultado deste exemplo é mostrado na Fig. 1.

Arroz. 1. Texto com hífens

Transferência suave

Aplicativo tem uma séria desvantagem - é impossível entender se estamos diante de um hífen ou de uma palavra separada em outra linha. Por causa disso, o significado da frase pode ser perdido e ela pode ser mal interpretada. As hifenizações devem ser feitas de acordo com as regras da tipografia, a saber: adicionar um hífen no final da linha. A hifenização suave funciona bem com isso; no código HTML, há um caractere especial para isso - . Ela desempenha a mesma função de uma tag - não é visível no texto normal e move a palavra para outra linha, ao mesmo tempo que adiciona um hífen (exemplo 2).

Exemplo 2: transferência suave

Transferências

Aluna do décimo primeiro ano, Angélica, após se formar na escola, escolheu a profissão de motorista comercial.

O resultado deste exemplo é mostrado na Fig. 2. Observe como o texto parece esteticamente mais agradável e claro em comparação com a figura. 1.

Arroz. 2. Texto com hífens

propriedade de quebra de palavras

Para automatizar o processo de criação de hifens, utilize a propriedade word-break com o valor break-all (exemplo 3). Você não precisa mais adicionar símbolos ou tags aos estilos HTML;

Exemplo 3. Usando quebra de palavras

Transferências

Angélica, do décimo primeiro ano, escolheu a profissão de funcionária de escritório depois de se formar na escola.

O resultado deste exemplo é mostrado na Fig. 3. As regras para hifenização de texto não são levadas em consideração neste caso, portanto as palavras podem ser hifenizadas de uma forma muito bizarra.

Arroz. 3. Texto com hífens

De todos os métodos listados, o uso de “semi-manual” dá o melhor resultado - as regras do idioma russo são seguidas, o texto parece o mais esteticamente agradável. Use-o quando houver palavras longas no texto.

Propriedade de hífens

E finalmente, a propriedade mais poderosa e conveniente para adição automática hífens - hífens. Sua ação é baseada no dicionário de hifenização embutido no navegador, por isso dá o melhor resultado. Compatível com IE10, Firefox, Android e iOS. Chrome e Opera não são compatíveis. Para que isso funcione, para a tag adicione o atributo lang com o valor ru (exemplo 4).

Exemplo 4: Usando hífens

Transferências

Angélica, do décimo primeiro ano, escolheu a profissão de funcionária de escritório depois de se formar na escola.

O resultado deste exemplo é mostrado na Fig. 4.

Arroz. 4. Texto com hífens

Proibição de transferências

Muitas vezes surge a tarefa oposta - proibir hifenizações em locais onde são inaceitáveis ​​​​de acordo com as regras do idioma. Por exemplo, você não pode separar unidades de medida de um número (10 ml), a designação de um ano (54 aC), iniciais de um sobrenome, quebrar abreviações estáveis ​​​​(etc.), etc. o espaço, ele deve ser substituído por um espaço inquebrável (exemplo 5).

Exemplo 5: Uso

Transferências

Lago nas coordenadas 70° 58′ 19″ N. c. 97° 24′ 5″ E. localizado na região de Taimyr Dolgano-Nenets Território de Krasnoiarsk Rússia.

Neste exemplo, para escrever coordenadas corretamente, usamos , que não permite a quebra de texto.

A propriedade white-space especifica como exibir espaços entre palavras. Em circunstâncias normais, qualquer número de espaços no código HTML aparece como um só em uma página da web. A exceção é o elemento

, o texto colocado neste contêiner será exibido com todos os espaços, pois foi formatado pelo usuário.  Então o espaço em branco simula o trabalho 
Mas, ao contrário disso, não altera a fonte para monoespaçada.

Breve informação

Designações

DescriçãoExemplo
<тип> Indica o tipo do valor.<размер>
A && BOs valores devem ser exibidos na ordem especificada.<размер> && <цвет>
Um | BIndica que você precisa selecionar apenas um valor dentre os propostos (A ou B).normais | letras maiúsculas
Um || BCada valor pode ser usado independentemente ou em conjunto com outros em qualquer ordem.largura || contar
Valores de grupos.[colheita || cruzar ]
* Repita zero ou mais vezes.[,<время>]*
+ Repita uma ou mais vezes.<число>+
? O tipo, palavra ou grupo especificado é opcional.inserir?
(A,B)Repita pelo menos A, mas não mais que B vezes.<радиус>{1,4}
# Repita uma ou mais vezes separadas por vírgulas.<время>#
×

Valores

normal O texto na janela do navegador é exibido normalmente, as quebras de linha são definidas automaticamente. nowrap Os espaços não são levados em consideração, as quebras de linha no código HTML são ignoradas, todo o texto é exibido em uma linha; ao mesmo tempo, adicionando
quebra o texto em uma nova linha. pré O texto é mostrado levando em consideração todos os espaços e hífens, conforme foram adicionados pelo desenvolvedor no código HTML. Se a linha for muito longa e não couber na janela do navegador, uma barra de rolagem horizontal será adicionada. pré-linha Os espaços não são levados em consideração no texto; o texto é automaticamente movido para a próxima linha se não couber na área especificada. pré-quebra Todos os espaços e quebras são preservados no texto, porém, se a largura da linha não couber na área especificada, o texto será automaticamente quebrado para a próxima linha.

O efeito dos valores no texto é apresentado na tabela. 1.

Exemplo

espaço em branco

Exemplo

Último Teorema de Fermat
X n+ S n=Z n
onde n é um número inteiro> 2

O resultado deste exemplo é mostrado na Fig. 1.

Arroz. 1. Aplicando a propriedade de espaço em branco

Modelo de objeto

Objeto.style.whiteSpace

Observação

Navegador Internet Explorer até a versão 7.0 inclusive não suporta valores de pré-linha e pré-envoltório. Para