js 如何判断文本内容是否换行了?

js 如何判断文本内容是否换行了?
文字超过一行后显示省略号,后面需要显示一个展开的按钮;
如果文字没超过一行,隐藏按钮。
求大神指点?谢谢

阅读 35.6k
7 个回答

解决方案:通过计算内容宽度,算出容器宽度,来比较宽度是否超过容器。。。由于是列表,在模板中获取不到内容宽度,就提前绘制一个隐藏的模板,计算每条内容的宽度,再显示界面

这种情况一般来说通过计算总宽度和字体宽度,通过字数判断更合适!

这是实现超过长度隐藏显示省略号的CSS

    width: 100px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;

用css就可以控制。text-overflow这个属性

你可以判断 内容的长度,
比如最多显示10个字,
string.length>10 就 string.substr(0,10) + "...." + ["展开按钮"]显示出来
string.length<=10 就全部显示 并不要["展开按钮"]

判断字体盒子的高度

新手上路,请多包涵

wocao
uaison的回答太强了吧

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题