多行文本省略,并且判断是否需要省略。
2018-03-27 10:40
393 查看
文字超出省略使用率非常高。特别是在移动端设备上。
一、单行省略
p { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }这个相信很简单。
二、多行省略<div>
这是测试的语句。这是测试的语句。这是测试的语句。这是测试的语句。这是测试的语句。这是测试的语句。这是测试的语句。这是测试的语句。这是测试的语句。
</div>
这时就可以实现多行文本显示了。
该效果是通过弹性盒模型来实现的,这就要注意兼容性方面的问题了。
①、 display:box; 要加上浏览器前缀,兼容性还是可以的。例如:
display : -webkit-box;
display : -moz-box;
display : -ms-flexbox;
display : -o-box;
display : box;②、box-orient: vertical; 也要加上浏览器前缀。-webkit-box-orient: vertical;
-moz-box-orient: vertical;
-ms-flex-direction: column;
-o-box-orient: vertical;
box-orient: vertical; 支持情况
③、-webkit-line-clamp的兼容性就会差一些了
IE、Firefox并不兼容该属性,不过在移动端主流浏览器方面的兼容性还是蛮不错的。
三、检测是否需要省略 var oDiv = document.getElementsByTagName('div')[0];
if (oDiv.scrollHeight > oDiv.clientHeight) {
console.log('有省略号')
}
/*
clientHeight:元素客户区的大小,指的是元素内容及其边框所占据的空间大小(大多是视口大小)
scrollHeight: 滚动大小,指的是包含滚动内容的元素大小(元素内容的总高度)
offsetHeight: 偏移量,包含元素在屏幕上所用的所有可见空间(包括所有的内边距滚动条和边框大小,不包括外边距)
*/通过比较标签元素的scrollHeight 和 clientHeight 可以得出有没有超出省略。可以在元素后面添加一个“更多”按钮,点击展开被省略的信息。这个也是现在很多网页在用的功能。
一、单行省略
p { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }这个相信很简单。
二、多行省略<div>
这是测试的语句。这是测试的语句。这是测试的语句。这是测试的语句。这是测试的语句。这是测试的语句。这是测试的语句。这是测试的语句。这是测试的语句。
</div>
div { width:200px; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
这时就可以实现多行文本显示了。
该效果是通过弹性盒模型来实现的,这就要注意兼容性方面的问题了。
display: -webkit-box;将对象作为弹性伸缩盒子模型显示 。
-webkit-box-orient:vertival;设置或检索伸缩盒对象的子元素的排列方式 。值vertival为(从上向下垂直排列子元素);
-webkit-line-clamp:2;块元素显示的文本的行数。
①、 display:box; 要加上浏览器前缀,兼容性还是可以的。例如:
display : -webkit-box;
display : -moz-box;
display : -ms-flexbox;
display : -o-box;
display : box;②、box-orient: vertical; 也要加上浏览器前缀。-webkit-box-orient: vertical;
-moz-box-orient: vertical;
-ms-flex-direction: column;
-o-box-orient: vertical;
box-orient: vertical; 支持情况
③、-webkit-line-clamp的兼容性就会差一些了
IE、Firefox并不兼容该属性,不过在移动端主流浏览器方面的兼容性还是蛮不错的。
三、检测是否需要省略 var oDiv = document.getElementsByTagName('div')[0];
if (oDiv.scrollHeight > oDiv.clientHeight) {
console.log('有省略号')
}
/*
clientHeight:元素客户区的大小,指的是元素内容及其边框所占据的空间大小(大多是视口大小)
scrollHeight: 滚动大小,指的是包含滚动内容的元素大小(元素内容的总高度)
offsetHeight: 偏移量,包含元素在屏幕上所用的所有可见空间(包括所有的内边距滚动条和边框大小,不包括外边距)
*/通过比较标签元素的scrollHeight 和 clientHeight 可以得出有没有超出省略。可以在元素后面添加一个“更多”按钮,点击展开被省略的信息。这个也是现在很多网页在用的功能。
相关文章推荐
- 多行文本溢出 显示... 判断是否多行文本溢出
- 判断视频是否播放完,并且弹出提示(还需要再收集些别的资料)
- 最近项目有需要判断多个EditText是否正确,并且让出错的EditText获取焦点,变换背景色
- C#实现多级子目录Zip压缩解压实例 NET4.6下的UTC时间转换 [译]ASP.NET Core Web API 中使用Oracle数据库和Dapper看这篇就够了 asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程 asp.net core异步进行新增操作并且需要判断某些字段是否重复的三种解决方案 .NET Core开发日志
- 打开对话框,选择文本,判断是否有重复的
- 轻松python文本专题-判断对象里面是否是类字符串(推荐使用isinstance(obj,str))
- 判断是否正整数 需要的函数(杂谈)
- 判断TextView文本内容是否超出一行
- 京东价格监控软件开发技术探讨九:C#判断京东登录是否需要验证码
- Bailian3659 判断是否为C语言的合法标识符【文本处理】
- 判断富文本是否为空
- JS判断文本输入内容是否为数字
- PHP判断变量是否存在并且己赋值安全的写法
- 移动端多行文本溢出省略
- XSLT中判断文本是否包含
- jvm如何判断实例对象是否需要回收
- 生存还是死亡 —— Java虚拟机如何判断对象是否需要回收
- 判断 网络地址 是否合法的正则,需要的可以参考下,支持IPV6格式的判断
- 转 python正则表达式判断文本中是否有中文
- C语言,输入年月日,判断是否有效,并且输出"年月日st nd rd th"