CSS限制文本显示N行在iOS端失效,求助解决方法
iOS下CSS多行文本截断失效的修复方案
你遇到的问题在iOS上很常见,核心原因是-webkit-box-orient: vertical这个属性经常会被构建工具(比如Autoprefixer、Webpack的CSS压缩插件)误判为过时属性而移除,导致整个多行截断逻辑失效。
直接用下面的代码替换原有样式,通过注释锁定关键属性,避免被工具删除:
overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; /* autoprefixer: off */ -webkit-box-orient: vertical; /* autoprefixer: on */
另外还要注意两个细节:
- 不要给文本元素设置
white-space: nowrap,这个属性会强制单行显示,直接冲突多行截断逻辑 - 如果还是不生效,可以给元素加上
max-height,值按行高计算(比如行高1.5em,2行就设max-height: 3em),辅助限制容器高度
内容的提问来源于stack exchange,提问作者Alex Crz
相关产品推荐
相关产品推荐

