Podział wiersza w HTML za pomocą „\ n”

Odpowiedzi:

355

Ma to na celu wyświetlenie nowej linii i karetki zwrotnej w formacie HTML, więc nie musisz tego robić jawnie. Możesz to zrobić w css, ustawiając wartość przed wierszem atrybutu białych znaków.

<span style="white-space: pre-line">@Model.CommentText</span>
Khakishoiab
źródło
13
Możesz także użyć, white-space: pre-wrapjeśli chcesz zachować miejsce na tabulatory.
Vijay Shegokar,
124

Możesz użyć white-spacewłaściwości CSS dla \n. Możesz także zachować zakładki jak w \t.

Do podziału linii \n:

white-space: pre-line;

Dla podziału linii \ni tabulatorów \t:

white-space: pre-wrap;

Darlesson
źródło
Jest to dostępne przez długi czas i jest obsługiwane przez wszystkie główne przeglądarki .
Darlesson
23

Zgodnie z pytaniem można to zrobić na różne sposoby: - ​​Na przykład możesz użyć:

Jeśli chcesz wstawić nową linię w polu tekstowym, możesz spróbować:

&#10;Przesuw linii i &#13;powrót karetki

<textarea>Hello &#10;&#13;Stackoverflow</textarea>

Możesz także <pre>---</pre>wstępnie sformatowany tekst.

<pre>
     This is Line1
     This is Line2
     This is Line3
</pre>

Lub możesz użyć <p>----</p>akapitu

<p>This is Line1</p>

<p>This is Line2</p>

<p>This is Line3</p>

Uwaga: jeśli chcesz użyć \n , musisz zainstalować serwer taki jak Xampp lub Apache, aby obsługiwać język po stronie serwera

Sampad
źródło
5
Czy mógłbyś rozwinąć swoją ostatnią notatkę? Nie rozumiem, dlaczego według ciebie wymagana jest obsługa po stronie serwera ...
Shadow
Ostatnie zdanie tutaj jest obiektywnie fałszywe, jak wykazało kilka innych odpowiedzi. Nawet jeśli nie byłby obsługiwany natywnie, możesz go łatwo zmienić za pomocą JavaScript po stronie klienta.
John Montgomery
13

Możesz użyć <pre>tagu

<div class="text">
<pre>
  abc
  def
  ghi
</pre>
  abc
  def
  ghi
</div>

Johan Brännmar
źródło
12

możesz użyć <pre>tagu:

<div class="text">
<pre>
abc
def
ghi
</pre>
</div>

Ehsan
źródło
5

Użycie white-space: pre-lineumożliwia wprowadzenie tekstu bezpośrednio w kodzie HTML z podziałem wiersza bez konieczności używania\n

Jeśli użyjesz innerTextwłaściwości elementu za pomocą JavaScript na nieprzygotowanym elemencie, np. A <div>, \nwartości zostaną <br>domyślnie zastąpione przez DOM

  • innerText: zastępuje się \nprzez<br>
  • innerHTML, textContent: wymagają użycia stylizacjiwhite-space

Zależy to od sposobu zastosowania tekstu, ale istnieje wiele opcji

const node = document.createElement('div');
node.innerText = '\n Test \n One '
Drenai
źródło
4

Prosty i liniowy:

 <p> my phrase is this..<br>
 the other line is this<br>
 the end is this other phrase..
 </p>
Alessandro Ornano
źródło
2

Powinieneś rozważyć wymianę hamulców liniowych na <br/>. W HTML podział linii będzie oznaczał tylko nową linię w kodzie.

Alternatywnie możesz użyć innych znaczników HTML, takich jak umieszczanie linii w akapitach:

<p>Sample line</p>
<p>Another line</p>

lub inne owijki jak na przykład <div>sample</div>z atrybutem CSS display: block.

Możesz także użyć <pre>. Zawartość prebędzie ignorowana jako styl HTML. Innymi słowy, wyświetli czysty HTML z normalnymi \nukładami hamulcowymi

Łukasz
źródło