CSS Academy · Урок

Зачем нужны логические свойства: интернационализация

Узнайте, почему физические свойства CSS нарушают макеты RTL и как логические свойства это исправляют.

Урок 1 из 413 шагов

«Зачем нужны логические свойства: интернационализация» — бесплатный урок CSS Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения CSS Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс CSS Academy содержит 4 уроков всего.

Проблема физических свойств

Традиционный CSS использует физические направления: top, right, bottom, left. Для языков с направлением слева направо (LTR), например английского, это удобно, но такой подход нарушается в языках с направлением справа налево (RTL), например арабском и иврите, а также в системах письма с вертикальным направлением, например в традиционном японском.

Физические и логические свойства

Сравним:

  • Физические: top, right, bottom, left — фиксированы относительно экрана
  • Логические: block-start, block-end, inline-start, inline-end — зависят от режима письма

Блочная и строчная оси

В каждой системе письма есть:

  • Блочная ось: направление, в котором располагаются блоки текста (вертикальное в LTR/RTL, горизонтальное при вертикальном письме)
  • Строчная ось: направление, в котором текст идёт внутри строки (горизонтальное в LTR/RTL, вертикальное при вертикальном письме)

Макет LTR и RTL

В LTR (английский): inline-start = left, inline-end = right. В RTL (арабский): inline-start = right, inline-end = left. Логические свойства автоматически адаптируются без медиазапросов и JavaScript.

Реальная цена физических свойств

Для сайта, созданного с использованием физических свойств, потребуется отдельная таблица стилей с переопределениями для RTL или переопределения каждого свойства margin, padding, border, position и выравнивания текста, которое должно измениться на противоположное. Это вдвое увеличивает объём работ по сопровождению.

Режим письма влияет на оси

Если задано writing-mode: vertical-rl (вертикальное письмо, например в японском или корейском), блочная ось становится горизонтальной, а строчная — вертикальной. Логические свойства адаптируются автоматически.

<div class="vertical-text">縦書きテキスト Vertical Text</div>

Использование в современном CSS

Все основные браузеры поддерживают логические свойства. Спецификация CSS теперь рекомендует использовать логические свойства для любого свойства, связанного с направлением, которое может измениться из-за режима письма или направления текста.

Практическое значение

Одна кодовая база с правильно применёнными логическими свойствами поддерживает LTR, RTL и вертикальное письмо без дублирования. CSS просто следует значениям direction и writing-mode корневого элемента.

dir="rtl" в HTML

Задавайте направление письма в HTML, а не только в CSS:

<div dir="rtl" lang="ar" class="rtl-demo">هذا نص من اليمين إلى اليسار</div>

Постепенное внедрение

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

Свойство CSS direction

Свойство CSS direction (ltr или rtl) влияет на направление строчного потока. Оно работает вместе с writing-mode и задаёт полный контекст системы письма элемента.

Быстрая проверка

Почему физические свойства CSS, например margin-left, создают проблемы в макетах RTL?

Итоги

Логические свойства CSS используют блочную и строчную модель вместо физических top/right/bottom/left. Благодаря этому одна таблица стилей работает для LTR, RTL и систем письма с вертикальным направлением. Свойства direction и writing-mode задают контекст, к которому логические свойства адаптируются автоматически.

Можно начать бесплатно

Изучай CSS с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
40
Уроки
159

Часто задаваемые вопросы

Урок «Зачем нужны логические свойства: интернационализация» бесплатный?

Да — полный текст урока «Зачем нужны логические свойства: интернационализация» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс CSS Academy, подпишись на CoddyKit PRO. Курс CSS Academy содержит 4 уроков всего.

Чему я научусь в уроке «Зачем нужны логические свойства: интернационализация»?

Узнайте, почему физические свойства CSS нарушают макеты RTL и как логические свойства это исправляют. Ты практикуешь CSS Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать CSS Academy?

Предыдущий опыт не требуется. CSS Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.

Сколько времени занимает урок «Зачем нужны логические свойства: интернационализация»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке CSS Academy?

Да. Каждый урок CSS Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Зачем нужны логические свойства: интернационализация
  2. Направления блочного и строчного потока
  3. Логические отступы и граница
  4. Логические свойства в RTL-макетах
← Назад к CSS Academy