Есть ли способ заставить HTML правильно обрабатывать \n переводы строк? Или я должен заменить их на
?

abc def ghi

stkvtflw

Ответов: 7

Ответы (7)

Это нужно для отображения новой строки и возврата каретки в html, тогда вам не нужно делать это явно. Вы можете сделать это в css, задав атрибуту white-space значение pre-line.

@Model.CommentText

Согласно вашему вопросу, это можно сделать различными способами: - Например, вы можете использовать:

Если вы хотите вставить новую строку в область текста, вы можете попробовать следующее:-

Line Feed и Carriage return


Вы также можете

---
преформатированный текст.

     This is Line1
     This is Line2
     This is Line3

Или вы можете использовать

----

Параграф

This is Line1

This is Line2

This is Line3

Вы можете использовать тег

 :

abc
def
ghi

Простота и линейность:

 

my phrase is this..
the other line is this
the end is this other phrase..

Вы можете использовать тег

  abc
  def
  ghi
abc def ghi

Использование white-space: pre-line позволяет вводить текст непосредственно в HTML с переносами строк без необходимости использовать \n

.

Если вы используете свойство innerText элемента через JavaScript на не-пре-элементе, например,

, значения \n будут заменены на
в DOM по умолчанию

.
  • innerText: заменяет \n на
  • innerHTML, textContent: требуют использования стилизации white-space

Это зависит от того, как вы наносите текст, но есть несколько вариантов

const node = document.createElement('div');
node.innerText = '\n Test \n One '

You can use CSS white-space property for \n. You can also preserve the tabs as in \t.

For line break \n:

white-space: pre-line;

For line break \n and tabs \t:

white-space: pre-wrap;

document.getElementById('just-line-break').innerHTML = 'Testing 1\nTesting 2\n\tNo tab';

document.getElementById('line-break-and-tab').innerHTML = 'Testing 1\nTesting 2\n\tWith tab';
#just-line-break {
  white-space: pre-line;
}

#line-break-and-tab {
  white-space: pre-wrap;
}

2022 WebDevInsider