Як отримати символ вкладки?


123

У HTML для символу вкладки немає символу, але я збентежений, чому я можу скопіювати та вставити сюди:. (Ви не можете побачити повну ширину його, але якщо натиснути, щоб відредагувати моє запитання, ви побачите персонаж.) Якщо я можу скопіювати та вставити символ вкладки, повинен бути еквівалент унікоду, який можна закодувати в html . Я знаю, що його не існує, але це таємниця, яку я ніколи не зміг зрозуміти.

Отже, моє запитання: чому не існує символу Unicode для вкладки, навіть якщо я можу скопіювати і вставити його?


7
Ось для вас символ вкладки: "". Просто напишіть мені, якщо вам потрібні інші символи! У мене є пробіли, тире та грецькі букви!
озлоблений

У Unix: Ctrl + Shift + U, а потім 9 для відступу символу.
neverMind9

StackOverflow розміщує текст коментарів суворіше, ніж запитання чи відповіді. ``, '' і "" були вставлені символи TAB, цитовані різними способами.
MarkHu

Відповіді:


165

Впевнені, що існує вкладка для вкладок:

	

(Вкладка символу ASCII 9 або Unicode U + 0009.)

Однак, як і буквальні вкладки (ті, які ви вводите до свого текстового редактора), всі символи вкладок трактуються як пробіли HTML за допомогою парсерів HTML і згортаються в єдиний простір, крім тих, що знаходяться в <pre>блоці, де буквальні вкладки будуть надані як 8 пробілів у моношпалерний шрифт.


1
Це цікаво, але якщо це символ unicode, html взагалі не повинен його змінювати (згортати), чи не так?
Аббатство Грібнер

2
У Unicode немає власного символу вкладки; U + 0009 - це те саме, що символ вкладки, який ви отримуєте натисканням Tab. (Я думаю, ви можете заплутати об’єкти HTML із набором символів Unicode.)
josh3736,

9
загалом ви можете використовувати & # 9; у будь-якому елементі з білим простором у стилі CSS: pre; як у jsfiddle.net/cancerbero_sgx/sp269/3
Cancebero

96

Спробуйте &emsp;

відповідно до документів:

Суб'єкти характеру &ensp;і &emsp;позначають простір ванної та ем місце відповідно, де власна простір становить половину розміру точки і ем простору дорівнює розміру точки поточного шрифту. Для шрифтів з фіксованим тоном користувальницький агент може розглядати простір en як еквівалентний символу пробілу, а простір em як еквівалентний двом символам пробілу.

Посилання на документи: https://www.w3.org/MarkUp/html3/specialchars.html


48

помістіть його між <pre></pre>тегами, а потім використовуйте ці символи&#9;

без <pre></pre>тегів воно б не працювало


4
Гаразд, це чудово, я намагався використовувати &#9;сам, але це не вийшло. Дякуємо за згадування <pre>!
Аббатство Грейбнер

1
Відмінна пропозиція. Чому саме він так поводиться?
pkanane

1
тег <pre> визначає попередньо відформатований текст, будь-яке текстове місце всередині тегу збереже пробіли, розриви рядків, вкладки тощо. Зазвичай він відображатиметься у форматі шрифту фіксованої ширини, як Courier
Raymund

2
Ви можете використовувати будь-який html тег із комбінацією white-space: pre-wrap;абоwhite-space: pre;
Петро Хуртак

16

Опублікувати ще одну альтернативу, щоб бути більш повною. Коли я спробував відповіді на основі "попередньо", вони також додали додаткові розриви вертикальних ліній.

Кожна вкладка може бути перетворена на пробіли, що не порушують послідовність, які не потребують обгортання.

"&nbsp;&nbsp;&nbsp;&nbsp;" 

Це не рекомендується для повторного / широкого використання в межах сторінки. Підхід до маржі / прокладки здасться набагато чистішим.


5
Якщо вкладки використовуються як інструмент для вирівнювання тексту праворуч від вкладок (де текст шрифту не фіксованої ширини зліва не дорівнює), перетворення на символи nbsp не вирішить проблему.
Стів Мідглі

4

Я використовую <span style="display: inline-block; width: 2ch;">&#9;</span>для вкладки на два символи.


Це не те саме, що вкладки, це просто додавання пробілу, так що стовпчиків з цим немає.
Саламі

1

В бібліотеці unicode знаходиться [HT], або номер символу 9.


1

Як зазначалося, з міркувань ефективності послідовні пробіли консолідуються в один простір, який браузер фактично відображає. Запам’ятайте, що означає ML в HTML. Це мова розмітки, призначена для керування способом відображення тексту .. не пробілом: p

Тим не менш, ви можете зробити вигляд, що веб-переглядач поважає вкладки, оскільки все, що TAB робить, має 4 пробіли, і це легко з CSS. або в рядку, як ...

 <div style="padding-left:4.00em;">Indenented text </div>

Або як звичайний клас у таблиці стилів

.tabbed {padding-left:4.00em;}

Тоді може виглядати HTML

<p>regular paragraph regular paragraph regular paragraph</p>
<p class="tabbed">Indented text Indented text Indented text</p>
<p>regular paragraph regular paragraph regular paragraph</p>

1
Це не те, що робить вкладка. Вкладки вирівнюють вміст, - в одному рядку може бути додано 3 пробіли, а в іншому 4. Концептуально він переміщує курсор до наступної зупинки вкладки.
BrainSlugs83
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.