Есть ли альтернатива для пространства вкладок вместо 4x & amp; nbsp в HTML? [Дубликат]

Вам нужно предоставить объекту WebClient учетные данные. Что-то вроде этого ...

  WebClient client = new WebClient ();  client.UseDefaultCredentials = true;  client.Credentials = новый NetworkCredential («имя пользователя», «пароль»);   
72
задан Abbey Graebner 12 March 2012 в 04:21
поделиться

7 ответов

Конечно, есть сущность для вкладок:

	

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

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

105
ответ дан josh3736 16 August 2018 в 01:47
поделиться
  • 1
    Это интересно, но если это символ юникода, то html не должен его менять (сворачивая его) вообще, не так ли? – Abbey Graebner 12 March 2012 в 04:26
  • 2
    Unicode не имеет собственного символа табуляции; U + 0009 совпадает с символом табуляции, который вы получаете, нажимая Tab. (Я думаю, вы можете вводить в заблуждение HTML-объекты с набором символов Unicode.) – josh3736 12 March 2012 в 04:35
  • 3
    более широко вы можете использовать & amp; # 9; в любом элементе с белым пространством в стиле CSS: pre; как в jsfiddle.net/cancerbero_sgx/sp269/3 – cancerbero 6 December 2013 в 03:02
  • 4
    Плюс один. Ничего подобного & lt; pre & gt; & Lt; / pre & gt; чтобы получить значок хорошего ответа. – ouflak 4 August 2015 в 20:30

Опубликовать другую альтернативу, чтобы быть более полной. Когда я попробовал ответы на основе «pre», они добавили дополнительные вертикальные разрывы строк.

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

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

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

11
ответ дан crokusek 16 August 2018 в 01:47
поделиться
  • 1
    Если вкладки используются в качестве инструмента для выравнивания текста справа от вкладок (где текст шрифта нефиксированной ширины слева не равен), преобразование в символы nbsp не решит проблему. – Steve Midgley 25 April 2017 в 14:48

Tab - [HT] или номер символа 9 в библиотеке юникода.

2
ответ дан DanRedux 16 August 2018 в 01:47
поделиться

Как упоминалось, по соображениям эффективности последовательные пространства объединяются в одно пространство, которое браузер фактически отображает. Помните, что означает ML в HTML. Это язык разметки, предназначенный для контроля того, как отображается текст. Не whitespace: 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>
0
ответ дан Duane Lortie 16 August 2018 в 01:47
поделиться

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

3
ответ дан GrayFace 16 August 2018 в 01:47
поделиться

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

в соответствии с документами:

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

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

33
ответ дан Nisse Engström 16 August 2018 в 01:47
поделиться

поместите его между тегами <pre></pre>, затем используйте эти символы &#9;

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

40
ответ дан Raymund 16 August 2018 в 01:47
поделиться
  • 1
    Хорошо, это здорово, я пытался использовать &#9; сам по себе, но это не сработало. Спасибо, что упомянул <pre>! – Abbey Graebner 12 March 2012 в 04:30
  • 2
    Отличное предложение. Почему именно он ведет себя так? – pkanane 4 August 2015 в 09:04
  • 3
    & lt; pre & gt; тег определяет преформатированный текст, любое текстовое место внутри тега будет сохранять пробелы, разрывы строк, вкладку и т. д. Обычно она будет отображаться шрифтом фиксированной ширины типа Courier – Raymund 5 August 2015 в 04:16
  • 4
    Вы можете использовать любой тег html с комбинацией white-space: pre-wrap; или white-space: pre; – Petr Hurtak 3 May 2018 в 08:49