可以使浏览器不删除字符

时间:2012-03-28 01:53:18

标签: javascript html css

我知道现代浏览器删除了大多数空间字符和'& nbsp';内部人物一个段落元素。但有没有办法让浏览器不删除空格?

可能使用CSS属性或HTML文档类型?

或许我最后的办法是使用javascript将每4个空格字符转换为标签?

我想要显示的文字示例:

<p>There    should    be    gaps    of    4    chars    tween    each    word</p>

如果我唯一的选择是Javascript;你可以告诉我,我的正则表达式是否会使用“_”字符正确地更改任何“”字符(出现两次或更多次)?

var p = document.getElementById("myP");
var con = p.innerHTML;
con = con.replace("[ ]{2,}", "_");
p.innerHTML = con;

3 个答案:

答案 0 :(得分:4)

使用<pre>标签是否有任何理由不合适?因为这听起来像你需要的。

输出(将您的内容包含在<pre></pre>标记中):

There    should    be    gaps    of    4    chars    tween    each    word

此外,<pre>标签仍然可以设置样式。

答案 1 :(得分:1)

您可以在CSS中使用white-space: pre-wrap;现代浏览器(不是IE 7)是supported。它允许自动换行,但使用&nbsp;可以防止它,所以你需要使用普通空格,除非要防止换行。

根据上下文和目的,如果你真的只想增加单词之间的间距,那么在CSS中使用word-spacing可能会更好。

从技术上讲,现代浏览器不会忽略不间断空格;他们只是崩溃任何空白序列,就像浏览器一直做的那样,并将不间断空格计为空格,这是新的。

答案 2 :(得分:0)

它可以消除崩溃的空白区域,并且浏览器更有效地在每个单词周围放置一个范围,然后使用以下CSS:

#myP span {
  display: inline-block;
  margin-right: 2em; /* or put the amount of space in pixels */
}

......就像这样:

<p id="myP"><span>There</span><span>should</span>be</span><span>gaps</span></p>

这也使得以后调整或更改间距变得更加容易,因为您可以只修改CSS中的间距,而不是添加或删除大量的&amp; nbsp's。