Тег <bdo> в HTML — примусовий напрямок тексту rtl і ltr
HTML тег <bdo> використовується для заміни поточного напрямку тексту і переважно призначений для використання з мовами, де читання відбувається справа наліво. Наприклад, арабська мова.
Тег <bdo> застосовується з атрибутом dir і значеннями ltr (left-to-right), або rtl (right-to-left), які задають напрямок тексту зліва направо, або справа наліво.

Загальний опис
автор: NagarD
| Атрибут | Опис |
|---|---|
| dir | Вказує напрямок тексту. Обов'язковий атрибут. |
| Атрибут | Опис |
|---|---|
| accesskey | Дозволяє активувати або сфокусуватись на елементі за допомогою заданого сполучення клавіш. |
| class | Визначає один або кілька класів, щоб зв’язати елемент з таблицею стилів (CSS). |
| draggable | Визначає чи можна перетягувати елемент. |
| contenteditable | Дозволяє редагувати текст в середні тегу. |
| dir | Вказує напрямок тексту. |
| dropzone | Вказує, що робити з перетягувати елементи. |
| hidden | Приховує вміст елемента від перегляду. |
| id | Задає унікальний ідентифікатор для елемента. |
| lang | Визначає основну мову вмісту елемента |
| spellcheck | Вказує браузеру перевіряти чи ні правопис і граматику в тексті елемента. |
| style | Задає вбудований (inline) CSS стиль для елемента. |
| tabindex | Встановлює порядок отримання фокусу при переході між елементами за допомогою клавіші Tab. |
| title | Вказує додаткову текстову підказку |
| translate | Повідомляє браузеру переводити вказаний текст в елементі чи ні. |
| contextmenu | Контекстне меню для елемента |
| Атрибут | Опис |
|---|---|
| onafterprint | Скрипт виконується тільки після як документ надрукований. |
| onbeforeprint | Скрипт виконується перед тим, як документ надрукований. |
| onbeforeunload | Скрипт виконується коли документ ось-ось буде вивантажений |
| onhashchange | Скрипт виконується коли там відбулися зміни до частини якоря в URL |
| onload | Викликається після того як завантаження елемента завершене. |
| onmessage | Скрипт виконується коли викликане повідомлення. |
| onoffline | Спрацьовує коли браузер починає працювати в автономному режимі |
| ononline | Спрацьовує коли браузер починає працювати в режимі онлай. |
| onpagehide | Скрипт виконується коли користувач переходить на іншу сторінку сторінку. |
| onpageshow | Скрипт виконується коли користувач заходить на сторінку. |
| onpopstate | Скрипт виконується коли змінено історію одного вікна. |
| onresize | Скрипт виконується, коли розмір вікна браузера змінюється. |
| onstorage | Скрипт виконується, коли вміст Web Storage оновлюється. |
| onunload | Викликається, коли сторінка розвантажена, або вікно браузера було зачинено. |
| onblur | Скрипт виконується, коли елемент втрачає фокус. |
| onchange | Викликається в той момент, коли значення елемента змінюється. |
| oncontextmenu | Скрипт виконується коли викликається контекстне меню. |
| onfocus | Викликається в той момент, коли елемент отримує фокус. |
| oninput | Скрипт викликається коли користувач вводить дані поле. |
| oninvalid | Скрипт виконується, коли елемент недійсний. |
| onreset | Викликається, коли натискається у формі кнопка типу Reset. |
| onsearch | Викликається, коли користувач щось пише в поле пошуку (для <input type="search">) |
| onselect | Викликаєтсья після того як будь-який текст був обраний в елементі. |
| onsubmit | Викликається при відправленні форми. |
| onkeydown | Подія викликається, коли користувач затис (натиснув та не відпускає) клавішу. |
| onkeypress | Викликається коли корисрувач натиснув на клавішу. |
| onkeyup | Викликається коли користувач відпускає клавішу. |
| onclick | Подія викликається коли користувач клацає ЛКМ по елементу. |
| ondblclick | Виникає при подвійному клацанні ЛКМ на елементі. |
| ondrag | Періодично викликається при операції перетягування. |
| ondragend | Викликається коли користувач відпускає перелягуваний елемент. |
| ondragenter | Викликається, коли перетягуваний елемент входить в цільову зону. |
| ondragleave | Викликається, коли перетягуваний елемент виходть з зони призначення. |
| ondragover | Викликається, коли перетягуваний елемент знаходиться в зоні призначення. |
| ondragstart | Викликається, коли користувач починає перетягувати елемент, або виділений текст. |
| ondrop | Викликається, коли перетягуваний елемент падає до зони призначення. |
| onmousedown | Викликається, коли користувач затискає ЛКМ на елементі. |
| onmousemove | Викликається, коли курсор миші переміщається над елементом. |
| onmouseout | Викликається, коли курсор виходить за межі елемента. |
| onmouseover | Виконується, коли курсор наводиться на елемент. |
| onmouseup | Викликається, коли користувач відпускає кнопку миші. |
| onscroll | Викликається при прокручуванні вмісту елемента (чи веб-сторінки). |
| onwheel | Викликається, коли користувач прокручує коліщатко миші. |
| oncopy | Викликається, коли користувач копіює вміст елемента. |
| oncut | Викликається, коли користувач вирізає вміст елемента. |
| onpaste | Викликається, коли користувач вставляє вміст в елемент. |
| onabort | Виконується при перериванні якоїсь події. |
| oncanplay | Скрипт виконується коли файл готовий, для початку відтворення (коли він буферизований достатньо, щоб почати відтворення) |
| oncanplaythrough | Скрипт виконується, коли контент вже може бути відтворений без переривання на буферизацію. |
| oncuechange | Скрипт виконується коли змінюється кий в <track> елемента |
| ondurationchange | Викликається коли змінюється довжина медіа файлу. |
| onemptied | Викликається коли доступ до медіа контенту обривається (зникло з’єднання з мережею). |
| onended | Викликається коли медіа елемент повністю відтворив свій зміст. |
| onshow | Викликається, коли елемент <menu> буде відображено як контекстне меню. |
| onloadedmetadata | Скрипт виконується коли метадані (розміри чи тривалість) завантажуються. |
| onloadeddata | Викликається коли медіа данні завантажено. |
| onloadstart | Викликається коли браузер тільки починає завантажувати медіа дані з сервера. |
| onpause | Викликається коли відтворення медіа даних призупинено. |
| onplay | Скрипт викликається коли медіа дані готові почати відтворення. |
| onplaying | Викликається коли розпочато відтворення медіа даних. |
| onprogress | Подія onprogress відбувається, коли браузер завантажує вказане аудіо / відео. |
| onratechange | Викликається коли змінюється швидкість відтворення медіа даних. |
| onseeked | Викликається коли атрибут seeked у тега audio або video змінює значення з true на false. |
| onseeking | Викликається коли атрибут seeking у тегів audio або video змінює значення з false на true |
| onstalled | Скрипт виконується коли браузер з будь-якої причини не може отримати медіа дані. |
| onsuspend | Скрипт виконується коли з будь-якої причини завантаження данних призупинено до його повного завантаження. |
| ontimeupdate | Викликається коли змінилася позиція відтворення елемента <audio> або <video>. |
| onvolumechange | Викликається коли змінюється гучність звуку. |
| onwaiting | Викликається коли наступний кадр при відтворенні медіа даних недоступний, але браузер очікує що він незабаром завантажиться. |
| ontoggle | Викликається, коли користувач відкриває або закриває елемент <details>. |
| onerror | Викликається якщо при завантаженні елемента сталася помилка. |
Переглядачі
| Переглядач | ||||||
|---|---|---|---|---|---|---|
| ≤15 | 10 | ≤4 | 15 | 12 | ≤11 |
| Переглядач | ||||
|---|---|---|---|---|
| 4.4 | 18 | 10 | ≤3.2 |
Приклади
+ запропонувати свій приклад у пісочниці
П'ять варіантів одного рядка поспіль: звичайний текст, <bdo dir="rtl">, <bdo> без атрибута, <bdi dir="rtl"> і звичайний теґ із css-властивістю direction: rtl. Видно, що перевертає рядок лише другий, а решта лишають порядок недоторканим.
HTML
<table class="grid">
<thead><tr><th>розмітка</th><th>на екрані</th><th>що сталося</th></tr></thead>
<tbody>
<tr>
<td><code>ABC 123</code></td>
<td class="demo">ABC 123</td>
<td>звичайний текст, для порівняння</td>
</tr>
<tr>
<td><code><bdo dir="rtl"></code></td>
<td class="demo"><bdo dir="rtl">ABC 123</bdo></td>
<td>переворот: цифри теж поїхали</td>
</tr>
<tr>
<td><code><bdo></code> без dir</td>
<td class="demo"><bdo>ABC 123</bdo></td>
<td>нічого не сталося — атрибут обов'язковий</td>
</tr>
<tr>
<td><code><bdi dir="rtl"></code></td>
<td class="demo"><bdi dir="rtl">ABC 123</bdi></td>
<td>ізоляція без перекриття: порядок той самий</td>
</tr>
<tr>
<td><code>direction: rtl</code></td>
<td class="demo"><span class="dir">ABC 123</span></td>
<td>сама властивість рядка не перевертає</td>
</tr>
<tr>
<td><code><bdo dir="rtl"></code></td>
<td class="demo"><bdo dir="rtl">1 + 2 = 3</bdo></td>
<td>формула читається задом наперед</td>
</tr>
</tbody>
</table>
<p class="note">Виділіть будь-який перевернутий рядок і скопіюйте його: у буфер
потрапить те, що написано в розмітці, а не те, що видно. Теґ міняє лише
вигляд.</p>
CSS
.grid {
max-width: 620px;
border-collapse: collapse;
}
.grid th,
.grid td {
padding: 8px 12px;
border: 1px solid #b9c6d8;
text-align: left;
vertical-align: middle;
}
.grid th {
background: #eef4ff;
}
.demo {
background: #f6f9ff;
font-family: monospace;
font-size: 1.15rem;
letter-spacing: .05em;
white-space: nowrap;
}
.dir {
direction: rtl;
}
.note {
max-width: 620px;
margin-top: 12px;
color: #5a6472;
font-size: .9em;
}
code {
background: #eef4ff;
border-radius: 3px;
padding: 0 4px;
font-size: .85em;
}
Найпростіший приклад використання HTML теґа <bdo>
<h3>Використання тегу <code>bdo</code></h3>
<p>Напрямок тексту справа наліво:</p>
<p><bdo dir="rtl">Вебсторінка (англ. Web page, або англ. Webpage) — інформаційний ресурс, доступний в мережі World Wide Web (Всесвітня павутина), який можна переглянути у веббраузері. Зазвичай, інформація веб-сторінки записана у форматі HTML, XHTML, або рідше Wml (для wap-сторінок).</bdo></p>
<br>
<p>Напрямок тексту зліва направо:</p>
<p><bdo dir="ltr">Вебсторінка (англ. Web page, або англ. Webpage) — інформаційний ресурс, доступний в мережі World Wide Web (Всесвітня павутина), який можна переглянути у веббраузері. Зазвичай, інформація веб-сторінки записана у форматі HTML, XHTML, або рідше Wml (для wap-сторінок).</bdo></p>
CSS стиль без задання
bdo {
unicode-bidi: bidi-override;
}
Коментарі
Коментарів ще немає — будьте першим!