Envolvimento CSS de palavras longas. Como adicionar quebras de linha usando propriedades CSS
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
Exemplo 1. Etiqueta
Um
O resultado deste exemplo é mostrado na Fig. 1.
Arroz. 1. Texto com hífens
Transferência suave
Aplicativo
Exemplo 2: transferência suave
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
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
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
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 trabalhoMas, ao contrário disso, não altera a fonte para monoespaçada.Breve informação
Designações
Descrição | Exemplo | |
---|---|---|
<тип> | Indica o tipo do valor. | <размер> |
A && B | Os valores devem ser exibidos na ordem especificada. | <размер> && <цвет> |
Um | B | Indica que você precisa selecionar apenas um valor dentre os propostos (A ou B). | normais | letras maiúsculas |
Um || B | Cada 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
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
Opera antes da versão 9.5 não suporta o valor de pré-linha. Para
No Firefox para
Especificação
Cada especificação passa por vários estágios de aprovação.
- Recomendação - A especificação foi aprovada pelo W3C e é recomendada como padrão.
- Recomendação do Candidato ( Possível recomendação ) - o grupo responsável pelo padrão está satisfeito com o cumprimento de seus objetivos, mas requer ajuda da comunidade de desenvolvimento para implementar o padrão.
- Recomendação Proposta Recomendação sugerida) - nesta fase o documento é submetido ao Conselho Consultivo do W3C para aprovação final.
- Rascunho de Trabalho – Uma versão mais madura de um rascunho que foi discutido e alterado para revisão da comunidade.
- Rascunho do editor ( Rascunho editorial) - uma versão preliminar da norma após as alterações feitas pelos editores do projeto.
- Rascunho ( Especificação de rascunho) - a primeira versão preliminar da norma.
A propriedade word-wrap especifica se palavras longas que não cabem na largura da área especificada devem ou não ser quebradas.
Breve informação
Designações
Descrição | Exemplo | |
---|---|---|
<тип> | Indica o tipo do valor. | <размер> |
A && B | Os valores devem ser exibidos na ordem especificada. | <размер> && <цвет> |
Um | B | Indica que você precisa selecionar apenas um valor dentre os propostos (A ou B). | normais | letras maiúsculas |
Um || B | Cada 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 As linhas não são quebradas ou são quebradas em locais onde a quebra é explicitamente especificada (por exemplo, usando
). break-word Quebras de linha são adicionadas automaticamente para garantir que a palavra caiba na largura do bloco especificada.
Exemplo
Substantivo
Excelência
Substantivo animado
aluno do décimo primeiro ano
substância química
metoxiclorodietilaminometilbutilaminoacridina
O resultado deste exemplo é mostrado na Fig. 1.
Arroz. 1. Envolvendo palavras longas
Modelo de objeto
Objeto.style.wordWrap
Especificação
Cada especificação passa por vários estágios de aprovação.
- Recomendação - A especificação foi aprovada pelo W3C e é recomendada como padrão.
- Recomendação do Candidato ( Possível recomendação) - o grupo responsável pelo padrão está satisfeito com o cumprimento de seus objetivos, mas requer ajuda da comunidade de desenvolvimento para implementar o padrão.
- Recomendação Proposta Recomendação sugerida) - nesta fase o documento é submetido ao Conselho Consultivo do W3C para aprovação final.
- Rascunho de Trabalho – Uma versão mais madura de um rascunho que foi discutido e alterado para revisão da comunidade.
- Rascunho do editor ( Rascunho editorial) - uma versão preliminar da norma após as alterações feitas pelos editores do projeto.
- Rascunho ( Especificação de rascunho) - a primeira versão preliminar da norma.