场景: 应用市场的应用介绍页 总会有一段关于应用的描述,比如:最多显示2行,多出的部分显示省略号,并且在该行【最后最右】显示“更多”,
开始,是考虑计算每行能显示多少个字,然后计算两行的字数,再把最后三个字改为“...更多”,但是发现文本中的一些符号在不同的手机机型里占得宽度不同,比如分号,有些手机占一个字符宽度,有些大概是半个。
所以想讨教下大家 有没有什么好的方法?
场景: 应用市场的应用介绍页 总会有一段关于应用的描述,比如:最多显示2行,多出的部分显示省略号,并且在该行【最后最右】显示“更多”,
开始,是考虑计算每行能显示多少个字,然后计算两行的字数,再把最后三个字改为“...更多”,但是发现文本中的一些符号在不同的手机机型里占得宽度不同,比如分号,有些手机占一个字符宽度,有些大概是半个。
所以想讨教下大家 有没有什么好的方法?
text-overflow
只能适用于一行的情况,
针对你说的情况,其实可以这么搞,还是把所有的文字都放到页面上,然后设置容器的max-height
为两行的高度,然后在后面放上一个绝对定位的按钮...更多
,点击更多的时候,再把max-height
去掉。
还有一种方法,比较麻烦,还是计算长度,不过不是计算字符数,而是计算字节数。比如一般英文是1个字节,汉字是2个字节,1个字节的宽为font-size
的宽,也就是说如果font-size
是12,那么一个英文字母是12px
的宽,一个汉字是24px
的宽。你可以使用正则把所有的汉子替换成某个字母,然后再计算最多可以有多少个字节数
div{
position:relative;
width:500px;
height:90px;
line-height: 30px;
overflow : hidden;
}
div:after{
position:absolute;
content:'...';
width:30px;
background: #ffffff;
color:#000000;
right:0;
bottom:0;
height:30px;
text-align: center;
}
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
5 回答1.9k 阅读
本来敲了半天,突然发现了一个插件好像还不错,就不献丑了https://dollarshaveclub.githu...
某位大大的解决方案分享一下