Propriedades CSS relacionadas ao espaçamento de texto
Este artigo explica as propriedades CSS relacionadas ao espaçamento de texto.
Você pode aprender sobre o uso e como escrever propriedades como line-height
e word-spacing
.
YouTube Video
Criando HTML para visualização
css-text-space.html
1<!DOCTYPE html>
2<html lang="en">
3<head>
4 <meta charset="UTF-8">
5 <meta name="viewport" content="width=device-width, initial-scale=1.0">
6 <title>CSS Properties Example</title>
7 <link rel="stylesheet" href="css-base.css">
8 <link rel="stylesheet" href="css-text-space.css">
9</head>
10<body>
11 <!-- Header -->
12 <header>
13 <h1>Text-Related CSS Properties Example</h1>
14 </header>
15
16 <!-- Main content -->
17 <main>
18 <header>
19 <h2>Typography (Text-Related)</h2>
20 </header>
21 <article>
22 <h3>line-height</h3>
23 <section>
24 <header><h4>line-height: normal</h4></header>
25 <section class="sample-view">
26 <p class="line-height-normal">This is a paragraph with normal line height.</p>
27 </section>
28 <header><h4>line-height: 1.5</h4></header>
29 <section class="sample-view">
30 <p class="line-height-150">This is a paragraph with 1.5 line height.</p>
31 </section>
32 <header><h4>line-height: 200%</h4></header>
33 <section class="sample-view">
34 <p class="line-height-200">This is a paragraph with 200% line height.</p>
35 </section>
36 </section>
37 </article>
38 <article>
39 <h3>letter-spacing</h3>
40 <section>
41 <header><h4>letter-spacing: normal</h4></header>
42 <section class="sample-view">
43 <p class="letter-spacing-normal">This is text with normal letter spacing.</p>
44 </section>
45 <header><h4>letter-spacing: 4px</h4></header>
46 <section class="sample-view">
47 <p class="letter-spacing-wide">This is text with wide letter spacing.</p>
48 </section>
49 <header><h4>letter-spacing: -1px</h4></header>
50 <section class="sample-view">
51 <p class="letter-spacing-narrow">This is text with narrow letter spacing.</p>
52 </section>
53 </section>
54 </article>
55 <article>
56 <h3>word-spacing</h3>
57 <section>
58 <header><h4>word-spacing: normal</h4></header>
59 <section class="sample-view">
60 <p class="word-spacing-normal">This is text with normal word spacing.</p>
61 </section>
62 <header><h4>word-spacing: 4px</h4></header>
63 <section class="sample-view">
64 <p class="word-spacing-wide">This is text with wide word spacing.</p>
65 </section>
66 <header><h4>word-spacing: -1px</h4></header>
67 <section class="sample-view">
68 <p class="word-spacing-narrow">This is text with narrow word spacing.</p>
69 </section>
70 <header><h4>word-spacing: -0.1em; letter-spacing: -0.05em;</h4></header>
71 <section class="sample-view">
72 <p class="word-and-letter-spacing">This is text with word and letter spacing.</p>
73 </section>
74 </section>
75 </article>
76 <article>
77 <h3>word-break</h3>
78 <section>
79 <header><h4>word-break: normal</h4></header>
80 <section class="sample-view">
81 <p class="box word-break-normal">Thisisaverylongwordthatwillnotbreakwithword-breaknormal.</p>
82 </section>
83 <header><h4>word-break: break-all</h4></header>
84 <section class="sample-view">
85 <p class="box word-break-break-all">Thisisaverylongwordthatwillnotbreakwithword-breaknormal.</p>
86 </section>
87 <header><h4>word-break: keep-all</h4></header>
88 <section class="sample-view">
89 <p class="box word-break-keep-all">これは日本語の文章です。この設定では自然に改行されます。</p>
90 </section>
91 </section>
92 </article>
93 <article>
94 <h3>hyphens</h3>
95 <section>
96 <header><h4>hyphens: none</h4></header>
97 <section class="sample-view">
98 <p class="no-hyphens">
99 Supercalifragilisticexpialidocious is a very long word.
100 </p>
101 </section>
102 <header><h4>HTML</h4></header>
103<pre>
104<p class="no-hyphens">
105 Supercalifragilisticexpialidocious is a very long word.
106</p>
107</pre>
108 <header><h4>hyphens: manual</h4></header>
109 <section class="sample-view">
110 <p class="manual-hyphens">
111 Super­califragilistic­expialidocious is a very long word.
112 </p>
113 </section>
114 <header><h4>HTML</h4></header>
115<pre>
116<p class="manual-hyphens">
117 Super&shy;califragilistic&shy;expialidocious is a very long word.
118</p>
119</pre>
120 <header><h4>hyphens: auto</h4></header>
121 <section class="sample-view">
122 <p class="auto-hyphens">
123 Supercalifragilisticexpialidocious is a very long word.
124 </p>
125 </section>
126 <header><h4>HTML</h4></header>
127<pre>
128<p class="auto-hyphens">
129 Supercalifragilisticexpialidocious is a very long word.
130</p>
131</pre>
132 </section>
133 </article>
134 </main>
135</body>
136</html>
Tipografia (Relacionado à Margem de Texto)
Propriedade line-height
1/* Line height examples */
2.line-height-normal {
3 line-height: normal; /* Default line height */
4}
5
6.line-height-150 {
7 line-height: 1.5; /* 1.5 times the font size */
8}
9
10.line-height-200 {
11 line-height: 200%; /* 200% of the font size */
12}
line-height
é uma propriedade CSS usada para definir o espaçamento entre linhas (altura da linha). line-height
especifica o espaço vertical entre linhas, usado para melhorar a legibilidade ou ajustar o espaçamento como parte do design.
Principais usos do line-height
Números sem unidade
1p {
2 line-height: 1.5; /* 1.5 times the font size */
3}
- Especifique uma altura relativa ao tamanho da fonte. Por exemplo, especificar
1.5
define a altura da linha em 1,5 vezes o tamanho da fonte. Este método é útil para design responsivo.
Porcentagem
1p {
2 line-height: 150%;
3}
- Especifique a altura da linha como uma porcentagem do tamanho da fonte. Por exemplo, especificar
150%
define a altura da linha como 150% do tamanho da fonte.
Valores fixos (px, em, rem, etc.)
1p {
2 line-height: 20px;
3}
- Especifique a altura da linha em unidades absolutas. Por exemplo, você pode especificar um valor concreto como
20px
, mas pode não ter flexibilidade em design responsivo.
normal
1p {
2 line-height: normal;
3}
- Especificar
normal
aplica as configurações padrão de espaçamento de linha do navegador. Normalmente, será cerca de 1,2 a 1,4 vezes o tamanho da fonte.
Exemplos de Uso do line-height
Parágrafos legíveis
- Uma
line-height
de cerca de1.5
a1.6
é geralmente recomendada para legibilidade. Se o espaçamento de linha for muito estreito, o texto ficará apertado e difícil de ler, e se for muito amplo, o texto parecerá desconexo.
Design de cabeçalhos
- Para cabeçalhos e títulos, onde o texto é maior, o espaçamento de linha pode ser reduzido. Configurações como
1.1
ou1.2
são frequentemente usadas.
Resumo
line-height
é uma propriedade importante para melhorar tanto a legibilidade quanto o design do texto.- O uso de valores relativos (números ou porcentagens) facilita a adaptação ao design responsivo.
- Para cabeçalhos com texto grande e parágrafos com texto menor, é crucial definir um espaçamento de linha apropriado para cada um.
Aproveitar essa propriedade pode tornar a aparência do texto mais legível e melhorar a qualidade do design.
Propriedade letter-spacing
1/* Letter spacing examples */
2.letter-spacing-normal {
3 letter-spacing: normal; /* Default letter spacing */
4}
5
6.letter-spacing-wide {
7 letter-spacing: 4px; /* Increase letter spacing */
8}
9
10.letter-spacing-narrow {
11 letter-spacing: -1px; /* Decrease letter spacing */
12}
letter-spacing
é uma propriedade CSS usada para ajustar o espaçamento entre caracteres (espaçamento das letras). Essa propriedade pode ser usada para organizar o design do texto, melhorar a legibilidade e alcançar estilos específicos.
Neste exemplo, é especificado da seguinte forma.
normal
: O espaçamento de letras padrão. É um valor padrão determinado pelo navegador e pela fonte.4px
: Um exemplo de espaçamento de letras ampliado. Adiciona 4 pixels de espaço entre cada caractere.-1px
: Um exemplo de espaçamento de letras reduzido. Reduz 1 pixel de espaço entre cada caractere.
Como usar letter-spacing
Valores com unidades
1p.increased {
2 letter-spacing: 2px; /* Increase letter spacing by 2px */
3}
4p.decreased {
5 letter-spacing: -1em; /* Decrease letter spacing by 1em */
6}
- Definir um valor positivo aumentará o espaçamento entre letras.
- Definir um valor negativo diminuirá o espaçamento entre letras.
- As unidades geralmente são em
px
(pixels) ouem
.
Padrão: normal
1p {
2 letter-spacing: normal; /* Default letter spacing */
3}
- Use o espaçamento entre letras padrão. Normalmente, o espaçamento entre letras padrão definido pela fonte é aplicado.
Exemplos de uso de letter-spacing
- Legibilidade melhorada: Para tamanhos de fonte pequenos ou fontes excessivamente condensadas, você pode melhorar a legibilidade aumentando o
letter-spacing
. - Ajuste de design: Você pode ajustar o espaçamento entre letras para enfatizar visualmente elementos de design, como títulos ou logotipos.
- Ajuste entre palavras: Você pode ajustar o espaçamento no nível das letras, em vez de entre palavras.
letter-spacing
ajusta o espaçamento a nível de letras, mas useword-spacing
para expandir o espaço entre palavras. - Equilíbrio do design: Se você aumentar muito o espaçamento entre letras, todo o texto pode parecer muito esticado. Por outro lado, se você diminuir muito, o texto pode ficar apertado e difícil de ler, por isso é importante manter um equilíbrio apropriado.
Resumo
letter-spacing
é uma propriedade que ajusta o espaço entre letras, afetando tanto o design quanto a legibilidade.- Você pode aumentar o espaçamento com valores positivos e diminuí-lo com valores negativos.
- É eficaz para títulos e elementos de design específicos, mas tenha cuidado para não comprometer a legibilidade.
Usando esta propriedade, você pode ajustar a aparência do texto e obter designs atraentes.
Propriedade word-spacing
1/* Word spacing examples */
2.word-spacing-normal {
3 word-spacing: normal; /* Default word spacing */
4}
5
6.word-spacing-wide {
7 word-spacing: 4px; /* Increase word spacing */
8}
9
10.word-spacing-narrow {
11 word-spacing: -1px; /* Decrease word spacing */
12}
13
14.word-and-letter-spacing {
15 word-spacing: -0.1em;
16 letter-spacing: -0.05em;
17}
word-spacing
é uma propriedade CSS que controla o espaço entre palavras em um texto. O uso adequado desta propriedade pode melhorar o equilíbrio visual e a legibilidade do texto. word-spacing
é particularmente útil em designs focados em tipografia e cenários de design responsivo.
Neste exemplo, é especificado da seguinte forma.
normal
: Aplica o espaçamento padrão entre palavras. Este é o valor inicial do navegador.4px
: Um exemplo de aumento no espaçamento entre palavras. Adiciona 4 pixels de margem entre cada palavra.-1px
: Um exemplo de diminuição no espaçamento entre palavras. Reduz o espaço entre cada palavra em 1 pixel.word-and-letter-spacing
: Um exemplo de espaçamento reduzido entre palavras e letras. Reduz o espaço entre palavras em 0.1em e entre letras em 0.05em em comparação ao normal.
Usando Valores Positivos e Negativos
Definir um valor positivo para word-spacing
irá expandir o espaçamento entre palavras. Por outro lado, usar valores negativos estreita os espaços entre as palavras. Valores negativos podem ser usados para enfatizar efeitos visuais ou reduzir o espaçamento entre letras por razões específicas de design.
Diferença com letter-spacing
word-spacing
é uma propriedade que ajusta o espaço entre palavras, enquanto letter-spacing
ajusta o espaço entre letras. Combinando essas propriedades, você pode ter um controle mais preciso sobre a tipografia de textos inteiros.
Cuidados e Melhores Práticas
- Ajuste Excessivo de Espaços: O uso excessivo de
word-spacing
pode levar a uma redução na legibilidade. Especialmente espaços muito grandes ou muito pequenos podem ser cansativos para os usuários, tornando ajustes moderados importantes. - Design Responsivo: Especificar valores relativos usando
em
ourem
é eficaz para design responsivo, pois garante a exibição adequada em diferentes tamanhos de tela. - Ajuste de Estilo de Cabeçalhos: Ao ampliar o espaço entre palavras em textos de cabeçalho, você pode adicionar ênfase visual. Isso permite que você esclareça a hierarquia do conteúdo e alcance um design sofisticado.
Propriedade word-break
1p.box {
2 width: 200px;
3 border: 1px solid #000;
4 margin-bottom: 20px;
5}
6
7.word-break-normal {
8 word-break: normal;
9}
10
11.word-break-break-all {
12 word-break: break-all;
13}
14
15.word-break-keep-all {
16 word-break: keep-all;
17}
word-break
é uma propriedade CSS que controla como o texto é quebrado quando ultrapassa a largura do contêiner. Normalmente, os navegadores quebram linhas nos limites das palavras, mas configurações específicas podem melhorar a aparência e a legibilidade quando palavras longas ou URLs estão presentes.
Você pode especificar os seguintes valores para a propriedade word-break
.
-
normal
normal
é o valor padrão. Quando uma palavra ultrapassa a largura do contêiner, ela será quebrada nos limites das palavras. Esta configuração é comum em idiomas como o inglês, e as quebras não ocorrem no meio das palavras. -
break-all
break-all
é uma configuração em que quebras de linha podem ser inseridas após qualquer caractere, conforme necessário. Especialmente quando palavras longas ou URLs estão inclusos, as quebras de linha ocorrem no nível de caractere para evitar a disrupção do layout. -
keep-all
keep-all
é uma configuração usada particularmente para idiomas asiáticos (japonês, chinês, coreano, etc.). Nesta configuração, a palavra inteira é preservada, e não ocorrem quebras no meio das palavras. No entanto, para idiomas com separação por espaços como o inglês, as quebras de linha normais nos limites das palavras são aplicadas.
Este exemplo mostra três configurações diferentes de word-break
. Com word-break-normal
, a palavra inteira é preservada e são feitas quebras nos limites das palavras se ultrapassar a largura do contêiner. Com word-break-break-all
, as quebras ocorrem mesmo no meio das palavras. word-break-keep-all
permite quebras naturais para idiomas asiáticos como o japonês e quebras nos limites das palavras para o inglês.
Cenários de Aplicação de word-break
Dispositivos Móveis e Design Responsivo
1@media (max-width: 600px) {
2 p {
3 word-break: break-all;
4 }
5}
Em dispositivos móveis, a largura da tela é limitada, o que pode fazer com que textos, incluindo URLs ou palavras longas, ultrapassem a largura da tela. Nesses casos, aplicar word-break: break-all;
permite quebras de linha no nível de caractere para encaixar na largura da tela, melhorando a legibilidade.
Propriedade hyphens
1p.no-hyphens {
2 width: 200px;
3 hyphens: none;
4}
5
6p.manual-hyphens {
7 width: 200px;
8 hyphens: manual;
9}
10
11p.auto-hyphens {
12 width: 200px;
13 hyphens: auto;
14}
-
A propriedade
hyphens
é usada em CSS para especificar como a hifenização das palavras (divisão de palavras com hífens) deve ser tratada ao quebrar linhas de texto. Definindo esta propriedade adequadamente, você pode melhorar a legibilidade e a aparência do texto. A hifenização é particularmente útil quando palavras longas precisam ser divididas. -
Como as regras de hifenização variam por idioma, esta propriedade depende da localidade do texto.
Sintaxe
1element {
2 hyphens: none | manual | auto;
3}
A propriedade hyphens
pode ser configurada com os seguintes valores:.
none
: Nenhuma hifenização é aplicada. As palavras, em geral, só serão quebradas no final da palavra.manual
: A hifenização é aplicada manualmente. Neste caso, você precisa especificar os pontos de hifenização manualmente no HTML. Por exemplo, você pode usar­
(hífen suave).auto
: O navegador aplica automaticamente a hifenização em posições apropriadas. Neste caso, o idioma do documento (atributolang
) deve ser especificado corretamente.
Notas
- Importância das Configurações de Idioma: Ao usar
hyphens: auto;
, a hifenização adequada exige que o atributolang
do documento HTML esteja configurado corretamente. - Dependência de Fonte: Algumas fontes podem não ser adequadas para hifenização.
- Uso de Dicionários de Hifenização: As regras de hifenização dependem dos dicionários usados pelo navegador. Portanto, pode não funcionar como esperado para determinados idiomas.
Resumo
Ao utilizar corretamente a propriedade hyphens
, você pode melhorar significativamente o layout do texto. Especialmente para sites multilíngues e designs otimizados para dispositivos móveis, o uso adequado de auto
e manual
pode melhorar a experiência do usuário.
Você pode acompanhar o artigo acima usando o Visual Studio Code em nosso canal do YouTube. Por favor, confira também o canal do YouTube.