又谈换行情况处理
接上篇换行情况处理 ,另一个控件也存在换行情况,但是没有上次那个“捷径”中的现象,就是不会换行。出于兼容之前所有功能,最小变更,最快解决的考虑,觉得不改变dom元素,在这些前提下找一个解决方案。
上篇中提到的第一个方案 - - “计算内容宽度”,经过评估后有以下两个难点:
1、每个字符宽度不确定
汉字基本每个字宽度都相同,但字符“a”和“l”,宽度就不同。
2、具体字符宽度如何计算
如果知道每个字符宽度计算方法,自然也就可以有多个字符计算方法。但目前我还没有找到直接计算字符的方法。
基于上面两个点带来的复杂度,我又一次觉得这个方法可行性不高。所以经过思考后使用了下面的方法:
1、在body末尾append一个div,把待计算宽度的内容放到这个div里面就可以了,当然为了准确,还需要做下面两点。
2、div的样式需要使其内容不换行,包括在超出屏幕范围的情况。
3、待计算宽度的内容不能直接放在该div里面,而是包裹在一个dom节点中,我选用了em。
学艺有限,有更好方法的还请多指教^^。