想在浏览器中模拟终端界面, 不料在确定区域宽度时遇到了麻烦.
用em指定是不行的, 1em是一个汉字的宽度; px也不行, 即使指定了font-size, font-family和letter-spacing, 不同浏览器中80个字符的宽度也不同.
用em指定是不行的, 1em是一个汉字的宽度; px也不行, 即使指定了font-size, font-family和letter-spacing, 不同浏览器中80个字符的宽度也不同.

1 cutehalo Mar 13, 2012 在容器里放个div里面装80个空格?好像很不靠谱的方法啊。。。 |
2 sparanoid Mar 13, 2012 字符等宽的话试试用 ch 单位? |
3 oci Mar 13, 2012 ch 单位就是做这个的,可惜只有 Mozilla 跟 IE9 支持。 我觉得更靠谱的思路是用脚本主动控制文本在 80 个时折行,而不是限制区域宽度然后依靠浏览器的自动折行然后把区域用 <pre> 包住。 研究下前人的做法呗。比如 http://www.htmlfivewow.com/demos/terminal/terminal.html |