换行情况处理
最近的项目遇到一个树控件行内容超长问题,设计思路是出滚动条,不能换行,不能截断。
解决方案有两个:1、CSS 2、JS动态设置
实际情况:方案1需要开发同学(我)先去学习CSS,咨询了CSS老手,云里雾里--!,决定选择方案2
经过思考后有两个方案:
1、计算内容宽度
优点:精确
难点:内容包含字母、字符、汉字、外文(除英语外的,例如日文、俄文之类)......不是单单用某某.length可以搞定的,计算方法复杂
2、另辟蹊径(基于目前该控件的样式及dom属性和特点)
描述:经过简单测试发现,超出宽度的内容都会换行,换行后直接导致该dom高度变长
待确定点:高度随页面放大缩小变化,所以不能用固定高度判断,转而用相对高度,选择与其父节点高度比较
优点:简单易实现,分分钟可以搞定
缺点:不精确,只能一点一点增加,循环检查其高度变化,相关算法的设计直接决定页面性能。
总结:方案1内容宽度有空可以思考实现一下,实际情况中取舍很重要。