Свойства CSS, связанные с интервалом текста
Эта статья объясняет свойства CSS, связанные с интервалами текста.
Вы узнаете о применении и способах написания таких свойств, как line-height
и word-spacing
.
YouTube Video
Создание HTML для предварительного просмотра
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>
Типографика (Связанное с интервалами текста)
Свойство 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
— это свойство CSS, используемое для установки интервала между строками (высоты строки). line-height
определяет вертикальное пространство между строками, используется для улучшения читаемости или корректировки интервалов как часть дизайна.
Основные применения line-height
Безразмерные числа
1p {
2 line-height: 1.5; /* 1.5 times the font size */
3}
- Укажите высоту относительно размера шрифта. Например, указание
1.5
устанавливает высоту строки в 1.5 раза больше размера шрифта. Этот метод полезен для адаптивного дизайна.
Процентное значение
1p {
2 line-height: 150%;
3}
- Укажите высоту строки в процентах от размера шрифта. Например, указание
150%
устанавливает высоту строки равной 150% от размера шрифта.
Фиксированные значения (px, em, rem и др.)
1p {
2 line-height: 20px;
3}
- Укажите высоту строки в абсолютных единицах. Например, можно указать конкретное значение, такое как
20px
, но это может быть недостаточно гибко для адаптивного дизайна.
normal
1p {
2 line-height: normal;
3}
- Указание
normal
применяет настройки интервала строки по умолчанию для браузера. Как правило, это будет примерно 1.2–1.4 раза больше размера шрифта.
Примеры использования line-height
Читаемые абзацы
- Рекомендуется значение
line-height
около1.5
или1.6
для улучшения читаемости. Если межстрочный интервал слишком мал, текст будет выглядеть сжатым и трудным для чтения. Если он слишком велик, текст будет казаться разрозненным.
Дизайн заголовков
- Для заголовков и титулов, где текст крупнее, межстрочный интервал можно уменьшить. Часто используются значения, такие как
1.1
или1.2
.
Резюме
line-height
— это важное свойство, которое улучшает как читаемость, так и дизайн текста.- Использование относительных значений (чисел или процентов) упрощает адаптацию к адаптивному дизайну.
- Для заголовков с крупным текстом и параграфов с мелким текстом важно установить подходящий межстрочный интервал для каждого.
Использование этого свойства может сделать текст более читабельным и улучшить его качество дизайна.
Свойство 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
— это CSS-свойство, используемое для регулировки расстояния между символами (интервал между буквами). Это свойство можно использовать для упорядочивания дизайна текста, повышения читаемости и создания определенных стилей.
В этом примере указано следующее.
normal
: Значение по умолчанию для расстояния между буквами. Это стандартное значение, определяемое браузером и шрифтом.4px
: Пример увеличенного интервала между буквами. Добавляет по 4 пикселя расстояния между каждым символом.-1px
: Пример уменьшенного интервала между буквами. Уменьшает расстояние между каждыми символами на 1 пиксель.
Как использовать letter-spacing
Значения с единицами измерения
1p.increased {
2 letter-spacing: 2px; /* Increase letter spacing by 2px */
3}
4p.decreased {
5 letter-spacing: -1em; /* Decrease letter spacing by 1em */
6}
- Установка положительного значения увеличит интервал между буквами.
- Установка отрицательного значения уменьшит интервал между буквами.
- Единицы измерения обычно указываются в
px
(пикселях) илиem
.
По умолчанию: normal
1p {
2 letter-spacing: normal; /* Default letter spacing */
3}
- Используйте стандартный межбуквенный интервал. Обычно применяется стандартный межбуквенный интервал, определённый шрифтом.
Примеры использования letter-spacing
- Улучшение читаемости: Для маленьких размеров шрифта или чрезмерно сжатых шрифтов вы можете улучшить читаемость, увеличив
letter-spacing
. - Настройка дизайна: Вы можете настроить межбуквенный интервал, чтобы визуально выделить элементы дизайна, такие как заголовки или логотипы.
- Регулировка между словами: Вы можете настроить интервал на уровне букв, а не между словами.
letter-spacing
регулирует расстояние между буквами, но используйтеword-spacing
, чтобы увеличить интервал между словами. - Баланс дизайна: Если вы слишком увеличите межбуквенный интервал, весь текст может выглядеть слишком растянутым. Наоборот, если уменьшить его слишком сильно, текст может стать сжатым и трудночитаемым, поэтому важно соблюдать баланс.
Резюме
letter-spacing
— это свойство, которое регулирует расстояние между буквами, влияя как на дизайн, так и на читаемость.- Вы можете увеличить интервал, используя положительные значения, и уменьшить его, используя отрицательные значения.
- Это эффективно для заголовков и отдельных элементов дизайна, но будьте осторожны, чтобы не ухудшить читаемость.
Используя это свойство, вы можете настроить внешний вид текста и достичь привлекательного дизайна.
Свойство 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
— это CSS-свойство, которое управляет расстоянием между словами в тексте. Правильное использование этого свойства может улучшить визуальный баланс и читаемость текста. word-spacing
особенно полезен в типографически ориентированных дизайнах и в сценариях адаптивного дизайна.
В этом примере указано следующее.
normal
: Применяет стандартный интервал между словами. Это начальное значение, установленное браузером.4px
: Пример увеличенного интервала между словами. Добавляет по 4 пикселя между каждым словом.-1px
: Пример уменьшенного интервала между словами. Уменьшает расстояние между каждым словом на 1 пиксель.word-and-letter-spacing
: Пример уменьшенного интервала между словами и буквами. Уменьшает интервал между словами на 0.1em, а между буквами на 0.05em по сравнению с нормальным значением.
Использование положительных и отрицательных значений
Задание положительного значения для word-spacing
увеличит интервал между словами. С другой стороны, использование отрицательных значений уменьшает интервалы между словами. Отрицательные значения могут использоваться для акцентирования визуальных эффектов или уменьшения интервала между буквами по определённым дизайнерским причинам.
Разница с letter-spacing
word-spacing
— это свойство, регулирующее интервал между словами, тогда как letter-spacing
регулирует интервал между буквами. Комбинируя эти свойства, вы можете более точно контролировать типографику всего текста.
Предостережения и лучшие практики
- Избыточная регулировка интервалов: Чрезмерное использование
word-spacing
может снизить читаемость. Особенно слишком большие или слишком маленькие интервалы могут быть неудобны для пользователей, поэтому важно делать умеренные корректировки. - Адаптивный дизайн: Указание относительных значений с использованием
em
илиrem
эффективно для адаптивного дизайна, так как это обеспечивает корректное отображение на различных размерах экранов. - Регулировка стиля заголовков: Расширяя интервал между словами в тексте заголовка, вы можете добавить визуальный акцент. Это позволяет уточнить иерархию контента и достичь изысканного дизайна.
Свойство 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
— это CSS-свойство, которое управляет переносом текста, когда он превышает ширину контейнера. Обычно браузеры переносят строки на границах слов, но специальные настройки могут улучшить внешний вид и читабельность при наличии длинных слов или URL-адресов.
Для свойства word-break
можно указать следующие значения.
-
normal
normal
— это значение по умолчанию. Когда слово превышает ширину контейнера, оно будет перенесено на границе слов. Эта настройка характерна для таких языков, как английский, и разрывы не происходят посередине слов. -
break-all
break-all
— это настройка, при которой разрывы строки могут быть вставлены после любого символа, при необходимости. Особенно при наличии длинных слов или URL-адресов разрывы строки происходят на уровне символов, чтобы избежать нарушения макета. -
keep-all
keep-all
— это настройка, используемая преимущественно для азиатских языков (японского, китайского, корейского и т. д.). При этой настройке все слово сохраняется, и разрывы не происходят посередине слов. Однако для языков с разделением слов пробелами, таких как английский, применяются обычные разрывы строк на границах слов.
Этот пример демонстрирует три разных настройки свойства word-break
. При использовании word-break-normal
все слово сохраняется и переносится на границах слов, если оно превышает ширину контейнера. При использовании word-break-break-all
разрывы происходят даже внутри слов. word-break-keep-all
позволяет естественным переносам для азиатских языков, таких как японский, и переносам по границам слов для английского.
Примеры использования свойства word-break
Мобильные устройства и адаптивный дизайн
1@media (max-width: 600px) {
2 p {
3 word-break: break-all;
4 }
5}
На мобильных устройствах ширина экрана ограничена, что может привести к тому, что текст, включая URL-адреса или длинные слова, превысит ширину экрана. В таких случаях применение word-break: break-all;
позволяет переносить строки на уровне символов, чтобы текст помещался в ширину экрана, улучшая читаемость.
Свойство 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}
-
Свойство
hyphens
используется в CSS, чтобы указать, как должна выполняться перенос слов (разделение слов дефисами) при разрыве строк текста. При правильной настройке этого свойства можно улучшить читаемость и внешний вид текста. Перенос особенно полезен, когда длинные слова необходимо разбить. -
Поскольку правила переноса зависят от языка, это свойство зависит от локали текста.
Синтаксис
1element {
2 hyphens: none | manual | auto;
3}
Свойству hyphens
можно присвоить следующие значения:.
none
: Переносы не применяются. Слова обычно разрываются только в конце слова.manual
: Переносы применяются вручную. В этом случае точки переноса нужно указывать вручную в HTML. Например, можно использовать­
(мягкий перенос).auto
: Браузер автоматически выполняет переносы в подходящих местах. В этом случае язык документа (атрибутlang
) должен быть указан правильно.
Примечания
- Важность настройки языка: При использовании
hyphens: auto;
для корректного переноса необходимо правильно указать атрибутlang
в HTML-документе. - Зависимость от шрифта: Некоторые шрифты могут не подходить для переноса.
- Использование словарей переноса: Правила переноса зависят от словарей, используемых браузером. Поэтому в некоторых языках это может работать не так, как ожидалось.
Резюме
При правильном использовании свойства hyphens
можно значительно улучшить макет текста. Особенно для многоязычных сайтов и адаптивного дизайна использование auto
и manual
может улучшить пользовательский опыт.
Вы можете следовать этой статье, используя Visual Studio Code на нашем YouTube-канале. Пожалуйста, также посмотрите наш YouTube-канал.