2013-08-20 185 views
6

我必須在html頁面上顯示一堆文本。 文本看起來是這樣的:Html顯示格式文本

+-001 This is a Line   00:12:04 
    002 ---------------------------------- 
- 003 Everthing looks good so far ------ 

的文字是「預格式化」,並含有大量的白衣空間和破折號,並且每行具有相同的長度(所有字符具有相同的寬度)。

有沒有辦法在html中顯示文本而不會丟失格式?

+0

給出一個空格:pre爲父div。它應該保留空格。你知道它是否包含標籤'<' or '>'或反斜槓'/'? – palerdot

回答

15

將您的文字包裹在<pre>標記中。

JSFiddle

<pre> 
+-001 This is a Line   00:12:04 
    002 ---------------------------------- 
- 003 Everthing looks good so far ------ 
</pre> 
5

的HTML的方式是使用pre element,這已被設計爲這樣的用法,但要注意

  • 要在格式化安全起見,把<pre>標籤就在的開始第一行和</pre>標記在最後一行的末尾。否則,某些瀏覽器可能表現得好像在元素的開始或結尾處有空行。
  • 你仍然需要逃脫字符<&的出現在內容(也有一些情況下,這是沒有必要的,但它是最簡單的忽略。

例(其中我添加了一個含有表達1 + 1 < 3)行:

<pre>+-001 This is a Line   00:12:04 
    002 ---------------------------------- 
- 003 Everthing looks good so far ------ 
- 004 Simple as 1 + 1 &lt; 3   ------</pre> 

可以避免使用xmp代替pre逸出<&,但xmp已解已過時,已過時,以及其他任何(但它在實踐中很好地工作)。

<xmp>+-001 This is a Line   00:12:04 
    002 ---------------------------------- 
- 003 Everthing looks good so far ------ 
- 004 Simple as 1 + 1 < 3   ------</xmp>