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

CSS позволяет тегам HTML назначать любые визуальные стили, формируя таким образом уникальный внешний вид сайта. Делается это при помощи свойств CSS. В данном справочнике приводится информация по всем свойствам CSS с описанием, допустимыми значениями и примерами.
hanging-punctuation | Устанавливает, может ли знак пунктуации располагаться вне контейнера с текстом вначале или в конце строки текста |
hyphens | Сообщает браузеру, как расставлять переносы слов в блоке текста |
letter-spacing | Устанавливает расстояние между символами в пределах элемента |
line-height | Устанавливает межстрочный интервал текста |
tab-size | Устанавливает размер отсупа, заданного при помощи символа табуляции |
text-align | Устанавливает горизонтальное выравнивание текста элемента |
text-align-last | Устанавливает выравнивание последней строки текста |
text-decoration | Добавляет оформление текста в виде подчеркивания, перечеркивания, линии над текстом |
text-decoration-color | Устанавливает цвет линии, которая добавляется через свойство text-decoration |
text-decoration-line | Устанавливает тип оформления текста — подчеркивание, перечеркивание, линия над текстом |
text-decoration-style | Устанавливает стиль декоративной линии оформления текста |
text-indent | Устанавливает величину отступа первой строки текстового блока |
text-justify | Определяет метод выравнивания текста по ширине |
text-overflow | Определяет параметры видимости текста в блоке, если текст целиком не помещается в заданную область |
text-transform | Управляет преобразованием текста элемента в заглавные или прописные символы |
vertical-align | Выравнивает элемент по вертикали относительно своего родителя или окружающего текста |
white-space | Устанавливает, как отображать пробелы между словами в пределах элемента |
word-break | Определяет, как делать перенос на новую строку внутри слов |
word-spacing | Устанавливает расстояние между словами в пределах элемента |
word-wrap | Устанавливает, можно или нельзя переносить на новую строку длинные слова |
@font-face | Позволяет определить настройки шрифтов, а также загрузить специфичный шрифт на компьютер пользователя |
font | Универсальное свойство, позволяющее определить все свойства шрифта за одну декларацию |
font-family | Задает семейство шрифта, которое будет использоваться для оформления текста содержимого |
font-size | Определяет размер шрифта. |
font-size-adjust | Позволяет контролировать размер шрифта, когда первый выбранный шрифт не доступен |
font-stretch | Устанавливает более широкое или узкое начертание шрифта |
font-style | Устанавливает стиль начертания шрифта — обычное, курсивное или наклонное |
font-variant | Определяет, как следует представлять строчные буквы — делать их все прописными уменьшенного размера или оставить без изменений |
font-weight | Устанавливает насыщенность или «жирность» начертания шрифта |
direction | Это свойство определяет направление текста |
unicode-bidi | Это свойство вместе со свойством direction определяет, как должен располагаться текст используемого языка |
background | Короткое свойство, устанавливающее все свойства фона элемента за одну декларацию |
background-attachment | Определяет, будет ли фоновое изображение зафиксировано, или оно будет прокручиваться вместе с остальным содержимым страницы |
background-blend-mode | Устанавливает режим наложения фонового изображения элемента на фоны других элементов. |
background-clip | Устанавливает область прорисовки фонового изображения |
background-color | Определяет фоновый цвет элемента |
background-image | Определяет фоновое изображение элемента |
background-origin | Устанавливает область позиционирования фонового изображения |
background-position | Задает начальное положение фонового изображения в пределах содержащего его элемента |
background-repeat | Определяет, как будет повторяться фоновое изображение, установленное с помощью параметра background-image |
background-size | Устанавливает размер фонового изображения |
color | Это свойство определяет цвет текста элемента |
border | Это свойство позволяет определить все атрибуты рамки HTML элемента за одну декларацию |
border-bottom | Это свойство позволяет определить все атрибуты нижней рамки HTML элемента за одну декларацию |
border-bottom-color | Это свойство определяет цвет нижней стороны рамки HTML элемента |
border-bottom-left-radius | Устанавливает радиус скругления левого нижнего уголка рамки |
border-bottom-right-radius | Устанавливает радиус скругления правого нижнего уголка рамки |
border-bottom-style | Это свойство определяет стиль нижней стороны рамки HTML элемента |
border-bottom-width | Это свойство определяет толщину нижней стороны рамки HTML элемента |
border-color | Это свойство определяет цвет всех четырех сторон рамки HTML элемента |
border-image | Позволяет устанавливать изображение вместо обычной рамки вокруг элемента |
border-image-outset | Устанавливает отступ рамки-изображения за пределы границ элемента |
border-image-repeat | Устанавливает способ заполнения фоновым изображением пространства между углами рамки |
border-image-slice | Определяет размер частей изображения, используемых для оформления границ элемента |
border-image-source | Задаёт путь к изображению, которое будет использоваться в качестве рамки элемента |
border-image-width | Задаёт ширину изображения для рамки элемента |
border-left | Это свойство позволяет определить все атрибуты левой рамки HTML элемента за одну декларацию |
border-left-color | Это свойство определяет цвет левой стороны рамки HTML элемента |
border-left-style | Это свойство определяет стиль левой стороны рамки HTML элемента |
border-left-width | Это свойство определяет толщину левой стороны рамки HTML элемента |
border-radius | Устанавливает радиус скругления уголков рамки |
border-right | Это свойство позволяет определить все атрибуты правой рамки HTML элемента за одну декларацию |
border-right-color | Это свойство определяет цвет правой стороны рамки HTML элемента |
border-right-style | Это свойство определяет стиль правой стороны рамки HTML элемента |
border-right-width | Это свойство определяет толщину правой стороны рамки HTML элемента |
border-style | Это свойство определяет стиль всей рамки вокруг элемента |
border-top | Это свойство позволяет определить все атрибуты верхней рамки HTML элемента за одну декларацию |
border-top-color | Это свойство определяет цвет верхней стороны рамки HTML элемента |
border-top-left-radius | Устанавливает радиус скругления левого верхнего уголка рамки |
border-top-right-radius | Устанавливает радиус скругления правого верхнего уголка рамки |
border-top-style | Это свойство определяет стиль верхней стороны рамки HTML элемента |
border-top-width | Это свойство определяет толщину верхней стороны рамки HTML элемента |
border-width | Это свойство определяет толщину всех четырех сторон рамки HTML элемента |
outline | Универсальное свойство, которое устанавливает атрибуты контура элемента |
outline-color | Определяет цвет контура |
outline-offset | Задает величину отступа контура от элемента |
outline-style | Определяет стиль контура |
outline-width | Определяет толщину контура |
box-sizing | Устанавливает алгоритм вычисления ширины и высоты элемента |
height | Устанавливает высоту блочных или заменяемых элементов |
max-height | Устанавливает максимальную высоту элемента. |
max-width | Устанавливает максимальную ширину элемента |
min-height | Устанавливает минимальную высоту элемента |
min-width | Устанавливает минимальную ширину элемента |
resize | Определяет, может ли пользователь изменять размер элемента |
width | Устанавливает ширину блочных или заменяемых элементов |
margin | Универсальное свойство, которое позволяет устанавливать размер всех отступов элемента за одну декларацию |
margin-bottom | Это свойство устанавливает размер нижнего отступа элемента |
margin-left | Это свойство устанавливает размер левого отступа элемента |
margin-right | Это свойство устанавливает размер правого отступа элемента |
margin-top | Это свойство устанавливает размер верхнего отступа элемента |
padding | Универсальное свойство, которое позволяет устанавливать размер всех полей элемента за одну декларацию |
padding-bottom | Это свойство устанавливает размер нижнего поля элемента |
padding-left | Это свойство устанавливает размер левого поля элемента |
padding-right | Это свойство устанавливает размер правого поля элемента |
padding-top | Это свойство устанавливает размер верхнего поля элемента |
bottom | Это свойство определяет расстояние от нижнего края HTML элемента до нижнего края его родительского элемента |
clear | Это свойство определяет, с какой стороны элемента запрещено его обтекание другими элементами |
clip | Это свойство определяет область позиционированного элемента, в которой будет показано его содержимое |
display | Определяет, как элемент должен быть показан в документе |
float | Определяет, по какой стороне будет выравниваться элемент, при этом остальные элементы будут обтекать его с другой стороны |
left | Это свойство определяет расстояние от левого края HTML элемента до левого края его родительского элемента, т.е. расстояние его смещения вправо |
overflow | Определяет, каким образом будет отображаться содержимое элемента, если оно не помещается в область вывода данного элемента |
overflow-x | Определяет, как будет отображаться содержимое элемента, если оно не помещается слева/справа в область вывода данного элемента |
overflow-y | Определяет, как будет отображаться содержимое элемента, если оно не помещается вверху/внизу в область вывода данного элемента |
position | Устанавливает способ позиционирования элемента |
right | Это свойство определяет расстояние от правого края HTML элемента до правого края его родительского элемента |
top | Это свойство определяет расстояние от верхнего края HTML элемента до верхнего края его родительского элемента |
visibility | Определяет видимость элемента |
z-index | Определяет порядок позиционированных элементов по z-оси |
align-content | Выравнивает строки флекс-элементов по вертикали внутри флекс-контейнера |
align-items | Выравнивает флекс-элементы внутри контейнера по высоте |
align-self | Устанавливает выравнивание по высоте отдельно взятого флекс-элемента |
flex | Универсальное свойство, которое позволяет указать параметры элемента, чтобы он эффективно заполнял доступное пространство |
flex-basis | Устанавливает базовую ширину флекс-элемента |
flex-direction | Определяет направление главной оси во флекс-контейнере |
flex-flow | Позволяет за одну декларацию задать направление главной оси и возможность переноса флекс-элементов на новую строку |
flex-grow | Определяет коэффициент увеличения ширины флекс-элемента относительно других флекс-элементов |
flex-shrink | Определяет коэффициент уменьшения ширины флекс-элемента относительно других флекс-элементов |
flex-wrap | Устанавливает, следует ли флекс-элементам располагаться в одну строку или можно занять несколько строк |
justify-content | Выравнивает флекс-элементы по ширине флекс-контейнера |
order | Определяет порядок вывода флекс-элементов внутри флекс-контейнера |
list-style | Определяет стиль маркера списка, его положение и его изображение |
list-style-image | Устанавливает изображение, которое будет использоваться в качестве маркера элементов списка |
list-style-position | Определяет, как будет размещаться маркер относительно текста |
list-style-type | Устанавливает вид маркера элементов списка |
border-collapse | Это свойство определяет, какую модель рамки вокруг ячеек таблицы следует использовать |
border-spacing | Это свойство определяет расстояние между рамками соседних ячеек таблицы |
caption-side | Это сойство определяет, где будет отображаться заголовок таблицы |
empty-cells | Это свойство задает отображение границ и фона в ячейке таблицы, если она пустая |
table-layout | Определяет, как браузер должен вычислять высоту и ширину ячеек таблицы, основываясь на ее содержимом |
content | Позволяет вставлять генерируемое содержание в текст веб-страницы, которое первоначально в тексте отсутствует |
counter-increment | Это свойство позволяет увеличить значение счетчика приращений, который задается свойством counter-reset |
counter-reset | Это свойство определяет идентификатор, в котором будет храниться счётчик отображений определенного элемента, а также его начальное значение |
quotes | Устанавливает тип кавычек, который применяется в тексте документа |
orphans | Определяет минимальное число строк текста, которое остается на предыдущей странице при печати документа |
page-break-after | Добавляет разрыв страницы при печати документа после заданного элемента |
page-break-before | Добавляет разрыв страницы при печати документа перед заданным элементом |
page-break-inside | Разрешает или запрещает разрыв страницы внутри заданного элемента при печати документа |
widows | Определяет минимальное число строк текста, которое располагается на следующей странице при печати документа |
column-count | Определяет количество колонок в многоколоночном тексте |
column-fill | Определяет, как контент должен распределяться внутри колонок. |
column-gap | Определяет расстояние между колонками в многоколоночном тексте |
column-rule | Определяет параметры разделительной линии между колонок многоколоночного текста |
column-rule-color | Устанавливает цвет разделительных линий между колонок в многоколоночном тексте |
column-rule-style | Определяет стиль разделительных линий между колонок в многоколоночном тексте |
column-rule-width | Определяет толщину разделительных линий между колонок многоколоночного текста |
column-span | Определяет, должен ли элемент в многоколоночном тексте занимать ширину всех колонок или только одну из них |
column-width | Определяет оптимальную ширину колонки в многоколоночном тексте |
columns | Позволяет одновременно задать ширину и количество колонок многоколоночного текста |
cursor | Определяет вид курсора при наведении мышки на элемент |
filter | Позволяет применить художественные эффекты к элементам |
Модуль CSS Writing Modes определяет поддержку различных направлений письма: слева направо (например, латинское или индийское письмо), справа налево (например, иврит или арабское письмо), двунаправленный (например, смешанное латинское и арабское письмо) и вертикальный (например, азиатское письмо).
Направление текста в html-документах
1. Введение
Способы письма в CSS определяются свойствами writing-mode, direction и text-orientation.
Направление содержимого по линии строки (свойство direction), с заданным началом и концом строки, является основным.
Направление по линии блоков — направление, в котором выкладываются блоки с текстом, оно регулируется с помощью свойства writing-mode.
Горизонтальное письмо — это способ письма с горизонтальными строками текста, то есть с нисходящим или восходящим потоком блоков.
Вертикальное письмо — это способ письма с вертикальными строками текста, то есть с потоком блоков влево или вправо.
Также существует типографский режим, который определяет, должен ли текст следовать стандартам оформления текстового материала, характерным для вертикального направления вертикальных скриптов. Эта концепция отличает вертикальное направление вертикальных скриптов от повернутого горизонтального направления.
Под скриптом в данном контексте подразумевается набор символов, используемый для отображения письменного текста в одной или нескольких системах письменности. Некоторые системы письменности требуют несколько скриптов (например, японская, которая требует как минимум три скрипта: Хирагана и Катакана и иероглифы Кандзи, импортированные из Китая).
Страна/Регион | Скрипт | Направление1 | Язык |
---|---|---|---|
Австрия | Латинский | LTR | Немецкий |
Армения | Армянский | LTR | Армянский |
Афганистан | Арабский | RTL | Пушту |
Бельгия | Латинский | LTR | Голландский, Французский |
Ближний Восток | Арабский | RTL | Арабский |
Болгария | Кириллица | LTR | Болгарский |
Бразилия | Латинский | LTR | Португальский (Бразильский) |
Великобритания | Латинский | LTR | Английский |
Венгрия | Латинский | LTR | Венгерский |
Грузия | Грузинский | LTR | Грузинский |
Германия | Латинский | LTR | Немецкий |
Греция | Грецкий | LTR | Грецкий |
Гонконг | Традиционный Китайский2 | LTR или 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 Англоязычное программное обеспечение часто используется в Индии.
Различные виды письменности имеют один или два собственных способа письма:
Системы на основе латинского алфавита обычно пишутся с использованием линейного направления слева направо с направлением потока блоков сверху вниз.
Рис. 1. Латинское письмо
Арабские системы обычно пишутся с использованием линейного направления справа налево с направлением потока блоков сверху вниз.
Рис. 2. Арабское письмо
Монгольские системы обычно пишутся с использованием линейного направления сверху вниз с направлением потока слева направо.
Рис. 3. Монгольское письмо
Азиатские системы обычно пишутся с использованием линейного направления слева направо с направлением потока блока сверху вниз или линейного направления сверху вниз с направление потока блоков справа налево. Многие журналы и газеты смешивают эти два способа письма на одной странице.
Рис. 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 в текстовый поток в начале и конце встроенного элемента для изменения направления отображения текста.
Значения свойства unicode-bidi | Значения свойства direction | |||
---|---|---|---|---|
ltr | rtl | |||
начало сроки | конец строки | начало сроки | конец строки | |
normal | — | — | — | — |
embed | LRE (U+202A) | PDF (U+202C) | RLE (U+202B) | PDF (U+202C) |
isolate | LRI (U+2066) | PDI (U+2069) | RLI (U+2067) | PDI (U+2069) |
bidi-override | LRO (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) |
plaintext | FSI (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. Вертикальное письмо
В отличие от языков, использующих латинский алфавит, которые в основном расположены горизонтально, азиатские языки, такие как китайский и японский, могут быть расположены вертикально. Приведенный ниже примере показывает один и тот же текст, выложенный по горизонтали и вертикали. В горизонтальном случае текст читается слева направо, сверху вниз. Для вертикального случая текст читается сверху вниз, справа налево.
Рис. 5. Сравнение вертикального и горизонтального японского
Переход от горизонтального письма к вертикальному может повлиять не только на макет, но и на набор текста. Например, положение знака препинания в пределах его интервала может изменяться от горизонтального к вертикальному регистру, а в некоторых случаях используются альтернативные глифы.
Вертикальный текст, который содержит текст латинского алфавита или текст из других сценариев, обычно отображаемых горизонтально, может отображать этот текст несколькими способами. Например, латинские слова могут быть повернуты в сторону, или каждая буква может быть ориентирована вертикально:
Рис. 6. Латинский в вертикальном японском
В некоторых особых случаях, таких как двузначные числа в датах, текст компактно помещается в одно вертикальное поле символов:
Рис. 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;
Рис. 8. Значение свойства text-orientation: mixed, upright, sideways (writing-mode: vertical-rl;)
По материалам CSS Writing Modes Level 3