多行文本末尾溢出文字显示省略号问题

博客探讨了如何处理多行文本末尾溢出的问题,通过尝试使用line-clamp属性配合不同版本的弹性盒子(display:flex, display:box, display:flex-box)以及添加私有前缀来实现。最终,通过添加`box-orient`属性和溢出隐藏代码成功解决了问题,强调了实验和创新在编程中的重要性。" 108178926,10003598,使用动态规划优化矩阵乘法,['动态规划'],"['矩阵乘法', '动态规划', '最小乘法次数', '动态转移方程']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题

我之前作为开发者、亦或者作为一个先行者,都被问过很多次一个问题:“多行文本末尾的溢出怎么搞定?”。

说实话我对css理解的的确一般,但是对我个人而言我第一个想到的办法永远都是:

{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap
}

但是这种写法带来的效果是无论你的文本内容又多少,都会被white-space属性强制限制为一行,并且末尾用省略号显示。而我对我的客户也都是回答以没有更好的办法来面对。

    今天依然遇到了这个问题,然而这次的客户不允许我这样来做。于是乎我神奇的在犄角旮旯里面翻到了我自己都不敢相信的解决办法。拿出来分享记录一下。编程真的就是你不自己亲自试一下真的不知道你自己居然能做出什么来。

过程

    (1)尝试1

    因为我很久很久之前在网上看到过一个css属性【line-clamp】,说是用来控制div内元素内容显示的行数的,但是我实际测试的时候发现并没有什么效果,所以当时就放弃没在研究。

    而今天被逼无奈于是我又一次找到了这个属性(本属性出处)。这次我有了一个新的发现就是这个属性是必须配合弹性盒子一起用才生效!于是我又跑去测试了display:flex弹性盒子,结果发现依然无效...

    (2)尝试2

    我放空思维,想到这个属性是我很久很久以前积累在脑子里的,那么当时的弹性盒子应该...大概还没有更新到最新,所以不如试试旧版本的弹性盒子。于是我又跑去测试了display:box和display:flex-box旧版本弹性盒子,嗯,振奋人心的结果...都是无效...

    (3)尝试3

    再次崩溃了一会,想到是不是这个属性太太太太老了,需要兼容性?自己手一抽,就开始疯狂添加私有前缀

//尝试1
display: box;
line-clamp: 4;

//尝试2
display: box;
-webkit-line-clamp: 4;

//尝试3
display: -webkit-box;
line-clamp: 4;

//尝试4
display: -webkit-box;
-webkit-line-clamp: 4;

不出所料,全失败...

    (4)尝试4

    这个时候说实话我已经放弃了,因为之前我就没有解决这个问题。这次本来我还是打算依然老办法对付客户,爱咋咋地那种。结果就在我去了个洗手间回来跟同事扯淡的时候,扫了一眼刚才没有关闭的网页,然后发现了下面这个东西!(就是尝试1中的那个链接!!!)

然后我马上搜了一下【box-orient】这个属性!!!

呵呵呵,看到私有前缀,我就有了新的灵感。

//尝试5
display: -webkit-box;
-webkit-line-clamp: 4;
-webkit-box-orient: vertical;

简直我都蹦起来了!!!真赤鸡!!迅速加上了溢出隐藏代码

//尝试6
display: -webkit-box;
-webkit-line-clamp: 4;
-webkit-box-orient: vertical;
overflow: hidden;

OJBK!搞定老铁!

总结

    没什么事情是做不了的,就看你想不想做。一个人努力起来的能量真的会大到不可思议。加油!

//设置容器为【旧版本弹性盒子】,为了与旧属性适配
display: -webkit-box;

//设置容器内容显示最大行数,诸君自便,写几都可以
-webkit-line-clamp: 4;

//设置容器内容垂直排列,说实话这个为啥我暂时还没搞懂,不过看到了必要关联所以我加上了
-webkit-box-orient: vertical;

//溢出隐藏,不解释
overflow: hidden;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值