【问题标题】:Adding Whitespace in Middle of Sentence在句子中间添加空格
【发布时间】:2014-01-26 17:56:36
【问题描述】:

在 HTML5 中,如何跳过 <div> 中的 5 个空格?例如,你是如何做到的:

“鼓声……[5 个空格] 东西!”

<div>Drumroll... [5 spaces] Something!</div> 只是输出“Drumroll...Something!”

我发现句子中间似乎没有任何缩进的标签,例如<indent>

&nbsp&nbsp&nbsp&nbsp&nbsp 有效,但有没有更有效的方法?比如……

<skip 10px></skip>

具体来说,我正在寻找能够轻松插入恰好 1,000 个空格的解决方案。

【问题讨论】:

  • 你能用5个吗 字符?
  • 是的,我可以,对不起,我应该更清楚。寻找比一遍又一遍地输入更有效的东西。
  • 不确定是否有,但希望有人插话。传统上,文本中会忽略 HTML 中的多余空格
  • 我看到的替代方案是使用 CSS (或者使用 margin/padding 就像 MrVimes 的回答,或者使用 :before/:aftercontent 并且只输入众多 @ 987654331@s 在content 的值中输出一次),使用 JavaScript 插入字符(CSS 比 JS 更可取),或者如果可以选择在服务器端做一些事情。

标签: html css format whitespace indentation


【解决方案1】:

这不是完美的五个空格,我不确定是否有办法在不使用五个连续的&amp;nbsp;s 的情况下做到这一点,但这将允许您内联添加可指定数量的空格。

<p>Drumroll...<span style="margin-left:50px;"></span>something</p>

http://jsfiddle.net/5drHj/1/

另一种选择可能是使用&lt;pre&gt; 标签...

<pre>Drumroll...     something</pre>

http://jsfiddle.net/5drHj/2/

如果您决定使用连续的&amp;nbsp;,您可以使用 javascript 循环(或用于服务器端构造的 php 循环)添加 1000 &amp;nbsp;s

编辑:冒着失去我的选择的风险,我想指出@vals 给出的答案是第三个选项,也许是三个选项中最优雅的一个。

【讨论】:

    【解决方案2】:

    不,HTML 中没有这样的元素。很久以前,有非标准的&lt;spacer&gt; 标签,但被废弃了。您应该将 CSS 用于此类事情。将一些前面的文本包裹在 &lt;span&gt; 元素中并在其上设置 padding-left: 1.25em。根据需要调整值。空格的宽度取决于字体,但平均约为0.25em

    【讨论】:

      【解决方案3】:

      您在问题前半部分提出的问题(如何轻松插入空格)是通过以下属性实现的:

      white-space: pre;
      

      这意味着您的文本已预先格式化,并且空白应保持原样。然后只需插入这些空格。

      fiddle

      如果你想插入 1000 个空格,那么我们可能正在谈论对齐,并且有大量的可能性。 (在 em 中指定的填充是最明显的),但是你应该提供更多关于你的情况的细节。

      【讨论】: