Css какое свойство определяет направление текста

Css какое свойство определяет направление текста thumbnail

Css какое свойство определяет направление текста

Модуль CSS Writing Modes определяет поддержку различных направлений письма: слева направо (например, латинское или индийское письмо), справа налево (например, иврит или арабское письмо), двунаправленный (например, смешанное латинское и арабское письмо) и вертикальный (например, азиатское письмо).

Направление текста в html-документах

1. Введение

Способы письма в CSS определяются свойствами writing-mode, direction и text-orientation.

Направление содержимого по линии строки (свойство direction), с заданным началом и концом строки, является основным.

Направление по линии блоков — направление, в котором выкладываются блоки с текстом, оно регулируется с помощью свойства writing-mode.

Горизонтальное письмо — это способ письма с горизонтальными строками текста, то есть с нисходящим или восходящим потоком блоков.

Вертикальное письмо — это способ письма с вертикальными строками текста, то есть с потоком блоков влево или вправо.

Также существует типографский режим, который определяет, должен ли текст следовать стандартам оформления текстового материала, характерным для вертикального направления вертикальных скриптов. Эта концепция отличает вертикальное направление вертикальных скриптов от повернутого горизонтального направления.

Под скриптом в данном контексте подразумевается набор символов, используемый для отображения письменного текста в одной или нескольких системах письменности. Некоторые системы письменности требуют несколько скриптов (например, японская, которая требует как минимум три скрипта: Хирагана и Катакана и иероглифы Кандзи, импортированные из Китая).

Таблица 1. Направленность скриптов, используемая для написания локализованных языков

Страна/РегионСкриптНаправление1Язык
АвстрияЛатинскийLTRНемецкий
АрменияАрмянскийLTRАрмянский
АфганистанАрабскийRTLПушту
БельгияЛатинскийLTRГолландский, Французский
Ближний ВостокАрабскийRTLАрабский
БолгарияКириллицаLTRБолгарский
БразилияЛатинскийLTRПортугальский (Бразильский)
ВеликобританияЛатинскийLTRАнглийский
ВенгрияЛатинскийLTRВенгерский
ГрузияГрузинскийLTRГрузинский
ГерманияЛатинскийLTRНемецкий
ГрецияГрецкийLTRГрецкий
ГонконгТрадиционный Китайский2LTR или TTBКантонский
ДанияЛатинскийLTRДатский
ЭстонияЛатинскийLTRЭстонский
ИзраильИвритRTLИврит
ИндияДеванагариLTRХинди3
ИспанияЛатинскийLTRКаталонский, Испанский
ИталияЛатинскийLTRИтальянский
Китай, за исключением ГонконгаУпрощенный КитайскийLTR или TTBМандарин
КореяХангиль, ХанджаLTR или TTBКорейский
ЛатвияЛатинскийLTRЛатвийский
Латинская Америка, кроме БразилииЛатинскийLTRИспанский
ЛитваЛатинскийLTRЛитовский
НидерландыЛатинскийLTRГолландский
НорвегияЛатинскийLTRНорвежский
ПакистанАрабскийRTLУрду
ПольшаЛатинскийLTRПольский
ПортугалияЛатинскийLTRПортугальский (Португалия)
РоссияКириллицаLTRРусский
РумынияЛатинскийLTRРумынский
Северная АмерикаЛатинскийLTRАнглийский, Французский, Испанский
Сербия и ЧерногорияКириллицаLTRСербский
СловакияЛатинскийLTRСловацкий
СловенияЛатинскийLTRСловенский
ТаиландТайскийLTRТайский
ТайваньТрадиционный КитайскийLTR или TTBМандарин
ТурцияЛатинскийLTRТурецкий
ФранцияЛатинскийLTRФранцузский
ФинляндияЛатинскийLTRФинская
ХорватияЛатинскийLTRХорватский
Чешская РеспубликаЛатинскийLTRЧешский
ШвейцарияЛатинскийLTRФранцузский, Немецкий, Итальянский
ШвецияЛатинскийLTRШведский
ЯпонияКандзи + Хирагана + КатаканаLTR или TTBЯпонский
  • 1 «TTB» — сверху вниз, «LTR» — слева направо, «RTL» — справа налево.
  • 2 Гонконгский скрипт содержит символы из Гонконгского Дополнительного Набора Символов.
  • 3 Англоязычное программное обеспечение часто используется в Индии.

Различные виды письменности имеют один или два собственных способа письма:

Системы на основе латинского алфавита обычно пишутся с использованием линейного направления слева направо с направлением потока блоков сверху вниз.

Css какое свойство определяет направление текстаРис. 1. Латинское письмо

Арабские системы обычно пишутся с использованием линейного направления справа налево с направлением потока блоков сверху вниз.

Css какое свойство определяет направление текстаРис. 2. Арабское письмо

Монгольские системы обычно пишутся с использованием линейного направления сверху вниз с направлением потока слева направо.

Css какое свойство определяет направление текстаРис. 3. Монгольское письмо

Азиатские системы обычно пишутся с использованием линейного направления слева направо с направлением потока блока сверху вниз или линейного направления сверху вниз с направление потока блоков справа налево. Многие журналы и газеты смешивают эти два способа письма на одной странице.

Css какое свойство определяет направление текстаРис. 4. Китайское письмо

Свойство text-orientation управляет ориентацией глифа.

Глиф — это базовая единица письменности — буква, знак, символ.

2. Направление вдоль линии строки и двунаправленность

В некоторых документах текст в одном блоке может отображаться со смешанной направленностью. Это явление называется двунаправленностью. Стандарт Unicode устанавливает алгоритм для упорядочения двунаправленного текста.

2.1. Задаем направление: свойство direction

Свойство direction устанавливает базовое направление двунаправленного абзаца. Также свойство сообщает порядок расположения столбцов таблицы, направление горизонтального переполнения overflow, выравнивание текста по умолчанию в строке и другие эффекты макета, которые зависят от базового направления строк в блоке.

Читайте также:  При какой температуре желатин теряет свои свойства желатина

Тем не менее, рекомендованный способ задания направление текста — с помощью атрибута dir элемента <html> и элемента <bdo>, а не посредством прямого использования свойства direction, которое не сможет обеспечить корректное отображение текста при отключенной таблице стилей.

Свойство direction не влияет на переупорядочение двунаправленного текста, если для вложенных элементов задано значение unicode-bidi: normal;.

Свойство direction, если оно указано для столбцов таблицы, не наследуется ячейками в столбце, поскольку столбцы не являются предками ячеек в дереве документа.

Свойство наследуется.

direction
Значения:
ltrЗначение по умолчанию, устанавливает базовое направление строк слева направо.
rtlСтроки текста отражаются справа налево.
initialУстанавливает значение свойства в значение по умолчанию.
inheritНаследует значение свойства от родительского элемента.

Синтаксис

direction: ltr;
direction: rtl;
direction: initial;
direction: inherit;

2.2. Встраивание и переопределение: свойство unicode-bidi

Свойство unicode-bidi используется вместе со свойством direction для поддержки написания слов в двунаправленном тексте, предоставляя авторам доступ к некоторым возможностями Unicode.

Свойство не наследуется.

unicode-bidi
Значения:
normalЗначение по умолчанию, направление отображения текста определяется браузером на основе используемой кодировки.
embedУстанавливает параметры отображения текста только для элементов уровня строки, меняя расположение конечных символов пунктуации в текущей строке при изменении направления. Направление строк текста соответствует значению свойства direction.
bidi-overrideРаботает аналогично значению embed, но при изменении направления меняется также и направление написания слов в строке.
isolateИзолирует содержимое строчного блока таким образом, что на него не влияет двунаправленное содержимое, окружающее его и на содержимое, окружающее блок, не влияет двунаправленное содержимое или указанная направленность этого блока. При этом каждая последовательность блоков уровня строки, не прерываемая какой-либо границей блока или принудительным разрывом абзаца, обрабатывается как изолированная последовательность.
isolate-overrideИзолирует содержимое строчного блока таким образом, что на него не влияет двунаправленное содержимое, окружающее его, а внутри блока содержимое ведет себя так, если бы для него было задано bidi-override.
plaintextЗначение ведет себя как isolate, с отличием в том, что направление строк определяется не свойством direction, а правилами Р2 и Р3 двунаправленного алгоритма Unicode.
initialУстанавливает значение свойства в значение по умолчанию.
inheritНаследует значение свойства от родительского элемента.

Значения, отличные от normal, вставляют соответствующие управляющие коды Unicode в текстовый поток в начале и конце встроенного элемента для изменения направления отображения текста.

Таблица 2. Управляющие коды двунаправленного направления, вставляемые свойством unicode-bidi в начале/конце отображения строчных блоков

Значения свойства unicode-bidiЗначения свойства direction
ltrrtl
начало срокиконец строкиначало срокиконец строки
normal
embedLRE (U+202A)PDF (U+202C)RLE (U+202B)PDF (U+202C)
isolateLRI (U+2066)PDI (U+2069)RLI (U+2067)PDI (U+2069)
bidi-overrideLRO (U+202D)PDF (U+202C)RLO (U+202E)PDF (U+202C)
isolate-override*FSI,LRO (U+2068,U+202D)PDF,PDI (U+202C,U+2069)FSI,RLO (U+2068,U+202E)PDF,PDI (U+202C,U+2069)
plaintextFSI (U+2068)PDI (U+2069)FSI (U+2068)PDI (U+2069)
* Пары LRO/RLO+PDF также применяются к корневому строчному элементу блочного контейнера, если значения были указаны для блочного контейнера.

Синтаксис

unicode-bidi: normal;
unicode-bidi: embed;
unicode-bidi: isolate;
unicode-bidi: bidi-override;
unicode-bidi: isolate-override;
unicode-bidi: plaintext;
unicode-bidi: initial;
unicode-bidi: inherit;

3. Вертикальное письмо

В отличие от языков, использующих латинский алфавит, которые в основном расположены горизонтально, азиатские языки, такие как китайский и японский, могут быть расположены вертикально. Приведенный ниже примере показывает один и тот же текст, выложенный по горизонтали и вертикали. В горизонтальном случае текст читается слева направо, сверху вниз. Для вертикального случая текст читается сверху вниз, справа налево.

Css какое свойство определяет направление текстаРис. 5. Сравнение вертикального и горизонтального японского

Переход от горизонтального письма к вертикальному может повлиять не только на макет, но и на набор текста. Например, положение знака препинания в пределах его интервала может изменяться от горизонтального к вертикальному регистру, а в некоторых случаях используются альтернативные глифы.

Вертикальный текст, который содержит текст латинского алфавита или текст из других сценариев, обычно отображаемых горизонтально, может отображать этот текст несколькими способами. Например, латинские слова могут быть повернуты в сторону, или каждая буква может быть ориентирована вертикально:

Css какое свойство определяет направление текстаРис. 6. Латинский в вертикальном японском

В некоторых особых случаях, таких как двузначные числа в датах, текст компактно помещается в одно вертикальное поле символов:

Читайте также:  Какие свойства воздуха используют в надувном круге

Css какое свойство определяет направление текстаРис. 7. Двузначные числа в вертикальном японском

3.1. Направление потока блоков: свойство writing-mode

Поддержка браузерами

IE: 6
Edge: 12
Firefox: 41
Chrome: 48, 8 -webkit-
Safari: 11, 5.1 -webkit-
Opera: 35, 15 -webkit-
iOS Safari: 11, 5 -webkit-
UC Browser for Android: 12.12
Chrome for Android: 79
Samsung Internet: 5, 4 -webkit-

Свойство writing-mode указывает, расположены ли строки текста по горизонтали или по вертикали, а также задает направление потока блоков. Применяется ко всем элементам, кроме столбцов и строк таблицы, основного контейнера ruby и ruby-контейнера с аннотацией.

Свойство наследуется.

writing-mode
Значения:
horizontal-tbЗначение по умолчанию. Направление потока сверху вниз. И способ письма, и типографский режим являются горизонтальными.
vertical-rlНаправление потока справа налево. И способ письма, и типографский режим являются вертикальными.
vertical-lrНаправление потока слева направо. И способ письма, и типографский режим являются вертикальными.
initialУстанавливает значение свойства в значение по умолчанию.
inheritНаследует значение свойства от родительского элемента.

Синтаксис

writing-mode: horizontal-tb;
writing-mode: vertical-rl;
writing-mode: vertical-lr;
writing-mode: initial;
writing-mode: inherit;

4. Введение в вертикальное расположение текста

В современных типографских системах всем глифам присваивается горизонтальная ориентация, которая используется при горизонтальном расположении текста. Чтобы выложить вертикальный текст, браузер должен преобразовать текст из его горизонтальной ориентации. Это преобразование является двунаправленным, и существует два типа:
вращение — глиф поворачивается из горизонтального положения в вертикальное;
перемещение — глиф перемещается из горизонтального положения в вертикальное.

Скрипты с родной вертикальной ориентацией имеют внутреннее двунаправленное преобразование, которое правильно ориентирует их в вертикальном тексте: большинство символов CJK (китайский/японский/корейский) перемещаются, то есть они всегда вертикально. Символы из других сценариев, таких как монгольский, вращаются.

4.1. Ориентация текста: свойство text-orientation

Поддержка браузерами

IE:
Edge: 79
Firefox: 41
Chrome: 48
Safari: 10.1 -webkit-
Opera: 35
iOS Safari: 10
UC Browser for Android: 12.12
Chrome for Android: 79
Samsung Internet: 5

Свойство text-orientation определяет ориентацию текста внутри строки. Текущие значения действуют только в вертикальных типографских режимах: свойство не влияет на блоки в горизонтальных типографских режимах. Применяется ко всем элементам, кроме рядов и колонок таблицы.

Свойство наследуется.

text-orientation
Значения:
mixedЗначение по умолчанию. Символы из горизонтальных сценариев набираются боком, то есть повернуты на 90° по часовой стрелке от их стандартной ориентации в горизонтальном тексте. Типографские единицы символов из вертикальных сценариев печатаются в соответствии с их внутренней ориентацией.
uprightСимволы из горизонтальных сценариев набираются вертикально в их стандартной горизонтальной ориентации. Символы из вертикальных сценариев набираются с их внутренней ориентацией, то есть, весь текст набирается в вертикальном положении.
sidewaysВесь текст набирается сбоку (повернут на 90° по часовой стрелке), как будто в горизонтальной разметке.
initialУстанавливает значение свойства в значение по умолчанию.
inheritНаследует значение свойства от родительского элемента.

Синтаксис

text-orientation: mixed;
text-orientation: upright;
text-orientation: sideways;
text-orientation: initial;
text-orientation: inherit;
Css какое свойство определяет направление текстаРис. 8. Значение свойства text-orientation: mixed, upright, sideways (writing-mode: vertical-rl;)

По материалам CSS Writing Modes Level 3

Источник

  • Содержание
    • Краткая информация
    • Синтаксис
    • Значения
    • Песочница
    • Пример
    • Примечание
    • Спецификация
    • Браузеры

Устанавливает направление текста на странице — по горизонтали или вертикали.

Краткая информация

Значение по умолчаниюhorizontal-tb
НаследуетсяДа
ПрименяетсяКо всем элементам, за исключением ячеек и строк таблицы
АнимируетсяНет

Синтаксис

writing-mode: horizontal-tb | vertical-rl | vertical-lr

Обозначения

ОписаниеПример
<тип>Указывает тип значения.<размер>
A && BЗначения должны выводиться в указанном порядке.<размер> && <цвет>
A | BУказывает, что надо выбрать только одно значение из предложенных (A или B).normal | small-caps
A || BКаждое значение может использоваться самостоятельно или совместно с другими в произвольном порядке.width || count
[ ]Группирует значения.[ crop || cross ]
*Повторять ноль или больше раз.[,<время>]*
+Повторять один или больше раз.<число>+
?Указанный тип, слово или группа не является обязательным.inset?
{A, B}Повторять не менее A, но не более B раз.<радиус>{1,4}
#Повторять один или больше раз через запятую.<время>#

Значения

horizontal-tbУстанавливает направление текста по горизонтали слева направо и сверху вниз.vertical-rlЗадаёт направление текста по вертикали сверху вниз и справа налево.vertical-lrЗадаёт направление текста по вертикали сверху вниз и слева направо.

Песочница

horizontal-tbvertical-rlvertical-lr

div {
writing-mode: {{ playgroundValue }};
}

Пример

<!DOCTYPE html>
<html>
<head>
<meta charset=”utf-8″>
<title>writing-mode</title>
</head>
<body>
<table>
<tbody>
<tr>
<th>horizontal-tb</th>
<th>vertical-rl</th>
<th>vertical-lr</th>
</tr>
<tr>
<td><p style=”writing-mode: horizontal-tb”>Образец текста</p></td>
<td><p style=”writing-mode: vertical-rl”>Образец текста</p></td>
<td><p style=”writing-mode: vertical-lr”>Образец текста</p></td>
</tr>
</tbody>
</table>
</body>
</html>

Читайте также:  Какими свойствами обладает вода байкала

Примечание

Internet Explorer 6 поддерживает нестандартные значения lr-tb и tb-rl, Internet Explorer 7 поддерживает значения lr-tb, rl-tb, tb-rl, bt-rl.

Chrome до версии 48, Opera до версии 35, Safari и Android поддерживают свойство -webkit-writing-mode.

Спецификация

Каждая спецификация проходит несколько стадий одобрения.

  • Recommendation (Рекомендация) — спецификация одобрена W3C и рекомендована как стандарт.
  • Candidate Recommendation (Возможная рекомендация) — группа, отвечающая за стандарт, удовлетворена, как он соответствует своим целям, но требуется помощь сообщества разработчиков по реализации стандарта.
  • Proposed Recommendation (Предлагаемая рекомендация) — на этом этапе документ представлен на рассмотрение Консультативного совета W3C для окончательного утверждения.
  • Working Draft (Рабочий проект) — более зрелая версия черновика после обсуждения и внесения поправок для рассмотрения сообществом.
  • Editor’s draft (Редакторский черновик) — черновая версия стандарта после внесения правок редакторами проекта.
  • Draft (Черновик спецификации) — первая черновая версия стандарта.

Браузеры

В таблице браузеров применяются следующие обозначения.

  •  — свойство полностью поддерживается браузером со всеми допустимыми значениями;
  •  — свойство браузером не воспринимается и игнорируется;
  •  — при работе возможно появление различных ошибок, либо свойство поддерживается лишь частично, например, не все допустимые значения действуют или свойство применяется не ко всем элементам, которые указаны в спецификации.

Число указывает версию браузера, начиная с которой свойство поддерживается.

Автор и редакторы

Автор: Влад Мержевич

Последнее изменение: 02.03.2020

Редакторы: Влад Мержевич

Как научиться разрабатывать сайты

Источник

С помощью CSS можно определять стиль и вид текста. Аналогично тому, что используется
тег <font>, задающий свойства шрифта, но стили обладают
большими возможностями и позволяют сократить код HTML.

Свойства шрифта

Изменение начертания шрифта и его размера происходит через свойства CSS, которые
описаны в табл. 1.

Табл. 1. Атрибуты CSS для управления шрифтами

СвойствоЗначениеОписаниеПример
font-familyимя шрифтаЗадает список шрифтовP {font-family: Arial, serif}
font-stylenormal

italic

oblique

Нормальный шрифт
Курсив
Наклонный шрифт
P {font-style: italic}
font-variantnormal
small-caps
Капитель
(особые прописные буквы)
P {font-variant: small-caps}
font-weightnormal
lighter
bold
bolder
100–900
Нормальная жирность
Светлое начертание
Полужирный
Жирный
100 — светлый шрифт,
900 — самый жирный
P {font-weight: bold}
font-size normal
pt
px

%
нормальный размер

пункты

пикселы

проценты

font-size: normal
font-size: 12pt
font-size: 12px
font-size: 120%

В примере 1 показано использование параметров при работе со шрифтами.

Пример 1. Задание свойств шрифта с помощью CSS

<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01//EN” “https://www.w3.org/TR/html4/strict.dtd”>
<html>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″>
<title>Шрифт</title>
<style type=”text/css”>
H1 {
font-family: Arial, Helvetica, Verdana, sans-serif; /* Гарнитура шрифта */
font-size: 150%; /* Размер текста */
font-weight: lighter; /* Светлое начертание */
}
</style>
</head>
<body>
<H1>Заголовок</H1>
<p>Обычный текст</p>
</body>
</html>

Ниже приведен результат данного примера (рис. 1).

Вид текста после применения стилей

Рис. 1. Вид текста после применения стилей

В табл. 2 приведены некоторые стилевые параметры для работы с текстом и результат
их применения.

Табл. 2. Результат использования различных параметров шрифтов

ПримерПримерПримерПримерПример
font-family: Verdana, sans-serif; font-size: 120%; font-weight:
light
font-size: large; font-weight: boldfont-family: Arial, sans-serif; font-size: x-small; font-weight:
bold
font-variant: small-capsfont-style: italic; font-weight: bold

Свойства текста

Кроме изменения параметров шрифтов, можно управлять и свойствами всего текста.
Значения свойств приведены в табл. 3.

Табл. 3. Свойства CSS для управления видом текста

СвойствоЗначениеОписаниеПример
line-heightnormal

множитель

значение

%
Интерлиньяж (межстрочный интервал)line-height: normal

line-height: 1.5
line-height: 12px

line-height: 120%

text-decorationnone

underline

overline

line-through

blink

Убрать все оформление

Подчеркивание

Линия над текстом

Перечеркивание

Мигание текста

text-decoration: none
text-transformnone

capitalize

uppercase

lowercase
Убрать все эффекты

Начинать С Прописных

ВСЕ ПРОПИСНЫЕ

все строчные

text-transform: capitalize
text-alignleft

right

center

justify

Выравнивание текстаtext-align: justify
text-indentзначение
%
Отступ первой строкиtext-indent: 15px;

text-indent: 10%

Ниже, в табл. 4 приведены некоторые параметры текста и результат их применения.

Табл. 4. Результат использования различных параметров текста

Пример: и это все о немПример: текст по центруПример: Это не ссылка,
а просто текст
Пример: отступ первой строкиПример: полуторный межстрочный интервал
text-transform: capitalize text-align:centertext-decoration: underlinetext-indent: 20pxline-height: 1.5

Источник