\t не работает в JavaScript

Я пытаюсь просто использовать текст \t между 2 текстами, но вкладка \t не работает, и между двумя текстами не остается пробела. Я пытался просто использовать интервал, и это тоже не работает. Кажется, что что-то больше, чем 1 пространство.

Я осмотрелся здесь, и большинство из них говорит, что javascript делает автоматическую обрезку, поэтому вкладка и дополнительный интервал не работают. Другим является то, что он не распознается в некоторых браузерах. Я использую Chrome.

Получив ответы на эти ответы, я не видел никаких решений. Есть ли способ отключить автоматическую подгонку? Благодарю.

4 ответа

HTML выравнивает пробелы до 1, а не JS. Вы можете изменить это поведение с помощью CSS. Установите white-space: pre чтобы он соблюдал все пробелы и разрывы строк в тексте.

http://www.w3schools.com/cssref/pr_text_white-space.asp


Использование \t в строковом литерале в JavaScript создает символ табуляции, U + 0009: ХАРАКТЕР ТАБАЛ. В этом нет никаких проблем. Но вкладка по определению является символом пробела в HTML, и в любом нормальном содержимом любая последовательность символов пробела эквивалентна пробелу.

Однако в некоторых контекстах вкладка вызывает табуляцию, при которой табуляция останавливается на каждые 8 символов, что обычно неуместно. Существуют настройки CSS для установки табуляции, но поддержка браузера ограничена.

Контексты, в которых вкладка вызывает табуляцию, представляют собой pre элементы (по определению), элементы textarea (на практике) и элементы с white-space: pre заданные на них. Но для того, чтобы иметь смысл, tabbing также требует, чтобы шрифт был моноширинным.

Во всех возможных ситуациях вы должны использовать инструменты, отличные от символов табуляции, такие как HTML-таблицы. Но так как никакого конкретного контекста и цели не было описано, невозможно дать конкретное предложение.


Вкладка будет работать в самом JavaScript. Если вы видите код, выполняемый на консоли, большинство, если не каждый браузер будет отображать столько вкладок, сколько пожелаете.

Вероятно, вы печатаете это в HTML, который игнорирует несколько пробельных символов, если они явно не напечатаны как   символьные сущности.

Для получения дополнительной информации о том, как распечатать его в HTML, см. Этот вопрос.

Кроме того, вы можете изменить это поведение для набора элементов, используя свойство white-space CSS


.div1{
 background-color:#27****;
 width:80%;
 height:200px;
 margin:auto;
 border-radius:15px;
}
h1{
 color:white;
 font-size:18px;
 font-weight:bold;
 font-family:'Roboto slab';
 text-align:center;
 padding-top:10px;
}
p{
 color:white;
 font-size:15px;
 font-weight:normal;
 text-align:center;
 padding-top:40px;
}
<title>wsdfa</title>
 
 
 <div>
 <h2> HELLO WORLD</h2>
 <p>This is my first page of HTML CSS</p>
 </div>

licensed under cc by-sa 3.0 with attribution.