在HTML中用CSS实现文本截断
单行文本截断 text-overflow
文本溢出我们经常用到的应该就是 text-overflow: ellipsis 了,相信大家也很熟悉,只需轻松几行代码就可以实现单行文本截断。
div { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
属性浏览器原生支持,各大浏览器兼容性好,缺点就是只支持单行文本截断,并不支持多行文本截取。
适用场景:单行文字截断最简单实现,效果最好,放心使用。
如果是多行文字截取效果,实现起来就没有那么轻松。
-webkit-line-clamp 实现
就是通过 -webkit-line-clamp 属性实现。具体的方式如下:
div { display: -webkit-box; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
它需要和 display、-webkit-box-orient 和 overflow 结合使用:
display: -webkit-box; 必须结合的属性,将对象作为弹性伸缩盒子模型显示。
-webkit-box-orient; 必须结合的属性,设置或检索伸缩盒对象的子元素的排列方式
text-overflow: ellipsis; 可选属性,可以用来多行文本的情况下,用省略号“…”隐藏超出范围的文本。
从效果上来看,它的优点有:
响应式截断,根据不同宽度做出调整
文本超出范围才显示省略号,否则不显示省略号
浏览器原生实现,所以省略号位置显示刚好
但是缺点也是很直接,因为 -webkit-line-clamp 是一个不规范的属性,它没有出现在 CSS 规范草案中。也就是说只有 webkit 内核的浏览器才支持这个属性,像 Firefox, IE 浏览器统统都不支持这个属性,浏览器兼容性不好。
使用场景:多用于移动端页面,因为移动设备浏览器更多是基于 webkit 内核,除了兼容性不好,实现截断的效果不错。
相信看了本文案例你已经掌握了方法,更多精彩请关注其它相关文章!
相关阅读:
以上就是在HTML中用CSS实现文本截断的详细内容,更多请关注其它相关文章!
推荐阅读
-
pre在html和css中的实现
-
css实现的文本框focus获取焦点设置样式代码实例_html/css_WEB-ITnose
-
CSS如何实现禁止选中文本_html/css_WEB-ITnose
-
漂亮的圆角文本框 CSS3实现_html/css_WEB-ITnose
-
css如何实现li元素在父元素中平均分布效果_html/css_WEB-ITnose
-
【CSS】隐藏多行文本框Textarea在IE中的垂直滚动条_html/css_WEB-ITnose
-
html 如何在文本框的背景图片上在加一张图片?_html/css_WEB-ITnose
-
css如何实现让两个div在同一行排列_html/css_WEB-ITnose
-
在 VS2013的ASPNET网站开发中用 xheditor v1.1.13 作为HTML编辑器_html/css_WEB-ITnose
-
在HTML中如何实现链接选择?详见内容_html/css_WEB-ITnose