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

文字超出三行省略…显示全文「建议收藏」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/>;跟产品的谈判又失败了,在设计上一点小的调整,可以降低开发的时间与难度,但是需求方一再不肯退步,手动狗头。如果在时间充足的条件下,可以考虑实现难点,如果时间紧迫,建议还是先找一种易实现的设计形式;不然只能两败俱伤啊~~~~~~~~~~~~~

 

 

 

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

 

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java基础篇:强制类型转换

    Java基础篇:强制类型转换

    2021年10月4日
    46
  • Java Integer类型比较问题

    Java Integer类型比较问题JavaInteger类型比较问题【强制】所有整型包装类对象之间值的比较,全部使用equals方法比较。说明:对于Integervar=?在-128至127范围内的赋值,Integer对象是在IntegerCache.cache产生,会复用已有对象,这个区间内的Integer值可以直接使用==进行判断,但是这个区间之外的所有数据,都会在堆上产生,并不会复用已有对象,这是一个大坑,推荐使用equals方法进行判断。—-阿里巴巴Java开发手册抱着探索的精神我们来看

    2022年7月16日
    25
  • ie兼容性视图怎么设置_电脑找不到兼容性视图

    ie兼容性视图怎么设置_电脑找不到兼容性视图许多用户在升级操作系统之后,里面自带的ie浏览器也会跟着一起升级,然而有些网站可能需要使用低版本的ie浏览器才可以打开,该怎么办呢,其实我们只要设置ie兼容性视图模式就可以了,不过很多用户可能还不知道ie兼容性视图设置在哪,为此,小编这就告诉大家ie兼容性视图的详细设置方法。步骤阅读工具/原料IE浏览器方法/步骤11、在Windows10系统桌面,我们依次点击“开始/Windows附件/Inter…

    2025年10月6日
    2
  • GTA5快速进入线上模式

    GTA5快速进入线上模式话不多说,上资源:链接:https://pan.baidu.com/s/1oWE6L0J1s33R_2zfcxiG_A提取码:b9tf解压后,先启动GTA5,进入游戏菜单界面然后打开Xenos(32位)或者Xenos64(64位)将文件夹下的GTAO_Booster.dll拖动进列表框内Process选择GTAV.exe(每次启动游戏进程ID会有所不同)最后点击Add将加速模块注入近gtaji…

    2022年6月14日
    108
  • 软件测试常用的黑盒测试方法有哪些,简述什么是黑盒测试方法(最常用的黑盒测试方法)…[通俗易懂]

    软件测试常用的黑盒测试方法有哪些,简述什么是黑盒测试方法(最常用的黑盒测试方法)…[通俗易懂]黑盒(又叫功能测试、数据驱动测试):1.黑盒测试发现错误类型:功能错误和遗漏界面错误数据库错误性能错误初始化和终止错误2.黑盒测试:程序外部接口进行的3.黑盒测试就是根据功能需求来设计测试用例,验证软件是否按照预期要求工作。4.黑盒测试技术主要有等价类划分法、边界值法、判定表法、因果图法、场景法等。5.等价类划分法测试技术是依据软件系统输入集合、输出集合或操作集合实现功能的相同性为依据,对其进行的…

    2022年9月27日
    2
  • delphi2007中如何安装ActiveX控件

    delphi2007中如何安装ActiveX控件(1).打开Delphi2007,File-New-PackageDelphiforwin32.(2).Component-ImportComponent,选择ImportActiveXControl.(3).在控件列表,或Add添加选择相应Active控件后,点next.(4).选择安装ActiveX控件所在的面板页,单元,包等.(5)点next,最后一步,选

    2022年5月15日
    39

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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