使用CSS在段落中每个句号后两个空格?

时间:2013-07-17 07:28:52

标签: html5 css3

如何使用CSS在段落中的每个句点后放置两个空格?

4 个答案:

答案 0 :(得分:8)

啊,旧的“两个空间后一段时间”的模因再次出现了丑陋的脑袋。

一段时间后的两个空格与打字机世界或等宽字体世界有关。我们很久以前就已经超越了它,从TeX开始甚至之前。关键是在一段时间后不要有一个或两个空格字符,而是要在那里有一个令人满意的空间。像TeX这样的算法需要很长时间才能完成。相比之下,现代Web浏览器中的算法仍然是原始的,但开始做得更好。请考虑以下事项:

enter image description here

你会看到句号之后的空格(略微)大于字间空格,应该是这样。

理由如何?你希望浏览器在句子之间放置额外的空格,而不是把它放在单词之间。这就是发生的事情:

enter image description here

无论如何,所以你想要更精细的控制,在你的网页上实现自己的排版愿景。以下句子之间有四个 个字符:

enter image description here

您还可以使用Unicode中不同宽度的空格来获得所需的空间量(请参阅Wikipedia article)。

有没有办法自动执行此操作? CSS有一个word-spacing属性,但没有sentence-spacing属性(实际上,即使用英语也不容易弄清楚“句子”是什么,在其他语言中则不那么容易)。当然,在HTML中放置更多空格并不会有任何意义,因为HTML会将任何空白空间视为单个空格。因此,您将不得不编写一些代码,或者找到一个插件,该插件遍历页面中的文本并插入标记。或者,在CMS中添加插件或其他内容以吐出适当标记的代码。您这样做的替代方案是:

  1. 添加 或不同宽度的Unicode空格的组合。
  2. 如另一张海报建议,请将span标签与margin一起使用。
  3. 作为上述的变体,使用<span class="sentence">元素,其中CSS规则如.sentence::after { content: "\2002"; },其中2002是“en-space”。这导致:
  4. enter image description here

    然而,最重要的是,网络不是一个印刷环境,尽管有许多值得努力推动它朝这个方向发展。根据您的目标,您可以考虑在高端文档准备环境中创建文档,并将其作为PDF发布。

答案 1 :(得分:1)

只有将句号全部放在标记上才能完成,例如<span>。例如:

www<span>.</span>google<span>.</span>com

然后css是:

span:after{
   content : "  "; /*two spaces*/
}

答案 2 :(得分:0)

你可以把你的句号全部放在一个span-tag中,给它一些CSS属性,比如&#34; margin-right:5px;&#34;,如果它只是你要找的外观。

答案 3 :(得分:0)

句子后面的两个空格的概念不是“丑陋的”-实际上,它恰恰相反。由于现代字体字距调整以及Web浏览器现在支持的字体种类繁多,因此有时很难确定句子是否已结束,或者是否仅存在一个缩写词需要一个句点,更不用说它的外观了。持续运行。以“ fat”字母开头的句子(例如大写“ W”)看起来好像根本没有空格。在句子后面添加一个额外的空格可以使读者清楚地休息。但是,我发现创建CSS来“理解”一个句子是非常困难的,这样CSS会自动在每个句子之后插入一个额外的空格。