有没有理由避免使用text-align: justify;
?
它会降低可读性还是导致问题?
首先,这纯粹是与设计相关的问题和解决方案.网格的设计指定是否需要对齐文本.我认为单独对齐并不会对可用性产生重大影响.使文字难以辨认的糟糕排版会降低可用性.也就是说,确保您的类型具有稳固的对比度和良好的间距平衡.字体大小也很重要.
这个网站是一个成功的尝试在线证明文本.由于你不能像使用InDesign那样用CSS控制字母和单词之间的空格,所以要证明文本的合理性并且没有空行的"河流"在你的行之间运行,这会发生在单词之间的空格时超过线之间的空格.使文本合理化的事情很难:长文字,行宽不能容纳足够的文字,文字和背景颜色之间的对比度太大; 它们使河流看起来更宽更明显.
印刷的理想是有一个偶数文本块,如果你斜视文本块变成一个统一的固体阴影.因此,如果您在白色背景上保持大约10px和60%灰色的文本,并且具有大约20个单词的行,则对齐不应该看起来很难看.但请记住,这无助于提高可用性.小而相对较轻的文字会惹恼很多人,特别是年长的读者.
我应该注意到,使用
(软连字符)正确地分隔像superawesome这样长的麻烦的单词,你可以模仿正确的排版(例如InDesign).有很多东西可以帮助你做到这一点.我建议隐藏,操作和显示要在客户端完成的文本的逻辑,也许这个.
编辑:正如其他人在下面提到的,现在可以使用CSS连字符,除非不可行(不在Chrome中).另外,css4提供更多控制.
text-align:justify目前不应该在浏览器中使用.他们不善于处理内部的细节,输出最终包含许多河流,并且不支持连字符(除了软连字符).
上面的注释是在4.5年前写的.事情正在慢慢改变...... http://caniuse.com/#feat=css-hyphens
编辑: 在这个答案的评论中,我注意到了连字符.看起来它使文本对齐值得使用,查看使用它的网站.在使用此脚本之前,您可能希望使用javascript来应用text-align justify,以便那些没有javascript的人不会被捕获.
编辑2:
CSS现在允许使用属性[ 浏览器支持 ] 进行连字.PPK现在说要将它添加到你的样式表中,而Eric Meyer说只需将它添加到手机中.hyphens
编辑3: 对我们现在可用的一些很好的概述,有一些SASS.
其他人提出的关于证明对齐的问题在窄列中更为普遍.如果您的列相对于字体和其他参数的大小足够宽,则可以证明文本的合理性.假设您希望平均每行至少12到15个单词.越多越好.
没有技术理由不 - 这纯粹是一个设计决定.很多人发现合理的文字难以阅读,但我想这取决于你的情况.虽然它适用于打印,但通常Web浏览器无法对文本的最终输出进行足够的控制,以保证您所服务的内容在某些人的屏幕上看起来不像废话.
你最好的选择是避免理由.