CSS Writing Mode: Путешествие через ориентацию текста

Здравствуйте,野心勃勃 веб-разработчики! Сегодня мы отправимся в увлекательное путешествие в мир CSS Writing Mode. Как ваш добрый сосед по компьютеру учитель, я здесь, чтобы помочь вам ознакомиться с этим fascynating свойством, которое можетliterally перевернуть ваш текст с ног на голову! Так что, пристегнитесь и погружаемся!

CSS - Writing Mode

Что такое CSS Writing Mode?

Прежде чем мы начнем программировать, давайте поймем, что такое режим письма. Представьте, что вы читаете книгу. На английском языке мы обычно читаем слева направо и сверху вниз. Но что, если вы читаете традиционную японскую книгу? Текст идет вертикально сверху вниз и справа налево. Вот где CSS writing-mode comes в handy!

Свойство writing-mode в CSS позволяет нам контролировать направление, в котором мы отображаем текст и другие inline контент. Это как иметь magic wand, который может сделать ваш текст танцевать в разных направлениях!

Возможные значения

Давайте посмотрим на различные значения, которые мы можем использовать с writing-mode свойством:

Значение Описание
horizontal-tb Текст течет горизонтально слева направо, сверху вниз
vertical-rl Текст течет вертикально сверху вниз, справа налево
vertical-lr Текст течет вертикально сверху вниз, слева направо
sideways-rl Текст течет вертикально сверху вниз, все символы повернуты на 90° по часовой стрелке
sideways-lr Текст течет вертикально сверху вниз, все символы повернуты на 90° против часовой стрелки

Применяется к

Свойство writing-mode может быть применено ко всем элементам, включая ::first-letter и ::first-line pseudoelements. Это как universal remote control для текстового направления!

DOM Синтаксис

Теперь давайте посмотрим, как мы можем использовать writing-mode в нашем CSS:

element {
writing-mode: value;
}

Просто, правда? Давайте погрузимся в каждое значение и увидим их в действии!

CSS writing-mode - horizontal-tb Значение

Это значение по умолчанию для большинства языков, включая английский. Давайте посмотрим пример:

<div class="horizontal-tb">
<p>Этот текстhorizontal слева направо, сверху вниз.</p>
</div>
.horizontal-tb {
writing-mode: horizontal-tb;
}

Этот текст будет отображаться так же, как вы читаете эту статью. Ничего особенного, но это наш отправной пункт!

CSS writing-mode - vertical-rl Значение

Теперь давайте изменим направление:

<div class="vertical-rl">
<p>Этот текст вертикальный, справа налево!</p>
</div>
.vertical-rl {
writing-mode: vertical-rl;
height: 200px;
}

Вот и все! Ваш текст теперь течет вертикально сверху вниз, и несколько строк начнутся справа и пойдут налево. Это как чтение традиционной японской или китайской свитка!

CSS writing-mode - vertical-lr Значение

Давайте попробуем вертикальный режим слева направо:

<div class="vertical-lr">
<p>Этот текст вертикальный, слева направо!</p>
</div>
.vertical-lr {
writing-mode: vertical-lr;
height: 200px;
}

Теперь ваш текст вертикальный, но он начинается с левой стороны. Это как чтение монгольского скрипта!

CSS writing-mode - sideways-rl Значение

Готовы к акробатике? Давайте попробуем sideways-rl:

<div class="sideways-rl">
<p>Этот текст сбоку, справа налево!</p>
</div>
.sideways-rl {
writing-mode: sideways-rl;
height: 200px;
}

Это вращает каждый символ на 90° по часовой стрелке. Это как ваш текст делает кувырок!

CSS writing-mode - sideways-lr Значение

И теперь для последнего переворота:

<div class="sideways-lr">
<p>Этот текст сбоку, слева направо!</p>
</div>
.sideways-lr {
writing-mode: sideways-lr;
height: 200px;
}

На этот раз каждый символ вращается на 90° против часовой стрелки. Это как ваш текст делает сальто назад!

CSS writing-mode - Эстетическое использование (английский язык)

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

<div class="book-spine">
<h2>The CSS Adventure</h2>
</div>
.book-spine {
writing-mode: vertical-rl;
transform: rotate(180deg);
height: 300px;
width: 50px;
background-color: #f0f0f0;
padding: 10px;
}

Это создает вертикальный текст, который выглядит как обложка книги на полке. Круто, правда?

CSS writing-mode - Связанные свойства

Чтобы полностью контролировать ориентацию текста, вы можете использовать эти свойства alongside writing-mode:

Свойство Описание
text-orientation Определяет ориентацию символов текста
direction Устанавливает направление текста, inline элементов и столбцов таблицы
unicode-bidi Override bidirectional алгоритм для текста

Вот быстрый пример:

.vertical-mixed {
writing-mode: vertical-rl;
text-orientation: mixed;
}

Это позволяет для вертикального текста, где некоторые символы (например,拉丁ские буквы) вращаются, а другие (например, китайские символы) остаются вертиканными.

И вот и все,folks! Мы отправились в fascynating мир CSS Writing Mode. Помните, что интернет - это global платформа, и эти свойства помогают сделать его доступным и красивым для всех, независимо от их языка или скрипта.

В следующий раз, когда вы создаете веб-сайт, почему бы не попробовать поиграть с этими свойствами? Вы можете создать что-то неожиданно awesome! Счастливого кодирования, и пусть ваш текст всегда течет в правильном направлении!

Credits: Image by storyset