好的,深呼吸。
假设使用的是单空间字体,并且有三个要求。这可能是明智的,也可能不是明智的;那不是我要问的。
-
在网页中每个句子的末尾显示两个空格,前提是句子以中线结尾。
-
但是,如果句子在段落中间结束,但恰好接近右边距,则最后一个字符(通常为".")应该能够像任何其他行中的任何其他字符一样靠近右边距。也就是说,在查看测试结果时仔细调整窗口宽度应该能够挤出间隙前文本后面的任何空间。
-
类似地,在换行之后不必引入多余的空间。
不要求能够证明文本的合理性。
这里已经提出了类似的问题。但这个线程有两个问题(对我来说):
-
它被正确地关闭了,因为讨论一开始就陷入了需求是否明智的困境。我并不认为上述要求是明智的;我只是问了个问题。
-
发起人似乎并不担心上面的要求2,因此讨论没有完全解决它
我试着把下面的每一个都放在两个句子之间。他们中的每一个人要么没有满足其中一个要求,要么完全没有允许在两个句子之间换行。在阅读此列表时,请在适当的位置添加分号;当我把它们添加到实际列表中时,我得到了真正的空间和东西,而不是实体的名称。
- (空格)(空格)
-  emsp
- (空格)&emsp
- &空间
- &ensp&ensp
- (空格)&ensp
- &ensp(空间)
-  ;nbsp
- (空格) 
-  (空格)
- (空间)(跨度内的空间)
- (跨度内的空间)(空间)
- (跨内空间)
此外,我尝试了white-space: pre-wrap
的想法,但没有满足要求2。
你有什么建议?在我的测试中,样式表是这样的:
P.intro
{
font-family: Courier, monospace;
}
P.prewrap
{
font-family: Courier, monospace;
white-space: pre-wrap;
}
网页是这样的:
<HTML><HEAD>
<link rel="stylesheet" href="style.css">
</HEAD><BODY>
<P class=intro>
01 alpha spacespace omega spacespace<BR>
<BR>
02 alpha &emsp;&emsp;  omega &emsp;&emsp;<BR>
03 alpha space&emsp;  omega space&emsp;<BR>
04 alpha &emsp;space  omega &emsp;space<BR>
<BR>
05 alpha &ensp;&ensp;  omega &ensp;&ensp;<BR>
06 alpha space&ensp;  omega space&ensp;<BR>
07 alpha &ensp;space  omega &ensp;space<BR>
<BR>
08 alpha &nbsp;&nbsp; omega &nbsp;&nbsp;<BR>
09 alpha space&nbsp; omega space&nbsp;<BR>
10 alpha &nbsp;space omega &nbsp;space<BR>
<BR>
11 alpha space-spanspace <SPAN> </SPAN>omega space-spanspace<BR>
12 alpha spanspace-space<SPAN> </SPAN> omega spanspace-space<BR>
13 alpha spanspace-spanspace<SPAN> </SPAN><SPAN> </SPAN>omega spanspace-spanspace<BR>
<BR>
0 2 4 6 8 0 2 4 6 8 0 2 4 6 8 0 2 4 6 8 0 2 4 6 8 0 2 4 6 8 0 2
<BR>
01 3 5 7 9 1 3 5 7 9 1 3 5 7 9 1 3 5 7 9 1 3 5 7 9 1 3 5 7 9 1 3
</P>
<P class=prewrap>Lorem ipsum. Dolor sit amet.</P>
</BODY></HTML>
将其包含在您的css文件中:
SPAN.eos
{
word-spacing: 0.625em
}
在每一个中段句子的末尾这样做:
finalword<SPAN class=eos>. B</SPAN>eginning