博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CSS单行、多行文本溢出显示省略号
阅读量:5960 次
发布时间:2019-06-19

本文共 986 字,大约阅读时间需要 3 分钟。

  • 单行文本溢出显示省略号

overflow:hidden;text-overflow:ellipsis;white-space:nowrap;(需要对容器设置单行高度)
  • 多行文本溢出显示省略号

    webkit浏览器或移动端的页面

    在webkit浏览器或移动端(绝大部分是webkit内核的浏览器)可以直接使用webkit的css扩展属性(webkit是私有属性)-webkit-line-clamp;   注意:这是一个不规范的属性,它没有在CSS的规范草案中   -webkit-line-clamp用来限制在一个块元素显示的文本行数,为了实现效果,他要与一下webkit属性结合使用:       display:-webkit-box;(必须结合的属性,将对象作为弹性伸缩盒子模型展示)       -webkit-box-orient(必须结合的属性,设置或检索伸缩盒对象的子元素的排列方式)

    完整版写法如下:

overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2; (两行文字)-webkit-box-orient:vertical;
**跨浏览器兼容的方案**比较靠谱简单的做法就是设置相对定位的容器高度,用包含省略号(...)的元素模拟实现
p{position:relative;line-height:1.4em;/*设置容器高度为3倍行高就是显示3行*/height:4.2em;overflow:hidden;}p::after{content:'...';font-weight:bold;position:absolute;bottom:0;right:0;padding:0 20px 1px 45px;background:#fff;}

注意:IE6-7不显示content内容,所以要兼容IE6-7可以是在内容中加入一个标签,比如<span>...</span>去模拟;要支持IE8,需要将::after替换为:after

JavaScript解决方案

使用js也可以根据上面的思路去模拟,实现也很简单,推荐两个做类似工作的成熟小工具:1、clamp.js2、jQuery插件  jquery.dotdotdot使用简单,实现方法自行百度

转载地址:http://ckyax.baihongyu.com/

你可能感兴趣的文章
centos中安装、升级git
查看>>
单元测试基本路径覆盖法(转)
查看>>
十三、栅栏CyclicBarrier
查看>>
简单搭配(Collocation)隐私声明
查看>>
2013编程之美资格赛【传话游戏】
查看>>
关于Dictionary的线程安全问题
查看>>
在python中单线程,多线程,多进程对CPU的利用率实测以及GIL原理分析
查看>>
CentOS6.5+mysql5.1源码安装过程
查看>>
Js 笔记
查看>>
C++: find()函数的注意事项
查看>>
js的事件学习笔记
查看>>
leetcode 【 Add Two Numbers 】 python 实现
查看>>
Android接收系统广播
查看>>
将网络中的图片存为NSData并保存到sqlite的BLOB字段中
查看>>
Cocos2d-js-v3.2 在 mac 上配置环境以及编译到 Andorid 的注意事项(转)
查看>>
iOS用三种途径实现一方法有多个返回值
查看>>
python--class test
查看>>
从零开始理解JAVA事件处理机制(3)
查看>>
HttpURLConnection类的使用
查看>>
linux命令分析---SED (二)
查看>>