Атрибут dir тега <main>
Описание
Атрибут dir (direction) для тега <main> определяет базовое направление текста и расположение элементов внутри основного содержимого страницы. Этот атрибут особенно важен для многоязычных сайтов, поддерживающих языки с написанием справа налево (RTL).
<!-- Для английского/русского контента -->
<main dir="ltr">
<h1>Welcome to our website</h1>
<p>This content flows from left to right.</p>
</main>
<!-- Для арабского/иврита -->
<main dir="rtl" lang="ar">
مرحبا بكم في موقعنا
هذا المحتوى يقرأ من اليمين إلى اليسار
</main>Значения атрибута:
| Значение | Направление | Применение |
|---|---|---|
ltr |
Слева направо (Left-to-Right) | Английский, русский, европейские языки |
rtl |
Справа налево (Right-to-Left) | Арабский, иврит, персидский |
auto |
Автоматическое определение | Когда направление неизвестно заранее |
Ключевые особенности:
- Влияет на порядок текста, чисел и пунктуации
- Изменяет расположение полосы прокрутки в некоторых браузерах
- Работает в сочетании с CSS-свойством
direction - Для полной поддержки RTL рекомендуется использовать CSS-логические свойства
Пример с CSS-логическими свойствами:
<style>
main {
padding-inline-start: 2rem; /* Заменяет padding-left */
margin-inline-end: 1rem; /* Заменяет margin-right */
border-inline-start: 3px solid blue; /* Заменяет border-left */
}
</style>
<main dir="rtl">
<!-- Арабский или иврит контент -->
</main>
Рекомендации по использованию:
- Всегда указывайте
dirвместе с атрибутомlang - Для динамических интерфейсов меняйте направление через JavaScript:
document.querySelector('main').dir = 'rtl';
- Тестируйте интерфейс с реальными RTL-языками
- Для форм используйте специальные RTL-паттерны
Ограничения:
- Не все CSS-фреймворки полностью поддерживают RTL
- Некоторые плагины могут некорректно работать с RTL-режимом
- Требуется дополнительное тестирование верстки
Примечание: Для профессиональной реализации RTL-интерфейсов рассмотрите использование специализированных CSS-фреймворков (например, Bootstrap RTL) или постпроцессоров, которые автоматически преобразуют стили для RTL-версий.