Атрибут dir тега <dd>
Описание
Атрибут dir определяет направление текста для содержимого элемента <dd>. Он особенно полезен для языков с написанием справа налево (RTL), таких как арабский или иврит.
<dl>
<dt>HTML</dt>
<dd dir="ltr">HyperText Markup Language (слева направо)</dd>
<dt>HTML</dt>
<dd dir="rtl">(يمين إلى يسار) لغة ترميز النص الفائق</dd>
<dt>CSS</dt>
<dd dir="auto">الانترنت صفحة تنسيق ل Cascading Style Sheets</dd>
</dl>
Значения атрибута:
| Значение | Описание | Когда использовать |
|---|---|---|
ltr |
Направление текста слева направо (Left-to-Right) | Для языков с LTR-направлением (английский, русский) |
rtl |
Направление текста справа налево (Right-to-Left) | Для языков с RTL-направлением (арабский, иврит) |
auto |
Браузер определяет направление автоматически | Для смешанного контента или неизвестного языка |
Особенности работы:
- Наследуется дочерними элементами, если не указано иное
- Влияет на порядок отображения текста и пунктуации
- Может комбинироваться с атрибутом
langдля лучшей семантики - Автоматическое определение (
auto) работает по первому сильному символу
Пример с CSS:
<style>
dd[dir="rtl"] {
text-align: right;
padding-right: 15px;
border-right: 2px solid #4CAF50;
}
dd[dir="ltr"] {
text-align: left;
padding-left: 15px;
border-left: 2px solid #2196F3;
}
</style>
<dl>
<dt>CSS</dt>
<dd dir="ltr">Cascading Style Sheets</dd>
<dt>CSS</dt>
<dd dir="rtl">صفحات الطرز المتراصة</dd>
</dl>
Рекомендации по использованию:
- Используйте явное указание направления для важного контента
- Для многоязычных сайтов комбинируйте с атрибутом
lang - Тестируйте отображение символов и цифр в RTL-режиме
- Для форм внутри
<dd>может потребоваться дополнительная настройка
Пример с JavaScript:
<dl>
<dt>Текущий язык</dt>
<dd id="lang-direction">Определение направления текста</dd>
</dl>
<script>
function updateDirection(lang) {
const dd = document.getElementById('lang-direction');
dd.dir = lang === 'ar' ? 'rtl' : 'ltr';
dd.textContent = lang === 'ar'
? 'اتجاه النص من اليمين إلى اليسار'
: 'Text direction is left-to-right';
}
// Пример вызова
updateDirection('ar'); // Установит RTL направление
</script>
Важные замечания:
- Не изменяет порядок элементов списка, только направление текста
- Для полной RTL-поддержки может потребоваться дополнительный CSS
- Некоторые символы (например, скобки) могут неправильно отражаться в RTL
- Значение по умолчанию наследуется от родительских элементов или
<html>
Примечание: Правильное использование атрибута dir особенно важно для многоязычных сайтов и приложений, где может встречаться контент на языках с разным направлением письма. Для сложных случаев рассмотрите использование CSS-свойства direction вместе с unicode-bidi.