您可以使用white-space: pre-wrap
来保留空格序列,同时仍然换行:
<p style="white-space: pre-wrap;">Lorem ipsum. Dolor sit amet.</p>
在IE 8模式下,直到IE 8,以及Firefox 3.0之前,此操作不受支持。
你也可以使用 
或 
来表示一个em
或en
的空格。我不确定这些东西的普及程度如何,但它们似乎在最新的Mac OS X上的WebKit和Firefox上可以正常工作。
两个
字符的序列将防止该空格中断换行;这就是
的含义:不间断空格。序列A sentence. Another.
会使
出现在第二行,稍微缩进文本,这可能是不希望看到的。序列A sentence. Another.
可以正常工作,不添加任何额外缩进并进行换行,但如果你在对齐文本中使用它,将
放在行末,将阻止该行正确对齐。
是为书写某人的名字而设计的,比如Mr. Torvalds
,或以.
结尾的缩写,在这种排版约定中,你不应该跨行拆分它,以避免人们感到困惑并认为该句子已经结束。
因此,使用
序列是不理想的。由于这是一种样式效果,我建议使用white-space: pre-wrap
,并接受在不支持该样式的平台上样式会略微不理想的情况。
编辑:如评论中所述,white-space: pre-wrap
不能与text-align: justify
一起使用。但是,我使用不同实体的示例进行了测试,并使用BrowserShots (有些烦人的广告,并且有些不太可靠和缓慢,但对于免费的价格来说,它是一个非常有用的服务)。看起来相当多种类的浏览器,在各种平台上都支持 
和 
,一些不支持的浏览器仍然使用空格,因此渲染效果也不错,只有Windows 2000上的IE 6实际上将它们呈现为方块。BrowserShots不允许我选择我想要的确切浏览器/操作系统组合,因此我不能选择在XP上运行的IE 6,以查看它是否有所不同。因此,只要你可以接受IE 6(可能是XP)的问题,这就是一个可行的解决方案。
另一个可能的解决方案是找到(或创建)一种具有“。 ”字符对的紧排对字形的字体,使它们之间的距离更宽。由于目前所有主要浏览器都支持@font-face
,包括IE 5.5及以下版本(尽管IE使用与其他浏览器不同的格式),因此使用自己的字体实际上变得合理,并且如果不支持,则回退到用户默认字体