2016-03-28 82 views
2

瀏覽器正在將單詞之間的多個空格替換爲html頁面中的單個空格。例如,如果我的文本在瀏覽器中爲'AB-DC 3',則顯示爲'AB-DC 3'。檢查窗口顯示2個空格'AB-DC 3'如何停止瀏覽器使用單個空間替換多個空間?

你也可以嘗試一下自己。只需檢查元素並在任何行檢查的單詞中添加多個空格。

有沒有解決方案? Similar question回答了原因,但未解釋如何解決此問題。

+0

請問您可以提供一些代碼。以上是用HTML標籤本身用p標籤還是? –

+1

'白色空間:預包裝'。完成。 –

+0

@NiettheDarkAbsol請將其作爲回答發佈。 –

回答

4

默認情況下,空白不重要,渲染時壓縮爲單個空間。

CSS可以改變:white-space: pre-wrap將提供您預期的默認換行功能,以及預格式化文本的顯着空白行爲。兩全其美!

1

如果你在html中給這麼多空間是沒有用的,因爲瀏覽器將只考慮一個你必須使用空間實體 的號碼。的時候,你鍵入這個實體的瀏覽器將會使很多空間

HTML:

<p>He&nbsp;&nbsp;&nbsp;&nbsp;llo</p> 

它會顯示確切的4位的工作

這裏是小提琴鏈接https://jsfiddle.net/yudi/zrqrfw98/

+1

' '與空間不同。您將失去將文本包裝在多行上的能力,因爲它正如其名稱所暗示的那樣是非破壞性的空間。 –

3
<pre>AB   BA</pre> 

pre標籤也將解決您的問題

1

在OP情景:(必要時包裹)
使用white-space:pre;(無除了在<br>套)或white-space:pre-wrap;

例子:

body{ 
 
    margin: 0; 
 
} 
 

 
div { 
 
    width: 200px; 
 
    height: 100px; 
 
} 
 

 
#a { 
 
    white-space:pre; 
 
    background: gold; 
 
} 
 

 
#b { 
 
    white-space:pre-wrap; 
 
    background: skyblue; 
 
}
<div id=a>This is some Text writen on here as example.<br> Here's a second sentence after the line-break .</div> 
 
<div id=b>This is some Text writen on here as example.<br> Here's a second sentence after the line-break .</div>

單一白色空間
有時你需要在一個句子的開頭使用單個空格,如(當它被忽略) 。在這種情況下,最好的選擇是使用&nbsp;代替。

例子:

p:nth-of-type(1) { 
 
    font-size: 2em; 
 
    background: tomato; 
 
} 
 

 
p:nth-of-type(2) { 
 
    font-size: 2em; 
 
    background: greenyellow; 
 
}
<p> content</p> 
 
<p>&nbsp;content</p>

-1

爲了避免更改顯示的風格。 更好使用風格:

<style> 
    { white-space: pre;} 
</style>