又谈换行情况处理

      接上篇换行情况处理 ,另一个控件也存在换行情况,但是没有上次那个“捷径”中的现象,就是不会换行。出于兼容之前所有功能,最小变更,最快解决的考虑,觉得不改变dom元素,在这些前提下找一个解决方案。

      上篇中提到的第一个方案 - - “计算内容宽度”,经过评估后有以下两个难点:

      1、每个字符宽度不确定

      汉字基本每个字宽度都相同,但字符“a”和“l”,宽度就不同。

      2、具体字符宽度如何计算

      如果知道每个字符宽度计算方法,自然也就可以有多个字符计算方法。但目前我还没有找到直接计算字符的方法。

      基于上面两个点带来的复杂度,我又一次觉得这个方法可行性不高。所以经过思考后使用了下面的方法:

      1、在body末尾append一个div,把待计算宽度的内容放到这个div里面就可以了,当然为了准确,还需要做下面两点。

      2、div的样式需要使其内容不换行,包括在超出屏幕范围的情况。

      3、待计算宽度的内容不能直接放在该div里面,而是包裹在一个dom节点中,我选用了em。

      学艺有限,有更好方法的还请多指教^^。

posted @ 2012-03-16 15:26  screepinail  阅读(208)  评论(0编辑  收藏  举报