如何使用CSS在段落中的每个句点后放置两个空格?
答案 0 :(得分:8)
一段时间后的两个空格与打字机世界或等宽字体世界有关。我们很久以前就已经超越了它,从TeX开始甚至之前。关键是在一段时间后不要有一个或两个空格字符,而是要在那里有一个令人满意的空间。像TeX这样的算法需要很长时间才能完成。相比之下,现代Web浏览器中的算法仍然是原始的,但开始做得更好。请考虑以下事项:
你会看到句号之后的空格(略微)大于字间空格,应该是这样。
理由如何?你希望浏览器在句子之间放置额外的空格,而不是把它放在单词之间。这就是发生的事情:
无论如何,所以你想要更精细的控制,在你的网页上实现自己的排版愿景。以下句子之间有四个
个字符:
您还可以使用Unicode中不同宽度的空格来获得所需的空间量(请参阅Wikipedia article)。
有没有办法自动执行此操作? CSS有一个word-spacing
属性,但没有sentence-spacing
属性(实际上,即使用英语也不容易弄清楚“句子”是什么,在其他语言中则不那么容易)。当然,在HTML中放置更多空格并不会有任何意义,因为HTML会将任何空白空间视为单个空格。因此,您将不得不编写一些代码,或者找到一个插件,该插件遍历页面中的文本并插入标记。或者,在CMS中添加插件或其他内容以吐出适当标记的代码。您这样做的替代方案是:
或不同宽度的Unicode空格的组合。span
标签与margin
一起使用。<span class="sentence">
元素,其中CSS规则如.sentence::after { content: "\2002"; }
,其中2002是“en-space”。这导致:
然而,最重要的是,网络不是一个印刷环境,尽管有许多值得努力推动它朝这个方向发展。根据您的目标,您可以考虑在高端文档准备环境中创建文档,并将其作为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会自动在每个句子之后插入一个额外的空格。