V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Can I use?
http://caniuse.com/
Less
http://lesscss.org
Cool Libraries
Bootstrap from Twitter
Jetstrap
lianghai
V2EX  ›  CSS

有没有什么 hack 方法能为中文实现 justify 的文本对齐方式?

  •  
  •   lianghai · 2010-10-26 02:28:13 +08:00 · 5015 次点击
    这是一个创建于 4925 天前的主题,其中的信息可能已经有所发展或是发生改变。
    因为中文不用空格断词,所以目前浏览器都无法根据 CSS 属性 text-align: justify; 来让中文实现 justify(Word 管它叫“两端对齐”,而 InDesign 叫它“双齐末行齐左”)的文本对齐。于是要实现整洁的文本块排版真是太难了。

    CSS3 里有引自 IE 的一个 NB 属性,看着就眼馋,但暂时没有见到 IE 之外的浏览器对其支持:
    http://www.w3.org/TR/css3-text/#text-justify

    我猜应该会有个人制作的 JavaScript 解决方案吧,可是先后搜过两三次,都没有找到。
    能找到的相关的只有这些:

    强大的西文 hyphenation 方案: http://code.google.com/p/hyphenator/
    优美的 typography 全明星算法 demo: http://www.bramstein.com/projects/typeset/flatland/
    还有一个很“暴力”的看上去是那么回事的方案: http://www.heychinaski.com/blog/2009/01/17/character-justification-using-jquery/

    难道活跃的充满 typography 狂人和高手的中文互联网(或者日文、韩文互联网也成啊……)就没人搞定这个问题吗?…… @_@
    2 条回复    1970-01-01 08:00:00 +08:00
    GordianZ
        1
    GordianZ  
    MOD
       2010-10-26 03:00:17 +08:00
    除了中西文混排和半角符号的情况,一般不会出现不对齐的情况啊。
    需求不如西文justify对齐来得急切,所以解决办法比较少也很正常嘛。
    lianghai
        2
    lianghai  
    OP
       2010-10-26 03:10:25 +08:00
    @GordianZ 嗯但是对许多人来说,其实中文和半角引号、阿拉伯数字、拉丁字母及西文标点等等宽度不为 1 em 的字符混排的情况实在有点常见……
    而且对于精益求精的日本 typography 高手来说,对混排后 justify 的要求应该很强盛吧,只是我没法用日语搜这个了……
    呼,快一点了,睡觉了……
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1019 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 22:59 · PVG 06:59 · LAX 15:59 · JFK 18:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.