文字超出三行省略…显示全文「建议收藏」

文字超出三行省略…显示全文「建议收藏」1、在开发过程中,我们经常会用到这种超出三行显示…的要求,使用css属性是可以的,但是需要考虑兼容性问题实现单行文本的溢出显示省略号,我们应该都知道用text-overflow:ellipsis

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

1、在开发过程中,我们经常会用到这种超出三行显示…的要求,使用css属性是可以的,但是需要考虑兼容性问题

实现单行文本的溢出显示省略号,我们应该都知道用text-overflow:ellipsis属性,同时注意加width来兼容部分浏览器;

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

实现三行在此基础上扩展:

.textOVerThree {
    display: -webkit-box;
    overflow: hidden;
    white-space: normal !important;
    text-overflow: ellipsis;
    word-wrap: break-word;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical
}

因为使用了WebKit的CSS扩展属性,该方法适用于WebKit浏览器及移动端;

文字超出三行省略...显示全文「建议收藏」

2、此处延伸 ,超出三行显示展示全文,如果使用以上属性我们可以发现,实际上dom里面的文字没有改变,只是视觉上有…,实现超出三行显示全文,分为两步:

(1)、是否满足三行

(2)、是否出现了省略号…  或者说是否超过了三行

文字超出三行省略...显示全文「建议收藏」

 

那麽对应的解决方案:

(1)行数我们可以通过 使用 line-height*num 与 dom的高度进行比较,但是无法判读是否三行全部占满,

(2)因为上面属性是实际文本内容并没有改变,所以说,我们可以获取到实际dom的高度,scrollHeight,与 我们需要的高度进行比较即可;

setCheckAll('.p_14', 3, '查看全文', 'text_blue');
/*设置必须有line-height   超过多少行显示文字查看全文*/
function setCheckAll(select, num, text, name) { //num 代表行数 text为添加显示的文字,

    var height = $(select).height(),

    realityHeight = $(select).get(0).scrollHeight;

    lineHeight = $(select).css('line-height');

    lineHeight = lineHeight.split('px')[0];

    if(height + 1 >= lineHeight * num && realityHeight >= lineHeight * num) {

        $(select).after('<p class="' + name+ '">' + text + ' ></p>');

    };    

  //lineHeight * num 是几行的高度,只要 实际的高度超过了设定的这个高度,就可以认为是超出了 num 行 

  }

  

 

以上有什么问题欢迎指出,蟹蟹!

 

菜菜叨逼叨

在本次需求中,也算是一个小学习吧,本来是想通过判断文字的字数来控制“查看全文”的展示与否,这种方法实现太过复杂,需要考虑不同屏幕的尺寸,文字中的特殊字符,包括可能存在的<br/>;跟产品的谈判又失败了,在设计上一点小的调整,可以降低开发的时间与难度,但是需求方一再不肯退步,手动狗头。如果在时间充足的条件下,可以考虑实现难点,如果时间紧迫,建议还是先找一种易实现的设计形式;不然只能两败俱伤啊~~~~~~~~~~~~~

 

 

 

转载请注明出处,虽然我是一只小菜鸡~

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/167764.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • win7下php7.1运行getenv(‘REMOTE_ADDR’)fastcgi停止运行

    win7下php7.1运行getenv(‘REMOTE_ADDR’)fastcgi停止运行

  • mapminmax 用法

    mapminmax 用法mapminmax是MATLAB实现归一化的工具包,默认:(1)将矩阵的每行分别进行归一化;(2)每行的最大值最小值作为每行归一化的xmin和xmax;(3)将数据归一化到[-1,1].若要将数据归一化到0到1之间,即y∈[0,1],使用b=mapminmax(a,0,1);若给与确定的最大值和最小值作为每行的xmin和xmax,使用:b= mapminmax(a,0,1);PS.xmin…

  • 利用tasklist和taskkill实现判断进程数按名称杀掉进程

    利用tasklist和taskkill实现判断进程数按名称杀掉进程@echooffsetexe=firefox.exeset/anum=5for/f%%iin(‘tasklist^|find/c/i”%exe%”‘)doif%%igtr%num%taskkill/f/im%exe%TASKKILL[/Ssystem[/Uusername[/P[password]]]]{[/FIfilter][/PIDprocessid|/IMimagename]}[/T][/F]描述:使用该工具按

  • ubuntu16.04配置本地镜像源_修改ubuntu镜像源

    ubuntu16.04配置本地镜像源_修改ubuntu镜像源一、Ubuntu版本和代号:Ubuntu可谓是Linux世界中的黑马,其第一个正式版本于2004年10月正式推出。需要详细解释的是Ubuntu版本编号的定义,其编号以“年份的最后一位.发布月份”的格式命名,因此Ubuntu的第一个版本就称为4.10(2004.10)。除了代号之外,每个Ubuntu版本在开发之初还有一个开发代号。Ubuntu开发代号比较有意思,格式为“形容词+动物”,且形容词和动物名称的第一个字母要一致,如Ubuntu16.04的开发代号是XenialXerus,译为“好客的非洲地松鼠

    2022年10月14日
  • 大数据,云计算,物联网三者的区别和关联方法_云计算和物联网的应用

    大数据,云计算,物联网三者的区别和关联方法_云计算和物联网的应用大数据时代的到来,是全球知名咨询公司麦肯锡最早提出的,麦肯锡称:“数据,已经渗透到当今每一个行业和业务职能领域,成为重要的生产因素。人们对于海量数据的挖掘和运用,预示着新一波生产率增长和消费者盈余浪潮的到来。”《互联网进化论》一书中提出“互联网的未来功能和结构将于人类大脑高度相似,也将具备互联网虚拟感觉,虚拟运动,虚拟中枢,虚拟记忆神经系统”,并绘制了一幅互联网虚拟大脑结构图。…

  • 数据分析实战项目_Android项目汇报

    数据分析实战项目_Android项目汇报#QzsWanAndroid-[基于wanandroid.com开发的MVP+Retrofit2+RxJava2+okhttp3开发的AndroidAPP](https:/

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号