Содержание
writing-mode | htmlbook.ru
Internet Explorer | Chrome | Opera | Safari | Firefox | Android | iOS | |
6.0+ | 8.0+ |
Краткая информация
Значение по умолчанию | Нет |
---|---|
Наследуется | Да |
Применяется | Ко всем элементам и генерируемому контенту |
Процентная запись | Неприменима |
Ссылка на спецификацию | http://dev.w3.org/csswg/css3-text-layout/#writing-mode |
Версии CSS
Описание
Устанавливает направление текста на странице. Свойство writing-mode является универсальным и позволяет одновременно задавать значения свойств direction и block-progression.
Синтаксис
writing-mode: lr-tb | rl-tb | tb-rl | bt-rl | tb-lr | bt-lr
Значения
- lr-tb
- Устанавливает направление текста слева направо.
- rl-tb
- Задает направление текста справа налево.
- tb-rl
- Текст располагается вертикально и выравнивается по верхнему и правому краю.
- bt-rl
- Текст располагается вертикально и выравнивается по нижнему и правому краю.
- tb-lr
- Текст располагается вертикально и выравнивается по верхнему и левому краю.
- bt-lr
- Текст располагается вертикально и выравнивается по нижнему и левому краю.
Влияние разных значений на положение текста в таблице показано на рис. 1.
Рис. 1. Положение текста при разных значениях writing-mode
В табл. 1 показаны значения свойств direction и block-progress, соответствующие значениям writing-mode, а также языки, где они
writing-mode | direction | block-progress | Для каких языков |
---|---|---|---|
lr-tb | ltr | tb | Романских, греческого, кириллических |
rl-tb | rtl | tb | Арабского, еврейских языков |
tb-rl | ltr | rl | Азиатских в вертикальном написании |
bt-rl | ltr | rl | Арабского, вставленного в азиатский документ |
tb-lr | ltr | rl | Монгольского |
bt-lr | rtl | rl | Арабского, вставленного в монгольский документ |
Пример
HTML5CSS2. 1CSS3IECrOpSaFx
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>writing-mode</title>
<style>
table {
border-collapse: collapse;
height: 350px;
width: 300px;
}
table td {
border: 1px solid #333;
padding: 5px;
}
</style>
</head>
<body>
<table cellspacing="0">
<tr>
<td>Текст</td>
<td>Текст</td>
<td>Текст</td>
<td>Текст</td>
<td>Текст</td>
<td>Текст</td>
</tr>
<tr>
<td>lr-tb</td>
<td>rl-tb</td>
<td>tb-rl</td>
<td>bt-rl</td>
<td>tb-lr</td>
<td>bt-lr</td>
</tr>
</table>
</body>
</html>
Браузеры
Internet Explorer 6.0 поддерживает только значения lr-tb и tb-rl, Internet Explorer 7.0 поддерживает значения lr-tb, rl-tb, tb-rl, bt-rl.
Изменение направления текста — Изучение веб-разработки
Многие свойства и значения, с которыми мы столкнулись до сих пор при изучении CSS, были привязаны к физическим размерам нашего экрана. Мы создаём границы, например, сверху, справа, снизу и слева от коробки.Эти физические размеры очень точно соответствуют контенту, который просматривается по горизонтали, и по умолчанию Интернет имеет тенденцию поддерживать языки с письмом слева направо (например, английский или французский) лучше, чем языки с письмом справа налево (например, арабский).
Однако в последние годы CSS развивался чтобы лучше поддерживать разную направленность контента, включая контент с направлением справа налево, а также контент сверху вниз (например, в японском языке) — эти разные направления называются режимами письма. По мере того, как вы продвигаетесь в обучении и начинаете работать с макетом, понимание режимов письма будет вам очень полезно, поэтому мы сейчас и познакомимся с ними.
Режим письма в CSS определяет, идёт ли текст по горизонтали или по вертикали. Свойство writing-mode
позволяет нам переключаться из одного режима письма в другой. Для этого вам не обязательно работать на языке, который использует режим вертикального письма — вы также можете изменить режим письма частей вашего макета для творческих целей.
В приведённом ниже примере заголовок отображается с использованием writing-mode: vertical-rl
. Теперь текст идёт вертикально. Вертикальный текст часто используется в графическом дизайне и может быть способом добавить более интересный вид вашему веб-дизайну.
Три возможных значения свойства writing-mode
:
horizontal-tb
: Направление потока блока сверху вниз. Предложения идут горизонтально.vertical-rl
: Направление потока блоков справа налево. Предложения идут вертикально.vertical-lr
: Направление потока блока слева направо. Предложения идут вертикально.
Таким образом, свойство writing-mode
на самом деле устанавливает направление, в котором элементы уровня блока отображаются на странице — сверху вниз, справа налево или слева направо. Это затем определяет направление движения текста в предложениях.
We have already discussed block and inline layout, and the fact that some things display as block elements and others as inline elements. As we have seen described above, block and inline is tied to the writing mode of the document, and not the physical screen. Blocks are only displayed from the top to the bottom of the page if you are using a writing mode that displays text horizontally, such as English.
If we look at an example this will become clearer. In this next example I have two boxes that contain a heading and a paragraph. The first uses writing-mode: horizontal-tb
, a writing mode that is written horizontally and from the top of the page to the bottom. The second uses writing-mode: vertical-rl
; this is a writing mode that is written vertically and from right to left.
When we switch the writing mode, we are changing which direction is block and which is inline. In a horizontal-tb
writing mode the block direction runs from top to bottom; in a vertical-rl
writing mode the block direction runs right-to-left horizontally. So the block dimension is always the direction blocks are displayed on the page in the writing mode in use. The inline dimension is always the direction a sentence flows.
This figure shows the two dimensions when in a horizontal writing mode.
This figure shows the two dimensions in a vertical writing mode.
Once you start to look at CSS layout, and in particular the newer layout methods, this idea of block and inline becomes very important. We will revisit it later on.
Direction
In addition to writing mode we also have text direction. As mentioned above, some languages such as Arabic are written horizontally, but right-to-left. This is not something you are likely to use in a creative sense — if you simply want to line something up on the right there are other ways to do so — however it is important to understand this as part of the nature of CSS. The web is not just for languages that are displayed left-to-right!
Due to the fact that writing mode and direction of text can change, newer CSS layout methods do not refer to left and right, and top and bottom. Instead they will talk about start and end along with this idea of inline and block. Don’t worry too much about that right now, but keep these ideas in mind as you start to look at layout; you will find it really helpful in your understanding of CSS.
The reason to talk about writing modes and direction at this point in your learning however, is because of the fact we have already looked at a lot of properties which are tied to the physical dimensions of the screen, and make most sense when in a horizontal writing mode.
Let’s take a look at our two boxes again — one with a horizontal-tb
writing mode and one with vertical-rl
. I have given both of these boxes a width
. You can see that when the box is in the vertical writing mode, it still has a width, and this is causing the text to overflow.
What we really want in this scenario, is to essentially swap height and width along with the writing mode. When we’re in a vertical writing mode we want the box to expand in the block dimension just like it does in the horizontal mode.
To make this easier, CSS has recently developed a set of mapped properties. These essentially replace physical properties — things like width
and height
— with logical, or flow relative versions.
The property mapped to width
when in a horizontal writing mode is called inline-size
— it refers to the size in the inline dimension. The property for height
is named block-size
and is the size in the block dimension. You can see how this works in the example below where we have replaced width
with inline-size
.
Logical margin, border, and padding properties
In the last two lessons we have learned about the CSS box model, and CSS borders. In the margin, border, and padding properties you will find many instances of physical properties, for example margin-top
, padding-left
, and border-bottom
. In the same way that we have mappings for width and height there are mappings for these properties.
The margin-top
property is mapped to margin-block-start
(en-US) — this will always refer to the margin at the start of the block dimension.
The padding-left
property maps to padding-inline-start
(en-US), the padding that is applied to the start of the inline direction. This will be where sentences start in that writing mode. The border-bottom
property maps to border-block-end
(en-US), which is the border at the end of the block dimension.
You can see a comparison between physical and logical properties below.
If you change the writing mode of the boxes by switching the writing-mode
property on .box
to vertical-rl
, you will see how the physical properties stay tied to their physical direction, whereas the logical properties switch with the writing mode.
You can also see that the <h3> (en-US) has a black border-bottom
. Can you work out how to make that bottom border always go below the text in both writing modes?
There are a huge number of properties when you consider all of the individual border longhands, and you can see all of the mapped properties on the MDN page for Logical Properties and Values.
Logical values
We have so far looked at logical property names. There are also some properties that take physical values of top
, right
, bottom
, and left
. These values also have mappings, to logical values — block-start
, inline-end
, block-end
, and inline-start
.
For example, you can float an image left to cause text to wrap round the image. You could replace left
with inline-start
as shown in the example below.
Change the writing mode on this example to vertical-rl
to see what happens to the image. Change inline-start
to inline-end
to change the float.
Here we are also using logical margin values to ensure the margin is in the correct place no matter what the writing mode is.
Should you use physical or logical properties?
The logical properties and values are newer than their physical equivalents, and therefore have only recently been implemented in browsers. You can check any property page on MDN to see how far back the browser support goes. If you are not using multiple writing modes then for now you might prefer to use the physical versions. However, ultimately we expect that people will transition to the logical versions for most things, as they make a lot of sense once you start also dealing with layout methods such as flexbox and grid.
The concepts explained in this lesson are becoming increasingly important in CSS. An understanding of the block and inline direction — and how text flow changes with a change in writing mode — will be very useful going forward. It will help you in understanding CSS even if you never use a writing mode other than a horizontal one.
In the next module we will take a good look at overflow in CSS.
CSS3-способы письма
Модуль 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
Вертикальный текст на CSS
Время чтения: 2 мин.
Очень часто при разработке дизайна сайта необходимо использовать вертикальный текст. Первое что приходит в голову это сделать текст в графическом редакторе, а затем изображения вставить на сайт. Но является ли данный способ самым оптимальным? В связи с этим я решил рассмотреть другие способы создания вертикального текста на CSS без использования изображений.
Рассмотрим как способами можно создать вертикальный текст ниже…
1 Метод: Тег <br>
Один из самых простых способ создать вертикальный текст на странице это использовать тег <br>.
1 2 3 | <h2> s <br> i <br> t <br> e <br> h <br> e <br> r <br> e <br> . <br> r <br> u </h2> |
Посмотреть пример
2 Метод: Статический блок
Всё что нам необходимо сделать это заключить каждую букву в тег <span> и прописать в CSS свойству display значение block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Статический блок</title> <style> h2 span { display: block; } </style> </head> <body> <h2> <span> s </span> <span> i </span> <span> t </span> <span> e </span> <span> h </span> <span> e </span> <span> r </span> <span> e </span> <span> . </span> <span> r </span> <span> u </span> </h2> </body> </html> |
Посмотреть пример
3 Метод: Использование JavaScript
Отличие от предыдущего в том, что не надо прописать тег <span> каждой букве, а будем добавлять динамически с помощью JavaScript:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Статический блок Javascript</title> <style> h2 span { display: block; } </style> </head> <body> <h2> sitehere.ru </h2> <script> var h2 = document.getElementsByTagName('h2')[0]; h2.innerHTML = '<span>' + h2.innerHTML.split('').join('</span><span>') + '</span>'; </script> </body> </html> |
Посмотреть пример
4 Метод: Ширина контейнера
Также вертикальный текст можно сделать задав свойству width контейнера, в котором находится текст, маленькую ширину:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Ширина контейнера</title> <style> h2 { width: 25px; font-size: 50px; word-wrap: break-word; } </style> </head> <body> <h2> sitehere.ru </h2> </body> </html> |
Посмотреть пример
5 Метод: CSS свойство whitespace
И последний способ, который мы сегодня рассмотрим, это использование свойства whitespace в CSS. Данное свойство делает почти то же что и тег <pre> за исключением того что не меняет шрифт текста на моноширинный. Вот как выглядит страница в этом случае:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Whitespace</title> <style> h2 { white-space: pre; } </style> </head> <body> <h2> s i t e h e r e . r u </h2> </body> </html> |
Посмотреть пример
Вывод
Также можно использовать тег <pre> и делать аналогично с последним методом.
Успехов!
HTML вертикальный текст
← →
Alexander Vasjuk
(2003-12-10 13:42)
[0]
Нет ли какого способа вывести в html страницу вертикальный текст, пусть недокументированного и работающего только под 6.0 и више…?
Очень страдает программист.
← →
NeyroSpace
(2003-12-10 13:46)
[1]
например печатать букву на экран строго задавая координаты через JavaScript->каскадн таб стилей коорд буквы
← →
Alexander Vasjuk
(2003-12-10 13:52)
[2]
Тоже вариант
А повернуть бы как-то
Неужели майкросовтовцы тут нигде не нарушили стандарт?
← →
VictorT
(2003-12-10 14:10)
[3]
В смысле нужно, чтоб буквы повёррнуты были на 90 градусов?
← →
Alexander Vasjuk
(2003-12-10 14:12)
[4]
Да, хорошо бы
Или хотя бы на 89 градусов
← →
VictorT
(2003-12-10 14:16)
[5]
> Или хотя бы на 89 градусов
😀 😀 😀 :D
Наверно придётся подключать свой шрифт… В спецификации HTML и CSS нашёл только про текст справа налево :(
← →
VictorT
(2003-12-10 14:20)
[6]
А вообще, наверно опиши подробней, для чего это нужно, тогда мож и решение найдётся, наиболее подходяшее…
← →
Brahman
(2003-12-10 14:20)
[7]
Делать на лету через Perl конвертацию символа в изображение с разворотом. Далее — по смыслу.
Возможно только на сервере, а не клиенте.
Прямых методов через html скорее всего не существует.
Это ведь Text все же.
← →
Dmitriy O.
(2003-12-10 14:23)
[8]
Сначала нарисовать а потом вставить
← →
VictorT
(2003-12-10 14:24)
[9]
> Делать на лету через Perl конвертацию символа в изображение
> с разворотом.
Ага, один из вариантов… То же кстати возможно и в PHP, если GDI подключена. Правда недостаток — трафик.
З.Ы. Я потому попросил конкретнее описать проблему, чтоб может в конкретном твоём случае возможно можно найти решение получше. А возможно, это просто не нужно.
← →
Alexander Vasjuk
(2003-12-10 14:36)
[10]
Описываю конкретно
Вывожу кросс-отчет в html-формате в виде таблицы.
Таблица не широкая, а очень широкая.
Причем львиная доля ширины — ее шапка.
Даже будучи перенесены по словам, заголовки много шире данных таблицы (числа).
Если заголовки выводить вертикально, таблица резщко сузится.
html-код генерирую прямо на сервере (mssql).
Не хотелось бы привлекать посторонние технологии.
Хорошую вы идею подсказали — понарисовать буковок и как катинки подставлять. Правда, тогда пропадает возможность управления размерами шрифта, но пока это лучшее решение.
← →
Alexander Vasjuk
(2003-12-10 14:53)
[11]
Ребата-а-а!
Нашел в google:
<html>
<body>
<table border=»1″>
<tr>
<td>Normal Cell</td>
<td>Vertical Cell</td>
<tr>
</table>
</body>
</html>
Понимаю, что нестандартно, но для местной сети сойдет
← →
VictorT
(2003-12-10 14:57)
[12]
Текст в шапке стандартный? Если да, то можно не рисовать буковки, а непосредственно полностью фразу (лучше использовать gif с прозрачностью).
Или, если не поворачивать буквы, то типа такого:
<th>н<br>а<br>з<br>в<br>а<br>н<br>и<br>е<br><br>п<br>о<br>л<br>я<th>
<br> можно вставлять не руками, а скриптом.
← →
VictorT
(2003-12-10 15:07)
[13]
> Alexander Vasjuk (10.12.03 14:53) [11]
Ух ты, прикольно, возьму на заметку. Правда в опере и нетскейпе не заработало. Кстати, не удалось мне сдалать, чтоб текст вывадился не сверху вниз, а слева направо, пробовал вместо сделать, не проканало… мож приведёшь саму ссылку, где нарыл?
← →
VictorT
(2003-12-10 15:08)
[14]
> чтоб текст вывадился не сверху вниз, а слева направо,
хотел сказать, не сверху вниз, а снизу вверх.
← →
kaif
(2003-12-10 15:23)
[15]
Я думаю Вам имеет смысл познакомиться с языком VML. Там много чего можно сделать для Вашей задачи.
← →
}|{yk
(2003-12-10 15:36)
[16]
А где вышеуказанный код работает? А меня ни в IE 5, ни в Mozilla 1.4 не работает :(
← →
VictorT
(2003-12-10 16:56)
[17]
> }|{yk © (10.12.03 15:36) [16]
У меня в ИЕ 6 работает.
← →
Alexander Vasjuk
(2003-12-10 17:14)
[18]
VictorT © (10.12.03 15:07) [13]
http://htnew.manual.ru/forum/view.php?thread=2406
только там более подробной информации нет
VictorT © (10.12.03 14:57) [12]
Нет,екст разный. Я ж говорю, это кросс-отчет, т.е. с переменным числом столбцов.
kaif © (10.12.03 15:23) [15]
это не vrml?
А что его поддерживает? И дайте ссылку-другую…
}|{yk © (10.12.03 15:36) [16]
IE 6.0.2800.1106
Все юзера в терминале, поэтому поставлю централизовано
← →
Style
(2003-12-11 09:07)
[19]
.раз только под IE6, то использовать не стоит.. Проще нарисовать…
← →
Alexander Vasjuk
(2003-12-11 12:29)
[20]
Style © (11.12.03 09:07) [19]
Зависит от прочих условий
В моем случае с интрасетью вполне
А еще у меня была идея поискать во всех кодировках символы, похожие на повернутые русские (и английские впрочем) и распологать их друг под другом.
← →
kaif
(2003-12-11 12:41)
[21]
Язык VML. Правда его тоже поддерживает только IE.
http://wdh.suncloud.ru/vml01.htm
← →
Alexander Vasjuk
(2003-12-12 18:35)
[22]
kaif © (11.12.03 12:41) [21]
таки это vrml
язык описания виртуальной реальности
помню, я плагин к эксплореру качал для него
а 6й стало быть без плагина может…
writing-mode | CSS | WebReference
Устанавливает направление текста на странице — по горизонтали или вертикали.
Краткая информация
Значение по умолчанию | 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
- Задаёт направление текста по вертикали сверху вниз и слева направо.
Песочница
Винни-Пух
Пятачок
Кролик
Пример
<!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>Образец текста</p></td>
<td><p>Образец текста</p></td>
<td><p>Образец текста</p></td>
</tr>
</tbody>
</table>
</body>
</html>
Объектная модель
Объект.style.writingMode
Примечание
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 (Черновик спецификации) — первая черновая версия стандарта.
Браузеры
6 | 12 | 8 | 48 | 15 | 35 | 5.1 | 11 | 41 |
Браузеры
В таблице браузеров применяются следующие обозначения.
- — свойство полностью поддерживается браузером со всеми допустимыми значениями;
- — свойство браузером не воспринимается и игнорируется;
- — при работе возможно появление различных ошибок, либо свойство поддерживается лишь частично, например, не все допустимые значения действуют или свойство применяется не ко всем элементам, которые указаны в спецификации.
Число указывает версию браузера, начиная с которой свойство поддерживается.
Автор и редакторы
Автор: Влад Мержевич
Последнее изменение: 02.03.2020
Редакторы: Влад Мержевич
Css текст под углом – Тарифы на сотовую связь
53 пользователя считают данную страницу полезной.
Информация актуальна! Страница была обновлена 16.12.2019
Добрый день, дорогие посетители!
При заполнении страниц сайта контентом часто возникает желание как-то украсить текст, выделить его, чтобы разнообразить подачу материала и сделать акцент на основных моментах статьи. Сделать это можно различными способами. Например, выделить отдельные фрагменты текста курсивом или сделать его наклонным.
Для реализации данного эффекта существует несколько способов. Я предлагаю сегодня рассмотреть, как реализовать наклонный текст CSS. Наклонный текст может быть нескольких видов. Уж так получается, что каждый вкладывает в это слово свое значение. Мы сегодня попробуем рассмотреть каждый из вариантов.
Навигация по статье:
Выделение курсивом с помощью CSS
Первый, и наиболее распространенный способ сделать наклонный текст CSS заключается в использовании стиля font-style со значением italic. Данное свойство придает тексту в заданном блоке курсивное начертание. В результате получается такой вид:
Иногда необычные дизайнерские решения вынуждают верстальщика прибегать к таким же нестандартным решениям при расположении текста. К примеру, повернуть один из текстовых элементов на определенный угол. В данной статье будут рассмотрены несколько простых решений этой задачи.
Замена текста картинкой
Наиболее примитивным решением поставленной задачи станет использование картинки. Средствами небезызвестной всем программы Adobe Photoshop текст без труда поворачивается на любой угол. Как вы понимаете, не нужно много ума, чтобы воспользоваться данным методом.
В некоторых ситуациях другим способом воспользоваться невозможно, однако в большинстве случаях отходят от использования картинки. Это объясняется рядом недостатков, которые сопутствуют указанной методике:
- Невозможность пользователю копировать информацию, в указанном контейнере;
- Сложность процедуры внесения исправлений в текстовую часть элемента;
- Увеличивается трафик на сервере сайта;
- Рост обращений к серверу при обновлении ресурса.
Несмотря на то, что нашлось такое количество негативных сторон применения картинки, у метода есть пару положительных эффектов.
- Кроссбраузерность – отсутствие проблем при отображении в разных браузерах.
- Высокая способность в позиционировании изображения.
Все-таки в данном случае отрицательные стороны перевешивают. Советую Вам обратиться к другим решениям.
Использование свойства CSS transform
Применение этого способа гораздо выше стоит в сравнении с изображением. Существенную разницу формирует гибкость в редактировании текста и возможность выделять и копировать содержимое повернутого контейнера. Главным камнем преткновения для развития этой методики была кроссбраузерность. Сейчас достигли неплохих результатов на этом фронте, что позволяет без проблем применять свойство transform.
Суть работы свойства заключается в разбитии плоскости по градусам. В следствие этого при указании определенного угла контейнер займет соответствующее положение. Стоит отметить, что свойство в чистом виде не применяется. Ему должны сопутствовать вендорные свойства, которые, собственно, и обеспечивают высокий показатель кроссбраузерности.
Важно отметить, что меняет положение не текст внутри блока, а именно сам блок, к которому обращено свойство через селектор класа или каким-либо другим способом. Ниже представлен пример использования метода
По итогу получим примерно такую картину:
Обращаюсь к такому свойству, оформление без проблем будет выводится в Firefox, Opera, Internet Explower и других вебкит-браузерах.
Обращение через Javascript
Суть процесса полностью аналогична рассмотренному перед этим методом. Для его реализации необходим минимум знаний js-кода, математики и разбираться в фильтре Matrix.
По итогу получим в браузере ту же картину, что и при использовании свойства transform.
Даже если Вы ни символа не понимаете в этой записи – не беда. Для работы с этим кодом достаточно понимать, что во второй строчке прописывается значение угла, его вы подставляете под себя, остальное – просто копируете без изменений.
Особенности использования Javascript и CSS
Эти два метода имеют несколько незначительных отличий в принципе работы, знать и учитывать которые очень важно.
Первое отличие основывается на разности высоты блока и его положения. Выход из ситуации достаточно простой и заключается в использовании свойства margin. Отступами мы выставляем блок на нужный уровень и позицию. Прочие разногласия в позиционировании можно устранить присвоением блоку значение абсолютного позиционирования, что тоже эффектно действует.
Более сложный и индивидуальный подход основывается на применении свойства transform-origin. Суть этой методики будет описана в последующих статьях.
Следующее отличие кроется в сущности самого поворота. При использовании js-кода точка поворота находится на краю блока. Во втором способе эта точка расположена в центре элемента. Для упрощения понимания смотрим на картинку ниже
Блог фронтендера
Опубликовано 4 марта 2013
Задача: сделать вертикальный текст или текст под углом на странице. Рассмотрим способы решения.
Содержание статьи
Использование изображения
Первое, что приходит в голову — не заниматься ерундой и сделать текст обычной картинкой, используя тег или свойство background . Вставка конечно предпочтительней — т.к. дополнительно можно прописать title и alt для поисковиков. Хотя зависит от ситуации.
Плюсы использования картинки
- кроссбраузерно
- очень простая реализация
- графикой можно сделать любой угол
- подходит для небольшого объема текста и в случаях, если точно уверены, что текст не будет изменяться
Минусы
- нельзя выделить/скопировать, иногда может быть абсолютно недопустимо, например контакты на сайте
- такой «текст» не индексируется поисковиками
- при изменении текста придется менять и перезаливать картинку
- не масштабируется
- лишний запрос к серверу, опять же
transform: rotate( )
Вариант для современных браузеров — CSS3-свойство transform и функция трансформации rotate( ) . В качестве единиц измерения угла используются следующие величины:
Примечание: чаще всего в коде мы видим значения, указанные в градусах, но и об остальных знать тоже полезно. Хотя бы для справки.
Сделаем текст вертикальным, применив трансформацию:
Пример transform: rotate()
Плюсы трансформации
- работает во всех современных браузерах, включая IE9+
- есть возможность выделить/скопировать текст
- гибкое решение, поменяли значение — получили другой угол
Минусы
Решение для IE — writing-mode
Невероятно, но способ сделать вертикальный текст в Internet Explorer существует еще с допотопных времен, а именно со времен появления 6-ой версии. И способ даже проще, чем в современных браузерах. Отвечает за это свойство CSS writing-mode со значением tb-rl .
Добавим writing-mode в вышеприведенный код и получим кроссбраузерный вариант вертикального текста:
Конечно, элементы с применением trasform: rotate() и writing-mode в потоке ведут себя по разному — придется немного потрудится над стилизацией, а также разграничить стили для IE. Более наглядно это продемонстрировано в демо-примере.
Плюсы writing-mode
- работает, начиная с IE6
- в сочетании с другими методами создания вертикального текста получим кроссбраузерный вариант
Минусы
- круг применения значительно ограничен: только для IE и только для вертикального текста
Фильтры IE — Matrix и BasicImage
А что, если нам нужно видеть в Internet Explorer не вертикальный текст, а другой вариант, под другим углом? Ведь старые браузеры не поддерживают трансформации. К счастью, не все так плохо — ведь еще есть фильтры Matrix , аналог трансформаций CSS3 и BasicImage , который успешно применяется в некоторых случаях. Синтаксис фильтров таков:
- enabled — включение или выключение фильтра, принимает значения true (включен) и false (выключен). По умолчанию true
- Dx — смещение элемента по горизонтали, положительное значение — смещение вправо, отрицательное — смещение влево. Единицы измерения — пиксели
- Dy — смещение элемента по вертикальное, положительное значение — смещение вниз, отрицательное — смещение вверх. Единицы измерения — пиксели
- FilterType — задает тип пикселов нового содержимого, принимает значения bilinear (по умолчанию) и nearest neighbor
- M11 , M12 , M21 , M22 — значения fM11, fM12, fM21, fM22 матричных преобразований, принимают значения от 0 до 1.0
- SizingMethod — указывает, должен ли элемент изменять свои размеры, чтобы включить результаты работы фильтра. Принимает значения clip to original (по умолчанию — не изменяет размеры) и auto expand (наоборот).
Честно говоря, фильтры не заслуживают такого дотошного внимания, есть у них существенные недостатки. Я нашел отличный сервис для трансформаций IE — IE’s CSS3 Transforms Translator . Выставляете параметры и на выходе получаете готовый результат — нет нужды заниматься переводами самостоятельно.
Так выглядит поворот текста на 45° с применением Matrix :
BasicImage также имеет много параметров, однако для решения поставленной задачи понадобится только один — rotation . Параметр позволяет указать поворот элемента с шагом в 90°, принимает значения от 0 до 3. Примеры поворотов:
Плюсы фильтров
- текст выделяется/копируется
Минусы
- фильтры значительно тормозят браузер
- использование фильтров отключает сглаживание шрифтов — некрасиво
- работают только для IE
Применение SVG
Один из отличных способов сделать текст под углом — использование SVG-графики. С появлением HTML5 стало возможным внедрение SVG прямо в документ. Например так выглядит вставка текста в SVG под углом 45°:
Как видите, для текста используется тег
с координатами x и y и атрибутом transform .
Если нужно сделать текст вертикальным, как альтернативу в элемент
следует добавить :
writing-mode: tb работает везде, кроме Firefox (на момент написания 19.0). Лучше использовать transform=»rotate()» .
Плюсы использования SVG
- текст выделяется/копируется/масштабируется
- возможно указать любой угол
- доступна стилизация через CSS
- работает во всех современных браузерах
Минусы
Canvas — текст на холсте
Одна из существенных новых фишек HTML5 — элемент , или попросту холст, на котором рисуются разные штуки. Точно так же холст помогает реализовать текст под углом.
Добавим элемент на страницу:
Начнем использовать холст при помощи JS. Напишем функцию draw() Получим его id и контекст.
Теперь воспользуемся методом контекста rotate( ) . rotate( ) позволяет повернуть холст на заданный угол. Метод принимает значения радиан, вот примеры смещения на 45° и 90°.
Также можно написать функцию преобразования радиан в градусы, чтобы было легче пользоваться методом.
Займемся текстом. За рисование текста на холсте отвечает метод fillText() . Синтаксис метода:
- text — сам текст, который необходимо нарисовать
- x , y — координаты относительно верхнего левого угла
- maxWidth — необязательный параметр, позволяет указать максимальную ширину текста
Добавим метод в наш скрипт:
Повесим готовую функцию на событие onload документа. Вот полный сценарий:
Код простой, но этого достаточно для вывода текста под любым углом.
Плюсы canvas
- поддерживается всеми современными браузерами
Минусы
Итоги
Способов сделать текст под углом превеликое множество, но Internet Explorer добавляет существенную ложку дегтя — нет ни одного кроссбраузерного метода реализации, приходится искать альтернативные библиотеки и свойства CSS. В принципе то что есть сейчас позволит вам решить задачу, но все же хочется быстрого отмирания старых IE.
Результат
Еще раз все примеры:
Ресурсы по теме
- Спецификации CSS3 Transforms
- Статья на Хабре про текст в SVG
- xiper.net — Фильтры IE
- Вертикальный текст на CSS
Помощь проекту
Если вам нравится проект и вы хотите его поддержать, то можете сделать небольшое пожертвование, оставить комментарий, оценить статью или поделиться материалом в соц. сети. Вот так все просто. От вашей поддержки зависит дальнейшее развитие.
Рейтинг статьи
Похожие статьи
Комментарии читателей
Толково написано. Больше бы таких статей встречать в интернете вместо всякого обрывистого шлака.
ориентация текста | CSS-уловки
Свойство text-Ориентация
в CSS выравнивает текст в строке при работе с вертикальным режимом письма
. По сути, он поворачивает либо строку на 90 ° по часовой стрелке, чтобы помочь контролировать отображение вертикальных языков — так же, как text-comb-upright
вращает группы символов в строке текста в вертикальном сценарии, но для полных строк текст.
.element {
ориентация текста: смешанная;
режим письма: вертикальный-rl;
}
Для обработки двунаправленного текста — например, блока, который содержит текст с письмом слева направо и справа налево — проверьте свойство unicode-bidi
.Он сочетается со свойством direction
, чтобы переопределить способ отображения текста браузером.
Синтаксис
ориентация текста: смешанная | в вертикальном положении | боком
- Начальное:
смешанное
- Применимо к: всем элементам, кроме групп строк, строк, групп столбцов и столбцов таблицы
- Унаследовано: да
- Проценты: нет
- Вычислено значение: указанное значение
- Тип анимации: не анимируется
Значения
/ * Значения ключевых слов * /
ориентация текста: смешанная; /* дефолт */
ориентация текста: вертикальная;
ориентация текста: боком;
ориентация текста: бок-вправо;
/ * Глобальные значения * /
ориентация текста: наследовать;
ориентация текста: начальная; / * смешанный * /
ориентация текста: не задано;
-
смешанный
: Значение по умолчанию.Символы в горизонтальном шрифте поворачиваются на 90 ° по часовой стрелке. Символы в вертикальном шрифте отображаются в их естественной вертикальной ориентации. -
вертикально
: Символы в горизонтальном шрифте устанавливаются в их естественное горизонтальное вертикальное положение, включая некоторые глифы. Таким образом, если режим вертикального письма может повернуть строку текста так, чтобы символы располагались боком, это значение повернёт сами символы на 90 ° в их естественное положение. Обратите внимание, что это значение заставляет свойствоdirection
использовать используемое значениеltr
, что означает, что все символы обрабатываются так, как если бы они находились в режиме письма слева направо. -
боком
: Весь текст в режиме вертикального письма отображается боком, как если бы он был в горизонтальном расположении, но вся строка повернута на 90 ° по часовой стрелке. -
сбоку-справа
: Некоторые браузеры рассматривают это значение как псевдоним для значениясбоку
, сохраненного для обратной совместимости.
use-glyph-Ориентация
была удалена как значение ключевого слова в декабре 2015 года. Она использовалась в элементах SVG для определения свойств SVG glyph-Ориентация-Вертикаль
и Глиф-Ориентация-Горизонталь
, которые теперь устарели . глиф-ориентация-вертикаль
теперь является псевдонимом для текстовой ориентации
.
Поддержка браузера
Настольный компьютер
Chrome | Firefox | IE | Edge | Safari |
---|---|---|---|---|
48 | 41 | Нет | 79121 | 79121 9010 * 10 Android Chrome | Android Firefox | Android | iOS Safari | |
92 | 90 | 92 | 10.0-10,2 |
Спецификация
Дополнительная информация
Похожие объекты
HTML / CSS: Как писать текст вертикально, сохраняя символы горизонтально
Вы можете использовать свойство CSS Writing-mode
в сочетании со свойством text-Ориентация CSS.
div {
режим письма: вертикальный-lr;
ориентация текста: вертикальная;
}
Чтобы процитировать, режим записи
свойство..
[..] определяет направление потока блока, которое является направлением в
какие контейнеры на уровне блоков укладываются друг на друга и в каком направлении
потоки содержимого на встроенном уровне в блок-контейнере. Потоки контента
вертикально сверху вниз, по горизонтали справа налево. В
следующая вертикальная линия располагается слева от предыдущей строки.
Фактически, это определяет, будут ли строки текста располагаться горизонтально или вертикально, а также направление, в котором будут развиваться блоки.
ориентация текста Свойство
определяет ориентацию текстовых символов в строке. Это свойство действует только в вертикальном режиме.
Пример :
п: первоклассный {
режим письма: вертикальный-lr;
}
p: last-of-type {
режим письма: вертикальный-lr;
ориентация текста: вертикальная;
}
С режимом письма "vertical-lr"
Начать
С режимом письма "vertical-lr" и ориентацией текста "вертикально"
Пуск
Имейте в виду, что ориентация текста
:
Это экспериментальная технология.
характеристики не стабилизировались, проверьте таблицу совместимости для
использование в различных браузерах.Также обратите внимание, что синтаксис и поведение
экспериментальная технология может быть изменена в будущих версиях
браузеры по мере изменения спецификации.
Согласно этому: https://caniuse.com/#search=text-orientation, кажется, почти все браузеры поддерживают его на сегодняшний день, кроме IE / Edge.
CSS-ориентация текста Свойство
CSS-ориентация текста Свойство
Свойство ориентации текста определяет ориентацию символов в строке.
Имеет пять значений: смешанный, вертикальный, боковой, боковой-правый, использование-глиф-ориентация. Все они работают в вертикальных типографских режимах.
Это свойство имело значения «влево-вправо» и «влево-вправо», теперь они переопределены как одно значение «влево-вправо». Вместо этого значения «sideways-lr» и «sideways-rl» добавляются к свойству Writing-mode для использования его с невертикальными системами письма.
Свойство ориентации текста действует, только когда режим письма «вертикальный».
Синтаксис¶
ориентация текста: смешанная | в вертикальном положении | боком | боком-правым | использование глифов | начальная | наследовать;
Пример свойства ориентации текста со «смешанным» значением: ¶
Название документа
<стиль>
п {
режим письма: вертикальный-rl;
ориентация текста: смешанная;
}
Пример свойства ориентации текста
Lorem ipsum - это просто фиктивный текст.
Попробуй сам »
Результат
Пример свойства ориентации текста со значением« вертикальное »: ¶
Название документа
<стиль>
п {
режим письма: вертикальный-lr;
ориентация текста: вертикальная;
}
Пример свойства ориентации текста
Lorem ipsum - это просто фиктивный текст.
Попробуйте сами »
Пример свойства ориентации текста: ¶
Название документа
<стиль>
тело {
цвет фона: #ffffff;
цвет: # 000000;
размер шрифта: 1.1em;
}
.пример {
фон: #cccccc;
цвет: #fff;
заполнение: 3em;
маржа: 40 пикселей авто 0;
ширина: 400 пикселей;
максимальная ширина: 400 пикселей;
дисплей: гибкий;
}
h2 {
цвет: # 8ebf42;
маржа: 0.15em 0,75em 0 0;
семейство шрифтов: 'Bungee Shade', курсив;
-webkit-writing-mode: вертикальный-lr;
-ms-Writing-Mode: tb-lr;
режим письма: вертикальный-lr;
ориентация текста: вертикальная;
-webkit-font-feature-settings: «вкрн», «впал»;
настройки-функции-шрифта: «вкрн», «впал»;
}
п {
маржа: 0;
высота строки: 1,5;
размер шрифта: 1.15em;
}
Пример свойства ориентации текста
Lorem Ipsum
Lorem Ipsum - это фиктивный текст для полиграфической и наборной индустрии.Lorem Ipsum был стандартным фиктивным текстом в отрасли с 1500-х годов, когда неизвестный типограф взял камбуз и скремблировал его, чтобы сделать книгу образцов шрифта. Он пережил не только пять веков, но и скачок в электронный набор, оставшись практически неизменным.
Попробуйте сами »Значения
¶
Практикуйте свои знания
Свойство CSS text-Ориентация имеет пять значений:
смешанный, верхний, боковой, боковой-правый, использование-глиф-ориентация.advices.length}} Успех! {{/advices.length}} {{# advices.length}} Неверно! Ты не правильно понял! {{/advices.length}} {{# advices.length}} {{#advices}}
{{.}}
{{/ advices}} {{/advices.length}}
Ошибка!
Спасибо за ваш отзыв!
Считаете ли вы это полезным? Да Нет
Статьи по теме
Мы используем файлы cookie для улучшения взаимодействия с пользователем и анализа посещаемости веб-сайтов. Принимаю
ориентация текста | Codrops
Свойство text-Ориентация
определяет ориентацию символов в строке содержимого.Это применимо только к типографским режимам по вертикали .
Восточноазиатские языки, такие как китайский или японский, могут быть написаны как горизонтально, перетекая сверху вниз, так и вертикально, перетекая справа налево. Традиционное монгольское письмо пишется вертикально, слева направо. Несмотря на то, что направление потока блока является вертикальным, каждый отдельный глиф по умолчанию остается вертикальным.
Часто веб-страницы на восточноазиатских языках содержат смешанные символы и цифры на основе латиницы.Каждый символ Unicode по умолчанию имеет ориентацию, основанную на характеристиках соответствующих систем письма, и страницы с символами из нескольких языков будут по-прежнему отображаться в правильной ориентации.
Языки на основе латиницы, когда они отображаются вертикально со свойством Writing-mode
, их глифы отображаются боком, что позволяет читать встроенный текст в обычном режиме, хотя страница повернута на 90 градусов по часовой стрелке на своей стороне. Однако мы можем сделать так, чтобы каждый символ отображался вертикально с помощью свойства text-Ориентация
.
Значения
- смешанный
- Это начальное значение. В сценариях, которые являются только горизонтальными, символы будут набраны боком (повернуты на 90 ° по часовой стрелке), в то время как вертикальные шрифты будут набраны вертикально.
- прямое
- Весь текст будет набран вертикально, каждый символ будет иметь стандартную горизонтальную ориентацию.
- боком
- Весь текст будет набран боком (повернут на 90 ° по часовой стрелке), как при горизонтальном расположении.
Примеры
Свойство text-Ориентация
влияет только на контент, имеющий режим вертикального письма. По умолчанию браузер уже отображает каждый символ в ориентации, присущей их системам письма, но могут быть случаи, когда мы захотим изменить эту ориентацию. Например, расположение символов или цифр на основе латиницы в вертикальном положении, когда строки содержимого идут вбок.
Возьмем этот пример разметки:
Художник и теоретик Барнетт Ньюман был одним из самых интеллектуальных художников Нью-Йоркской школы.В 1933 он баллотировался на пост мэра своего города по прописке с культурной платформой, и он сохранял острую осведомленность о таких современных ужасах, как нацизм и атомная бомба.
По умолчанию, цифры 1933 будут отображаться боком, как и остальные символы, когда режим письма установлен на вертикальный, но мы можем сделать их вертикальными, изменив значение для диапазона текста ориентации текста.
.vertical-text {
режим письма: вертикальный-rl;
}
.vertical-text span {
ориентация текста: вертикальная;
}
Live Demo
В следующем примере используется шрифт Bungee, специально разработанный для вертикального текста. Однако не так много шрифтов на основе латиницы, оптимизированных для вертикального отображения, поэтому может потребоваться настроить интервал между символами с помощью свойства letter-spacing
. Учитывая, что такие макеты в основном предназначены для коротких строк отображаемого текста, усилия, необходимые для внесения этих настроек, не должны быть слишком непреодолимыми.
Посмотреть эту демонстрацию на игровой площадке Codrops
Поддержка браузера
* обозначает обязательный префикс.
- Поддерживается:
- Да
- Нет
- Частично
- Polyfill
Статистика с caniuse.com
Смешанные
и вертикальные значения
поддерживаются начиная с Chrome 48 и Firefox 41. Поддержка значения сбоку
поддерживается только в Firefox 44.
Вертикальный текст в CSS - HTML и CSS - Форумы SitePoint
Попробуйте использовать направление записи.
Он предназначен для реализации различных языков. Как вы, возможно, знаете, некоторые языки читаются слева направо, сверху вниз, а другие - сверху вниз и слева направо.
Направление записи позволяет правильно отображать разные языки, а также может использоваться для создания вертикального текста.
Поиск в GOOGLE по: CSS write-direction должен предоставить вам правильный синтаксис для любой ситуации, с которой вы можете столкнуться.
Прошу прощения, это режим записи: tb-rl.
И, как указал All4Nerds, это только IE.
Другой способ сделать это без JavaScript - определить отдельное правило для каждого символа и поместить каждый в отдельный раздел, один поверх другого.
Их, вероятно, лучше, я просто еще не понял, как это сделать.
Вот один из способов: вы можете поработать с интервалом между буквами и словами, чтобы он выглядел правильно, и удалите неразрывные пробелы.