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

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


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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Python格式化字符串f-string概览

    Python格式化字符串f-string概览简介f-string,亦称为格式化字符串常量(formattedstringliterals),是Python3.6新引入的一种字符串格式化方法,该方法源于PEP498–LiteralStringInterpolation,主要目的是使格式化字符串的操作更加简便。f-string在形式上是以f或F修饰符引领的字符串(f’xxx’或F’xxx’),以大括号对{}标明…

    2022年6月10日
  • PHP代码审计入门学习过程

    PHP代码审计入门学习过程PHP代码审计学习过程:花了两周的时间在B站上看完了一个老师讲的代码审计课程,主要是通过实战的方式对一个CMS系统里面的漏洞进行讲解,一步一步的审计找出漏洞,对新手来说确实困难,要上手的话还是自己找网上一些简单的CMS或是代码审计靶场来练手。代码审计入门确实挺难的,大部分原理都没有学会,后续也要继续加深学习。进行代码审计必须要关注:1.敏感的函数和变量2.跟踪敏感函数和关键字参数传递过程。3.查找可控变量,一步一步的跟踪变量测传递过程。4.寻找敏感功能点,对功能点进行审计PH.

    2022年9月26日
  • c语言中的移位运算符能用于浮点型吗_c语言移位运算符与运算用法

    c语言中的移位运算符能用于浮点型吗_c语言移位运算符与运算用法      移位运算符在程序设计中,是位操作运算符的一种。移位运算符可以在二进制的基础上对数字进行平移。c语言中提供了两种移位运算符:左移运算符:<<右移运算符:>>左移运算符(<<)intmain(void){inta=4;//将a的二进制位向左移动一位intb=a<<1;printf(“%d”,b);return0;}  &n

    2022年10月23日
  • winform与cefsharp混合开发_历史必修二笔记手写

    winform与cefsharp混合开发_历史必修二笔记手写在上一篇博文《WinForm内置浏览器之CefSharp笔记一》,简单介绍了CefSharp的快速入门。这篇博文接着上篇,主要记录C#如果调用JS中的方法。参照Github示例:传送门加载自定义网页修改网址,使用ChromiumWebBrowser类的Load方法,直接直接输入网址,也可以加载本地的html文件。m_chromeBrowser.Load(“https://www….

    2022年9月19日
  • 自动获取省份

    自动获取省份

    2021年9月11日
  • MongoVUE_Vue.js+Flask+MongoDB

    MongoVUE_Vue.js+Flask+MongoDBmongovue是mogodb的一个可视化操作工具,下面介绍一下这个工具的一些简单应用1首先进入连接的界面,在此页面中,选择+,则会进人数据库信息填写2此页面为数据库链接填写界面,name随便取一个,server,填写服务器的ip地址,port填写服务器端口号,后面则是填写密码和用户 3,正常链接后,则会显示相应的库,双击选择要连接的库4 点击右上角的fin

    2022年8月21日

发表回复

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

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