2

到目前为止,我认为 justify 意味着文本将以相同的像素开始和结束,但几个小时前我很惊讶,当我看到这个时:

证明错误

我在两台电脑(win7+chrome,ubuntu+firefox)上得到了类似的结果,而且不只是在这个地方,同一个站点上还有更多类似的错误。

在我第二次检查后,我认为这是一般情况,我还没有注意到,但其他网站没有显示这种奇怪的行为。刷新站点并重新启动浏览器也没有解决它。

有没有其他人注意到这一点?这是什么原因造成的?

4

3 回答 3

2

实际上,这很可能是预期的行为。与字距调整一样,它与外观有关,而不是像素完美。有正当理由,试图实现的外观是文本列两侧的直边。

让具有不均匀右边缘的字母形式(如“k”)伸出超过字母(如“n”)的直边有助于在视觉上呈现这种外观。这是因为格式塔心理学,它处理我们如何感知形状,你也可以看到它发生在线条的开头:

在此处输入图像描述

如果 Webkit 比 IE 引擎更好地处理文本复制的细微差别,我不会感到惊讶——它是Adob​​e InDesign 等桌面出版软件的一个功能。

于 2011-02-03T10:38:02.963 回答
1

应该是因为字符宽度是可变的,一个像素是这里的最小单位,并且填充空格,空格有时可以计算出一个四舍五入的浮点数。

无论如何,您真的不应该担心这一点,因为主要原因是可读性而不是设计变幻莫测。

于 2011-02-03T10:16:23.190 回答
0

之前关于这是一个感知问题的观点是有效的,但也有点接受最好的情况,即首先正确/很好地完成了理由。正确的文本对齐实际上相当困难,而且浏览器使用的算法也不是那么好,这毫无价值。这个 Hacker News 线程有一堆应该感兴趣的注释和链接。

于 2011-02-03T16:53:10.303 回答