Работа с текстом в CSS
🗓️ Обновлено: 02.05.2023
💬Комментариев: 0
👁️Просмотров: 361
Каждый, кто сталкивается с CSS, должен понимать, как работают теги и свойства для работы с текстом. На первый взгляд кажется, что это очень просто, но стоит углубиться в вопросы font-weight, и у новичков может возникнуть особенно много вопросов. Рассмотрим детальнее форматирование текста css, и на что нужно обратить внимание.
Основные свойства CSS
CSS – незаменимый инструмент для оформления страниц, написанных на HTML. Он позволяет разграничить содержание веб-страницы от элементов ее оформления. В каскадных таблицах стилей достаточно много свойств, но действительно значимых не так уж и много. Их всех объединяет простой синтаксис в виде показателей *свойство: значение”, которые располагаются внутри фигурных скобок нужного селектора. Вот примеры основных свойств, которые используются каждый день для работы с текстом CSS:
- font-size. Используется для изменения размера шрифта.
- color. Определяет цвет текста. Его можно установить, написав после двоеточия зарезервированное или шестнадцатеричное название цвета, RGB значение.
- background-color. Заливает нужный участок текста цветом, словно он выделен маркером. Варианты значений для background-color аналогичны со свойством color.
- font-style. Этим свойство задается стиль шрифта в зависимости от выбранного значения, который может принимать значение обычного, курсивного или наклонного (и отличающегося от курсивного) написания.
- font-weight. С этим свойством можно не волноваться, как изменить жирность шрифта в CSS. Значение можно задать двумя способами. Первый – буквенное, чаще всего используется обычное (нормал) и полужирное (болд). Второй способ – числовой, 100-900, чем цифра выше, тем более жирное начертание.
- font-family. Определяет список шрифтов, которые будут использоваться при стилизации текста. Могут использоваться как названия шрифтов, так и названия групп шрифтов.
Довольно часто стили текста CSS называют тегами, используя привычное название из HTML. Хоть это по сути разные термины с отличным друг от друга синтаксисом, но для простоты понимания на это зачастую не обращают внимания.
CSS – теги для текста
Для форматирования текста существует много различных тегов CSS. Расстояние между буквами определяется свойством letter-spacing. Значение можно задавать в пикселях, дюймах, пунктах и других вариантах. Допускается даже отрицательное значение, но предварительно нужно убедиться, что текст получается читабельным.
Также полезным будет text-align. Этот тег выравнивает текст в зависимости от указанного значения:
- left;
- center;
- right;
- justify.
Последний отвечает за выравнивание по ширине строки. При этом тег line-height нужен для того, чтобы задать высоту нашей строчки, а padding и margin – для формирования отступов вокруг элемента.
Хотите знать больше про CSS? Как работать с каскадными таблицами, чтобы у веб-сайтов и приложений получался удобный и красивый дизайн? На эти и другие вопросы вы сможете получить ответы в Компьютерной школе Hillel.
По материалам: https://itwiki.dev/ru
1.4. Работа с текстом
Грамотно отформатированный текст дает понять поисковым системам, какие слова несут важную смысловую нагрузку, по каким из них предпочтительно ранжировать веб-страницу в поисковой выдаче.
Напомним, что вся текстовая информация, отображаемая на сайте, размещается внутри элемента <body>.
Заголовки
Заголовки являются важными элементами веб-страницы, они упорядочивают текст, формируя его визуальную структуру. Элементы <h2>…<h6> должны использоваться только для выделения заголовков нового раздела или подраздела.При использовании заголовков необходимо учитывать их иерархию, т.е. за <h2> должен следовать <h3> и т.д. Также не рекомендуется вкладывать в заголовки другие элементы.
Заголовок самого верхнего уровня, на странице рекомендуется использовать только один раз, по возможности частично дублируя заглавие страницы. Элемент <h2> должен быть уникальным для каждой страницы сайта.
Элемент <h3>
Представляет подзаголовки элемента <h2>.
Элемент <h4>
Показывает подзаголовки элемента <h3>.
Элементы <h5>, <h5>, <h6>
Обозначают подзаголовки четвёртого, пятого и шестого уровня.
<h2>Заголовок 1-го уровня</h2> <h3>Заголовок 2-го уровня</h3> <h4>Заголовок 3-го уровня</h4> <h5>Заголовок 4-го уровня</h5> <h5>Заголовок 5-го уровня</h5> <h6>Заголовок 6-го уровня</h6>
Абзацы, средства переноса текста
Разбивает текст на отдельные абзацы, отделяя друг от друга пустой строкой. Браузер автоматически добавляет верхнее и нижнее внешнее поле margin, равное 1em, при этом поля соседних абзацев «схлопываются».
Элемент <br>
Переносит текст на следующую строку, создавая разрыв строки.
Элемент <hr>
Используется для разделения контента на веб-странице. Отображается в виде горизонтальной линии.
<p>Земля <br> становится тяжелее день ото дня <br> из-за падающей на нее космической пыли.</p> <p>Венера - единственная планета, вращающаяся по часовой стрелке.</p> <hr> <p>Юпитер больше, чем все остальные планеты вместе взятые.</p>
Элементы для форматирования текста
Это любые видимые нам изменения текста. Практически всем таким тегам по умолчанию в браузерах заданы стили. Так что напрямую за визуальное форматирование отвечает CSS.
Элемент <b>…</b>
Делает текст жирным.
P.s. Сейчас считается, что использование <b> избыточно и для визуального выделения нужно использовать CSS, а для важных участков <strong>.
Элемент <i>…</i>
Предназначен для визуального выделения текста курсивом и не несёт смысловой нагрузки.
Элемент <u>…</u>
Подчёркивает текст.
Случаев использования u не так много. Чаще всего его используют для выделения слов с орфографическими ошибками и для подчёркивания имён собственных в китайском языке.
Элемент <s>…</s>
Перечеркнутый текст.
Используется для содержимого, которое уже не является точным или актуальным. Элемент <s> не должен применяться для удалённого текста, для этой цели есть элемент <del>.
Элемент <mark>…</mark>
Применяется для выделения фрагментов текста в справочных целях, окрашивая блок символов желтым цветом.
<p>Вот так можно вывести текст с <b>полужирным</b> начертанием шрифта.</p> <p>Вот так можно отобразить текст <i>курсивом</i>.</p> <p>Вот так можно отобразить <u>подчеркнутый</u> текст.</p> <p>Вот так можно <s>перечеркнуть</s> текст.</p> <p>Вот так можно <mark>выделить</mark> текст.</p>
Подстрочные и надстрочные элементы
Элемент <sub>…</sub>
Используется для создания нижних индексов. Сдвигает текст ниже уровня строки, уменьшая его размер.
Элемент <sup>…</sup>
Используется для создания степеней. Сдвигает текст выше уровня строки, уменьшая его размер.
<p>Сейчас мы изучим формулу E=mc<sup>2</sup>.</p> <p>В 2019 году концентрация CO<sub>2</sub> в атмосферном воздухе выросла на 2 ppm. </p>Семантическая разметка
В языке HTML существует ряд текстовых элементов, не вносящих изменения в структуру веб-страницы, но добавляющих дополнительную информацию. Эти теги принято называть семантической (то есть смысловой) разметкой.
Это форматирование на уровне смысла и содержания. Оно нужно браузерам, вспомогательным и голосовым технологиям. Это особенно важно для программ чтения с экранов — скринридеров.
Элемент <strong>…</strong>
Также делает текст жирным и логически выделяет важный участок текста.
Этот тег несёт смысловую нагрузку и размечает именно важную часть. Его не следует применять на всех участках подряд.
Элемент <em>…</em>
Отображает шрифт курсивом, придавая тексту значимость.
Внешне отображение тега не отличается от тега <i>, но при этом элемент <em> используется только тогда, когда есть смысловая необходимость выделить текст.
Элемент <small>…</small>
Уменьшает размер шрифта на единицу по отношению к обычному тексту.
Элемент <ins>…</ins>
Выделяет текст в новой версии документа, подчёркивая его.
Для элемента доступны атрибуты cite и datetime.
Элемент <del>…</del>
Перечёркивает текст. Используется для выделения текста, удаленного из документа.
Для элемента доступны атрибуты cite и datetime.
<p>Игрушка содержит большое количество мелких деталей и <strong>не предназначена для детей младше пяти лет</strong>.</p> <p>Я <em>думаю</em>, Анна была первой.</p> <p>Я думаю, <em>Анна</em> была первой.</p>
Элементы для оформления цитат, аббревиатур и определений
Элемент <q>
Используется для выделения коротких цитат. Браузерами заключается в кавычки.
Элемент <blockquote>
Используется для длинных цитат, занимающих целый абзац.
Элемент <cite>
Применяется для выделения цитат, названий произведений, сносок на другие документы.
Элемент <bdo>
Используется для изменения текущего направления текста
<p>Станислав Лец утверждал: <q>Чаще всего выход там, где был вход</q>.</p> <hr> <p>Возможно, Ленин использовал фразу А. П. Чехова из произведения «Моя жизнь (рассказ провинциала)» гл. VI, первая публикация которого была в приложении к «Ниве» в 1896 г.</p> <blockquote> Учиться нам нужно, учиться и учиться, а с глубокими общественными течениями погодим: мы ещё не доросли до них и, по совести, ничего в них не понимаем. </blockquote> <hr> <p>Игра <cite>Diablo</cite> уносит нас в мир тёмного фэнтези и основана на <cite>GURPS</cite> — универсальной системе ролевых игр, разработанной компанией Steve Jackson Games в 1986 году. </p> <hr> <p><bdo>А роза упала на лапу Азора</bdo></p>Аббревиатуры и определения
Элемент <abbr>
Применяется для форматирования аббревиатур.
Браузером обычно подчеркивается пунктирной линией. Расшифровка сокращения осуществляется с помощью атрибута title, она появляется при наведении курсора мыши на текст.
Элемент <dfn>
Позволяет выделить текст как определение.
Несмотря на наличие данного элемента, рекомендуется выделять текст силами CSS.
Элементы для ввода «компьютерного» текста
Служит для выделения фрагментов программного кода. Отображает текст моноширинным шрифтом.
Элемент <kbd>…</kbd>
Отмечает фрагмент как вводимый пользователем с клавиатуры. Отображает текст моноширинным шрифтом.
Элемент <samp>. ..</samp>
Применяется для выделения результата, полученного в ходе выполнения программы. Отображает текст моноширинным шрифтом.
Элемент <var>…</var>
Выделяет имена переменных, отображая текст курсивом.
Элемент <pre>…</pre>
Позволяет вывести текст на экран, сохранив изначальное форматирование. Пробелы и переносы строк при этом не удаляются.
Элемент span
Тег <span>(от англ. span — интервал) — это контейнер для текста.Span используют, если нужно выделить другим цветом отдельные слова, словосочетания и предложения, изменить размер шрифта, добавить другой фон, обвести рамкой участок текста.
Со span можно использовать атрибуты, title=»» и lang=»»
Это не семантический тег и влияет только на внешний вид элементов, если ему заданы стили. Для скринридеров и поисковых роботов он не имеет значения, но есть одно исключение.
Это исключение — трюк с атрибутом lang=»». Если в тексте есть иностранные слова, то можно оборачивать их в span с указанием другого языка. Тогда скринридер прочтёт их с правильным произношением.
Пример, внутри абзаца <p> можно изменить цвет и размер первого слова, если его выделить с помощью элемента <span> и задать для него желаемый стиль.
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>SPAN</title> <style> span { color: red; /* Красный цвет символов */ } </style> </head> <body> <p>Разумные люди приспосабливаются к окружающему миру. Неразумные люди приспосабливают мир к себе. Вот почему прогресс определяется действиями неразумных людей.</p> <p>Автор: <span>Бернард Шоу</span></p> </body> </html>
Списки
Списки — один из способов представления контента на странице. С их помощью легко группировать небольшие связанные фрагменты.Для их создания в HTML используется несколько тегов, вложенных друг в друга:
- <ul> или <ol> для определения типа списка
- <li> для создания пункта списка
<тип_списка> <пункт_списка>Текст</пункт_списка> </тип_списка>Маркированный список
Для создания маркированного списка используется тег <ul>.
Маркированные списки используются, когда информация не требует определённой последовательности.
Например, список продуктов. Не так важно, что будет куплено первым: молоко или хлеб, важно — купить все продукты.
<ul> <li>Молоко</li> <li>Хлеб</li> <li>Вода</li> </ul>Нумерованный список
Для группировки последовательной информации используются нумерованные списки, важной особенностью которых является наличие порядкового номера элемента.
Такие списки удобны, если обозначается последовательность действий, которые нужно совершить.
Нумерованный список создаётся с помощью тега <ol>, внутри которого также лежат элементы в тегах <li>.
Например, список дел на день:
<ol> <li>Купить еды</li> <li>Сходить в Цифру</li> <li>Приготовить ужин</li> </ol>Вложенные списки
Составляя список дел может возникнуть необходимость разбить пункты на несколько дополнительных подпунктов. Например, в списке дел пункт «Сходить в магазин» может содержать в себе список покупок.
Для создания такой структуры используются вложенные списки.
Это позволяет вкладывать в качестве элемента список не просто текст, а новый список, создавая сложную структуру:
<ul> <li>Сходить в магазин <ul> <li>Купить молоко</li> <li>Купить хлеб</li> </ul> </li> <li>Прийти на занятия в Цифру</li> </ul>Вложенный список является частью пункта списка и находится внутри тега <li>.
Такая вложенность позволяет сохранить семантику и указать, что вложенный список относится именно к пункту «Сходить в магазин», а не к какому-либо ещё.
Можно вкладывать списки разных видов друг в друга: маркированные в нумерованные и наоборот. Главное — следить за открытием и закрытием тегов. В случае ошибки браузер попытается самостоятельно исправить ошибку, но не всегда удачно.
Картинки
Картинки конечно же не относятся к тексту, но для лучшего восприятия текста на странице о них расскажем.Они помогают ориентироваться в тексте, разбивать его на составные части, а также создают настроение у читателя.
Картинки на странице не существуют сами по себе. Предварительно они должны быть загружены в директорию на сервере или на специальный хостинг картинок.
Для вставки картинки на страницу используется непарный тег <img>, у которого два обязательных атрибута: src и alt.
Атрибут src
В атрибуте src указывается путь к изображению. Это тоже ссылка, как и в теге <a>, только теперь не происходит перенаправление пользователя, а браузер загружает изображение по этому пути, если оно существует. Путь к картинке может быть как относительный, так и абсолютный.
<img src="/images.png">Атрибут alt
Что делать, если картинка в данный момент недоступна? В этом случае браузеры показывают маленькую картинку, обозначающую, что изображение недоступно.
Но как пользователь поймёт, что здесь было? Может изображение критически важное для статьи, и без него теряется смысл написанного? Можно посоветовать пользователю зайти попозже, когда изображение будет доступно, а можно описать ему, что было изображено.
Для этого используется атрибут alt, значением которого является текст. Он будет показан при невозможности загрузить изображение.
<img src="https://cdn.pixabay.com/photo/2018/03/23/02/06/cute-3252459_960_720.jp" alt="Тут котик">
Размеры изображения
Важной составляющей при работе с изображениями являются его размеры. При скачивании картинки со стороннего ресурса и её вставки на страницу, часто возникает ситуация, что изображение очень большое, и его нужно уменьшить.
Для этого существуют атрибуты width и height, которые позволяют установить ширину и высоту для картинки.
<img src="https://cdn.pixabay.com/photo/2018/03/23/02/06/cute-3252459_960_720.jpg" alt="Тут котик">Картинка будет отображена в размере 240×360 пикселей.
Важно помнить, что использование атрибутов width и height не меняет физический размер картинки — она будет весить столько же, изменится только визуальный размер. Для оптимизации страницы подбирайте картинки нужного размера или уменьшайте их с помощью графического редактора, либо специальных сервисов. Сейчас многие пользуются мобильными телефонами и мобильным интернетом, поэтому вес страницы имеет важное значение.
Практика
Воссоздайте код представленной ниже html-страницы. Используйте теги <p>, <dfn>, <em>, <strong>, <br>.
Подсказка: Для того, чтобы верно отобразились символы «<» и «>», используйте таблицу мнемоник символов — https://unicode-table.com/ru/html-entities/
В нашей задаче это < — «<» и > — «>». Пишется <ul>
2. Красим текст
Сделайте страницу по примеру ниже. Стили подключите отдельным файлом.
Для выделения используйте несемантические теги для выделения текста жирным и курсивным.
Паттерн возьмите с сайта http://css.yoksel.ru/css-patterns/ всему файлу.
- цвет #200772
- выравнивание по центру
- Выравнивание по ширине, т.е. одновременное выравнивание по левому и правому краям (подсказка: свойства выравнивания)
- Отступ первой строки (красная строка) на 40px
- шрифт Sans-Serif
- Размер текста 18px
- цвет #9F3ED5
- цвет #4671D5
Текст для вставки:
CMS — «система управления контентом» (движок) – написанная PHP-программистами основа для сайта, с помощью которой вы сможете управлять сайтом (добавлять контент, менять пункты меню и т.п.) не зная HTML и CSS.
Однако, для того чтобы сделать сайт с помощью CMS потребуются услуги и программиста, и дизайнера, и верстальщика. И капиталовложения.
Какие бывают cms
Бывают различные системы управления контентом: для интернет-магазинов, для блогов, для форумов и т.д.
Примеры cms
Примеры популярных CMS: Joomla, WordPress (для блогов), PhpBB (для форумов).
CMS-ки бывают платные и бесплатные.
3. Немного списков
Сделайте страницу по примеру ниже. Стили подключите отдельным файлом.
- цвет #D8DAD3
- выравнивание по левому краю
- шрифт Sans-Serif
- цвет фона #697537
- шрифт Sans-Serif
- Размер текста 18px
- цвет фона #D8DAD1
Опоссум
Содержание:
1. Описание
- Внешний вид и особенности
- Где обитает
- Чем питается
- Характер и образ жизни
Описание
Семейство «опоссумовые» входит в класс сумчатых млекопитающих, обитающих в основном на просторах американского континента.
Считается, что опоссумы представляют древнейших обитателей нашей Планеты, которые сохранились в первозданном виде еще с мелового периода.
По крайней мере, так считают специалисты.
Итак, в природной среде обитает:
Опоссум обыкновенный
Опоссум виргинский
Водяной опоссум
Мышиный опоссум
Опоссум серый голохвостый
Опоссум патагонский
Интересный момент!
Некоторые виды предпочитают селиться рядом с человеческим жильем, хотя в основном опоссумы предпочитают не встречаться с человеком.
Предыдущее занятие | Следующее занятие
текстовая ориентация | CSS-трюки — CSS-трюки
DigitalOcean предоставляет облачные продукты для каждого этапа вашего путешествия. Начните с бесплатного кредита в размере 200 долларов США!
Свойство text-orientation
в CSS выравнивает текст по строке при работе с вертикальным режимом письма
. По сути, он поворачивает либо строку на 90° по часовой стрелке, чтобы помочь контролировать отображение вертикальных языков — так же, как text-combine-upright
поворачивает группы символов в строке текста в вертикальном сценарии, но для полных строк текста.
.элемент { ориентация текста: смешанная; режим письма: вертикальный-rl; }
Для обработки двунаправленного текста — например, блока, который содержит текст как слева направо, так и справа налево — проверьте свойство unicode-bidi
. Он сочетается со свойством direction
, чтобы переопределить то, как браузер решает отображать текст.
Синтаксис
ориентация текста: смешанная | вертикальный | сбоку
- Исходный:
смешанный
- Применяется к: всем элементам, кроме групп строк таблицы, строк, групп столбцов и столбцов
- Унаследовано: да
- Проценты: н/д
- Вычисленное значение: заданное значение
- Тип анимации: не анимация
Значения
/* Значения ключевых слов */ ориентация текста: смешанная; /* по умолчанию */ ориентация текста: вертикальная; ориентация текста: сбоку; ориентация текста: сбоку-справа; /* Глобальные значения */ ориентация текста: наследовать; ориентация текста: начальная; /* смешанный */ ориентация текста: не задана;
-
смешанный
: Значение по умолчанию. Символы горизонтального письма поворачиваются на 90° по часовой стрелке. Символы в вертикальном сценарии отображаются в их естественной вертикальной ориентации. -
вертикально
: Символы горизонтального шрифта устанавливаются в их естественное горизонтальное вертикальное положение, включая некоторые глифы. Таким образом, если режим вертикального письма может повернуть строку текста так, что символы будут расположены боком, это значение повернет сами символы 90° к их естественному положению. Обратите внимание, что это значение заставляет свойствоdirection
использовать значениеltr
, что означает, что все символы обрабатываются так, как будто они находятся в режиме письма слева направо. -
сбоку
: Весь текст в режиме вертикального письма отображается сбоку, как если бы он был в горизонтальной раскладке, но вся строка повернута на 90° по часовой стрелке. -
sideways-right
: Некоторые браузеры считают это значение псевдонимом длясбоку Значение
сохранено для обратной совместимости.
use-glyph-orientation
было удалено как значение ключевого слова в декабре 2015 года. Оно использовалось в элементах SVG для определения свойств SVG glyph-orientation-vertical
и glyph-orientation-horizontal
, которые теперь устарели. glyph-orientation-vertical
теперь является псевдонимом для text-orientation
.
Поддержка браузера
Рабочий стол
Chrome | Firefox | IE | Edge | Safari |
---|---|---|---|---|
48 | 41 | № | 79 | 10.1* |
Мобильный телефон/планшет
Android Chrome 9 0109 | Android Firefox | Android | iOS Safari |
---|---|---|---|
114 | 115 | 114 | 10,0-10,2 |
Спецификация
- Режимы написания CSS Уровень 3 (черновик редактора)
Дополнительная информация
- Почему вертикальная ориентация текста является кошмаром для кроссбраузерной совместимости? от Nikhil — подробное объяснение
текстовой ориентации
ирежима письма
. - Простое создание бокового текста с помощью CSS-свойства «writing-mode» Ади Пурдилы — исследуйте различные подходы в дополнение к использованию
text-orientation
. - 2 способа создания вертикального текста в CSS от W.S. Toh — более прямое сравнение между подходами, использующими
режим письма
итекстовую ориентацию
. - Вращение текста от Криса Койера — подход к вертикальному тексту с использованием
преобразования
вместорежима письма
илиориентации текста
.
CSS text-wrap: balance — Chrome Developers
Chrome Canary включает новую функцию — text-wrap: balance
из CSS Text Level 4. Чтобы проверить это, включите chrome://flags/#enable-experimental-web-platform-features, а затем взгляните на примеры в этом посте, чтобы узнать, как эта строка CSS может значительно улучшить ваши текстовые макеты.
Без text-wrap: balance
; у дизайнеров, редакторов контента и издателей есть несколько инструментов для изменения баланса строк. Лучшие доступные варианты — использовать
или
, чтобы помочь направить текстовые макеты к более разумным решениям о том, где разбивать строки и слова.
Как разработчик вы не знаете окончательный размер, размер шрифта или даже язык заголовка или абзаца. Все переменные, необходимые для эффективного и эстетичного обтекания текстом, находятся в браузере. Вот почему мы видим перенос заголовков, как на следующем изображении:
Попробуйте демо.unbalanced {
max-inline-size: 50ch;
}
С text-wrap: balance
из CSS Text 4 вы можете запросить у браузера наилучшее сбалансированное решение переноса строк для текста. Браузер действительно знает все факторы, такие как размер шрифта, язык и выделенная область. Результаты сбалансированного переноса текста в браузере сегодня выглядят следующим образом в Chrome Canary с включенными функциями chrome://flags/#enable-experimental-web-platform-features:
. balanced {
max-inline-size: 50ch;
text-wrap: баланс;
}
Полезно видеть их рядом, без наложения отладочной информации.
Ваш глаз должен быть гораздо более доволен сбалансированным текстовым блоком. Он лучше привлекает внимание и в целом легче читается.
# Нахождение баланса
Заголовки — это первое, что видят читатели; они должны быть визуально привлекательными и легко читаемыми. Это привлекает внимание пользователей и дает ощущение качества и уверенности. Хорошая типографика придает уверенности читателям, побуждая их продолжать чтение.
Традиционно эта задача выполнялась вручную или оптически, поскольку дизайнер, уравновешивающий текст, хочет порадовать глаз, а не математику. Эту тему часто называют метрической и оптической юстировкой. Для крупных изданий, таких как New York Times, балансировка заголовков является очень важной деталью взаимодействия с пользователем.
Попробуйте демонстрациюСбалансированный текст основной статьи не является обычным явлением, поскольку он не должен выделяться или привлекать внимание читателя.
Балансировка текста в типографике восходит к ранним дням печати, когда печатники размещали буквы вручную. По мере развития инструментов и методов менялись и результаты. В наши дни у дизайнеров есть цвет, вес, размер и многое другое, чтобы сбалансировать текст в своих проектах.
Однако в Интернете возможности управления ограничены, поскольку размеры и цвета документа меняются в зависимости от пользователей. text-wrap: balance
привносит искусство балансировки текста в Интернет автоматизированным способом, основываясь на работе и традициях дизайнеров полиграфической отрасли.
# Балансировка заголовков
Это будет и должно быть основным вариантом использования text-wrap: balance
. Нарисуйте глаз размером и сделайте его симметричным и разборчивым для глаза. Установите для всех заголовков сбалансированный перенос текста с помощью следующего CSS:
h2,h3,h4,h5,h5,h6 {
text-wrap: balance;
}
Простое применение этого стиля может не дать ожидаемых результатов, так как текст должен переноситься и, следовательно, где-то применяется максимальная длина строки. В примерах в этом посте вы увидите max-inline-size
, этот стиль похож на max-width
, но может быть установлен один раз для любого языка.
# Ограничения
Задача балансировки текста не бесплатная. Браузер должен перебирать итерации, чтобы найти наилучшее сбалансированное решение для упаковки. Эта стоимость производительности смягчается правилом, это работает только для 4 строк с переносом и до .
Попробуйте демо-версию# Вопросы производительности
Не рекомендуется применять балансировку обтекания текстом ко всему дизайну. Это пустой запрос из-за ограничения в четыре строки, который может повлиять на скорость рендеринга страницы.
Не
* {
text-wrap: balance;
}
СЧИТАТЬ ВМЕСТО
h2, h3, h4, h5, h5, h6, цитата {
text-wrap: balance;
}
Большим преимуществом этой функции является то, что вам не нужно ждать и синхронизировать балансировку переноса текста с загрузкой шрифта, как вы можете делать сегодня с JavaScript. Браузер позаботится об этом!
# Взаимодействия со свойством
white-space
Балансирующий текст конкурирует со свойством white-space
, потому что одно запрашивает отсутствие переноса, а другой запрашивает сбалансированный перенос. Преодолейте это, отключив свойство пробела, после чего снова можно будет применить сбалансированный перенос.
.balanced {
пробел: не установлен;
text-wrap: баланс;
}
# Балансировка не изменит встроенный размер элемента
У некоторых решений JavaScript для сбалансированного переноса текста есть преимущество, поскольку они изменяют0005 max-width самого содержащего элемента. Это имеет дополнительный бонус в виде «упаковки в термоусадочную пленку» для сбалансированного блока. text-wrap: balance
не имеет такого эффекта и может быть замечено в этом примере:
Видите, как ширина, показанная из DevTools, имеет кучу дополнительного пробела в конце? Это потому, что это только стиль упаковки, а не стиль изменения размера.