text-overflow属性的使用及文本截断的实现是怎样
Admin 2022-11-17 群英技术资讯 321 次浏览
本文主要给大家介绍的是css中text-overflow属性与文本截断的相关内容,分享出来供大家参考学习,下面来看看详细的介绍:
text-overflow与文本截断
CSSer对text-overflow肯定是非常熟悉的,并且,对于单行文本的截断,包含了text-overflow: ellipsis;的这3行代码,可能也是我们最为惯用的。
text-overflow: ellipsis; overflow: hidden; white-space: nowrap;
这小段CSS甚至兼容至IE6,毕竟text-overflow: ellipsis;原本就是IE的专属,于是早期文本截断的抗争主要是在Firefox上,直到Firefox7.0,我们才抛开对于FF的伎俩而专注使用这段代码。当然多行截断还是没戏,在一些跨浏览器兼容要求较高的场合,前端一度需要后端帮忙截断内容。
虽然也不是没有其他方式实现多行的文本截断,但对于当时的浏览器形式而言不可能全部照顾到位。比如现在可以用伪元素:after定位在多行的结尾,并施加一个渐变过渡来模拟截断。
.clamp{ height: 3 .6em; line-height: 1.2em; overflow: hidden; position: relative; } .clamp:after{ content: "..."; position: absolute; right: 0; bottom: 0; background: linear-gradient(to right, rgba(255, 255, 255, 0), #FFFFFF 50%) repeat scroll 0 0 rgba(0, 0, 0, 0); }
渐变的使用让截断看起来不那么生硬,不过我一次都没在实际场合用过:),因为这种方式有很多弊端,而且我也向来不喜欢用这种看起来就很丑陋的方式。除非被逼急了,不然我总是对一本正经地对别人说:“臣妾做不到”~
如果单单是webkit,通常的做法就是-webkit-line-clamp,对于目前webkit所主宰的手机端还算是比较好的方式,效果也正是我们所期望的那样:
display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
好多年了(>5),这段代码还是工作良好,不过现在回过头看看,-webkit-box是旧的flex的语法,虽然现在和新flex语法并存,但指不定哪天就没了呢。但即便如此,也并没有更好的办法,没有替代-webkit-line-clamp的属性,新旧语法也无法混用,我们只好继续乖乖使用“经典”代码。
-webkit-line-clamp存在另一个小问题,就是对中文的支持有瑕疵。相比英文下的完美效果,使用中文时,随着容器宽度的变化,截断的那三个点"..."往往会抽风,只显示2个点甚至是1个点,希望更新版的浏览器可以搞定这个小问题。
在文本截断时,我们总是习惯默认用三个点来表示,实际上除了上面提到的伪元素模拟的方式外,我们也无法更改这种表现形式。不过,回过头来再看一下text-overflow这个属性,新版的标准会带来的更多的可能性。
CSS Basic User Interface Module Level 3目前是CR的状态,text-overflow只有两个值可选:clip 或者 ellipsis,不过到了草案中的Level 4,属性值变得更多:
[ clip | ellipsis || fade | ]{1,2}
我们可以指定
然而,text-overflow还是那个text-overflow,依旧是单行,依旧是配合老搭档white-space: nowrap;,还是那个熟悉的味道。纵然可能多了些时髦的功能,却依旧无法掩盖我们在多行截断上的手段之匮乏。
关于“text-overflow属性的使用及文本截断的实现是怎样”的内容今天就到这,感谢各位的阅读,大家可以动手实际看看,对大家加深理解更有帮助哦。如果想了解更多相关内容的文章,关注我们,群英网络小编每天都会为大家更新不同的知识。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
css中clear属性的介绍:1、用于规定元素哪一侧不允许浮动元素,默认值为none,表示不清除,左右两侧允许浮动元素。2、确保当前元素的左右两侧没有浮动元素。clear只对元素本身的布局起作用。
这篇文章主要介绍了css 评分效果的星星示例的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
在开发中,很多需求需要我们对元素居中,例如文本居中,多行文本居中,块级元素水平居中、垂直居中等,那么这些要如何实现呢?下面是一些css实现元素居中的方法,有需要的朋友可以参考一下。
1.opacity:0只是把元素隐藏起来了,但是还是占有布局,所以还是对布局有影响<divclass="div1">snda:opacity:0只是把元素隐藏起来了,但是还是占有布局,所以还是对布局有影响</div><p>ppskdkad</p>.div1{opacity:0;width:200px;height:200px;border:1pxsolidred;}2.visibility:hidden还是只是把元素隐藏了,但是还是占有布 ...
这篇文章给大家分享的是CSS3中如何将元素设置为隐藏。小编觉得挺实用的,因此分享给大家做个参考,文中介绍了四种方法,示例代码介绍得很详细,有需要的朋友可以参考,接下来就跟随小编一起了解看看吧。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008