如何处理HTML中的空格

时间:2008-08-19 15:27:31

标签: html whitespace

我对HTML最大的印刷挫折之一是它破坏联合空白的方式。例如,如果我有:

<span>Following punctuation rules.  With two spaces after the period.  </span>

在此期间之后的两个空格中的一个将被视为无关紧要的空白并被删除。我当然可以通过以下方式强制空白:

<span>Following punctuation rules.&nbsp; With two spaces after the period.  </span>

但它让我不得不这样做,我通常不会打扰。有没有人自动将重要的空白插入到用于网页的外部内容提交中?

8 个答案:

答案 0 :(得分:7)

如果您真的想保留您的空白区域,请尝试使用css属性:white-space:pre;

或者,您可以使用&lt; pre&gt;标记中的标记。

顺便说一句,HTML浏览器一般忽略空格是件好事,它允许我们拥有格式清晰的源代码,而不会影响输出。

答案 1 :(得分:6)

对于您的具体示例,无需担心。 Web浏览器执行印刷渲染,并在句点和随后的任何字符之间放置正确的空间量(根据字距调整规则,它根据下一个字符的不同而不同。)

如果你想要换行,&lt; br /&gt;这不是什么大不了的事,是吗?


不确定这里有什么值得注意的...你应该在一段时间后强制使用两个空格,除非你使用的是等宽字体。对于比例字体,重置器在一段时间后会保留适当的空间量。有关详细讨论,请参阅herehere

答案 2 :(得分:2)

它可能不是很优雅,但我将CSS应用于&lt; pre&gt;标签

总有“白色空间”的CSS属性,但它可能会有点受伤。

答案 3 :(得分:1)

您可以使用样式化的前块来保留空格。大多数WYSIWYG编辑也插入&amp; nbsp;为你...

总的来说,浏览器忽略空白是件好事。只需查看本网站上的来源,想象一下如果每个空间都显示出来,网站会有多疯狂。

答案 4 :(得分:1)

看看pre tag。它可能会做你想要的。

答案 5 :(得分:0)

你最好使用白色空间:预包装比白色空间:pre或&amp; nbsp; 在您的示例中,后一种解决方案可以在“规则”上开始新的一行。&amp; nbsp;“只是因为你的 n on- b reakable sp 一点点到了行尾。

答案 6 :(得分:0)

根据您的需要,PRE标签可以是有效的解决方案。但是,如果您尝试在整个网站的句子中使用2空格规则,您很快就会发现PRE标记保留的其他字符是换行符/回车符(或缺少)会破坏您尝试的任何样式去做。

一般来说,我倾向于忽略“句子后的两个空格”规则,或者如果你是一个坚持者,我会坚持使用&amp; nbsp;,但你偶尔会遇到这个问题尼古拉斯说。

答案 7 :(得分:0)

webtypography.net上有关于此主题的页面。从排版的角度来看,该网站还有许多关于为网络创建文本的有趣内容,网页设计师通常甚至都没有考虑过。值得一读。