美文网首页搬砖之路
文字超出三行省略...显示全文

文字超出三行省略...显示全文

作者: 苏北苝 | 来源:发表于2019-01-23 14:45 被阅读0次

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浏览器及移动端;

image

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

(1)、是否满足三行

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

image

那麽对应的解决方案:

(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 行 

  }

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

菜菜叨逼叨

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

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

相关文章

  • 文字超出三行省略...显示全文

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

  • css 文字溢出隐藏

    单行文字超出显示省略号 多行文字超出显示省略号

  • 省略号

    CSS文本超出三行自动隐藏 显示省略号 CSS文本长度超出宽度如何显示省略号

  • CSS3超出文字隐藏

    文字超出显示省略号: css3文字超出多行显示省略号:

  • 文字超出两行用省略号显示

    一行文字超出省略号显示: 多行文字超出省略号显示:

  • CSS文本超出溢出显示省略号

    先贴一个文字超出后显示省略号的css样式: 单行文字超出显示省略号: 多行文字超出显示省略号: *如果你的项目中装...

  • 两行自动省略

    一、div内显示一行,超出部分用省略号显示 二、div内显示两行或三行,超出部分用省略号显示 概述-webkit-...

  • cssdiv内字数超出两行或多行...

    一、div内显示一行,超出部分用省略号显示 二、div内显示两行或三行,超出部分用省略号显示 概述-webkit-...

  • css小技巧整理收集

    文字超出显示省略号 或者

  • 微信小程序展开全文

    最近需要做一个展示部分文字然后展开全文的功能,要求如下: 1、最多显示三行,文末使用省略号表示 2、文字显示1行,...

网友评论

    本文标题:文字超出三行省略...显示全文

    本文链接:https://www.haomeiwen.com/subject/csgjjqtx.html