想在浏览器中模拟终端界面, 不料在确定区域宽度时遇到了麻烦.
用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 |