Как получить символ табуляции?


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

Итак, мой вопрос: почему нет символа Юникода для вкладки, даже если Я могу скопировать и вставить его?

7 73

7 ответов:

конечно, есть объект для вкладок:

	

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

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

С <pre></pre> теги затем использовать эти символы &#9;

он не будет работать без <pre></pre> теги

попробовать &emsp;

по документам :

В сущности символов &ensp; и &emsp; обозначает пространство en и em пространство соответственно, где пространство en составляет половину размера точки и em пространства равен размеру текущего шрифта. Для фиксированного шага шрифты, агент пользователя может рассматривать пространство en как эквивалентное A характер пространства, а пространство em как равное двум пространствам письмена.

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

размещение другой альтернативы, чтобы быть более полным. Когда я попробовал ответы на основе" pre", они также добавили дополнительные вертикальные разрывы линий.

каждая вкладка может быть преобразована в последовательность неразрывных пробелов, которые не требуют обертывания.

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

Это не рекомендуется для повторного / широкого использования на странице. Подход div margin / padding выглядел бы намного чище.

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

Tab-это [HT], или символ номер 9, в библиотеке unicode.

как уже упоминалось, по соображениям эффективности последовательные пространства объединяются в одно пространство, которое браузер фактически отображает. Помните, что означает ML в HTML. Это язык разметки, предназначенный для управления отображением текста.. не пробельные символы :п

тем не менее, вы можете притвориться, что браузер уважает вкладки, так как все, что вкладка делает, это добавить 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>