多行文本溢出显示省略号

这篇具有很好参考价值的文章主要介绍了多行文本溢出显示省略号。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

文本溢出显示省略号分两种情况,单行文本溢出显示省略号(参考上篇文章https://blog.csdn.net/qq_43687594/article/details/123511873),另外一种就是多行文本溢出显示省略号。

多行文本显示省略号有两种办法

第一种: 使用定位伪元素遮盖末尾文字

步骤:

  1. 给父元素设置:

         overflow: hidden;/* 溢出隐藏 */
         line-height: 20px;/* 设置行高与容器高度成倍数关系,这样避免文本溢出时,文字显示一半 */
         text-align: justify;/* 设置文本对齐方式为两端对齐,这样在伪元素内容遮盖末尾文字时才能对齐*/
         position: relative;/* 子绝父相,这里是为了给伪元素设置定位*/   
    
  2. 给父元素设置伪元素::after ,并为其设置属性:

         content: "...";/* 省略号是放在文本最后面的 */
         width: 1em;/* 设置伪元素的宽度为1em,是为了遮盖的时候正好遮盖中原来的一个字的大小*/
         background-color: pink;/* 设置与父元素相同的背景颜色,同理,也是为了和原来的内容样式保持一致*/
         position: absolute;/*设置定位,其位置就是文本的右下角 */
         right: 0;bottom: 0;
    

完整代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .box{
            width: 200px;/* */
            height: 100px;
            background-color: pink;
            overflow: hidden;/* 溢出隐藏 */
            line-height: 20px;/* 设置行高与容器高度成倍数关系,这样避免文本溢出时,文字显示一半 */
            text-align: justify;/* 设置文本对齐方式为两端对齐,这样在伪元素内容遮盖末尾文字时才能对齐*/
            position: relative;/* 子绝父相,这里是为了给伪元素设置定位*/
        }
        /* 因为省略号是放在文本最后面的,所以使用伪元素after */
        .box::after{
            content: "...";/* 省略号是放在文本最后面的 */
            width: 1em;/* 设置伪元素的宽度为1em,是为了遮盖的时候正好遮盖中原来的一个字的大小*/
            background-color: pink;/* 设置与父元素相同的背景颜色,同理,也是为了和原来的内容样式保持一致*/
            position: absolute;/*设置定位,其位置就是文本的右下角 */
            right: 0;bottom: 0;
        }
    </style>
</head>
<body>
    <div class="box">
        我是文本我是文本我是文本我是文我是文我是文我是文我是文我是文我是文我是是文本我是文本我是文本我是文本我是文本我是文本我是文本
    </div>
</body>
</html>

实现效果图:
多行文本溢出显示省略号
优点: 适用范围广泛。
缺点: 当内容没有超出容器范围之外时,也会在右下角显示省略号。低版本浏览器不兼容
缺点的图片解释:
多行文本溢出显示省略号

第二种办法: 利用旧版弹性盒

步骤:

  • 给容器元素类型转换为display:-webkit-box;
  • 设置弹性盒子垂直排列-webkit-box-orient:vertical;
  • 控制要显示的行数-webkit-line-clamp:数值;
  • 溢出隐藏overflow:hidden;

完整代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        /* 多行文本溢出隐藏显示省略号方法二:
          兼容性写法,因使用了WebKit的CSS扩展属性,该方法适用于WebKit浏览器及移动端
        */
        .box{
            width: 200px;
            /* height: 100px; 如果设置了高度,且高度超过文本显示行数,在第三行会正常出现省略号,但是三行之后的仍然正常显示*/
            background-color: pink;
            /* 设置高度是行高的倍数,防止文本露出一半 */
            line-height: 20px;
            /* 旧版弹性盒 */
            display: -webkit-box;
            /* 弹性盒子元素垂直排列 */
            -webkit-box-orient: vertical;
            /* 控制要显示的行数 */
            -webkit-line-clamp: 3;
            overflow: hidden;
        }
        
    </style>
</head>
<body>
    <div class="box">
        我是文本我是文本我是文本我是文我是文我是文我是文我是文我是文我是文我是是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本我是文本
    </div>
</body>
</html>

效果图如下:多行文本溢出显示省略号
优点: 兼容性比较好
缺点: 如果设置了高度,且高度超过文本显示行数,在第三行会正常出现省略号,但是三行之后的仍然正常显示
bug图如下:多行文本溢出显示省略号文章来源地址https://www.toymoban.com/news/detail-402513.html

到了这里,关于多行文本溢出显示省略号的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 6.溢出的文字省略号显示

    必须满足三个条件 【示例代码】 多行文本溢出显示省略号,有较大兼容性问题, 适合于webKit浏览器或移动端(移动端大部分是webkit内核) 语法 : 【示例代码】 更推荐让后台人员来做这个效果,因为后台人员可以设置显示多少个字,操作更简单。 CSS的vertical-align属性使用场

    2024年02月16日
    浏览(37)
  • H5+Css3文本溢出添加省略号(包括插件)

    局限性: 使用webkit的css扩展属性(webkit是私有属性)-webkit-line-clamp 因使用了WebKit的CSS扩展属性,该方法适用于WebKit浏览器及移动端 -webkit-line-clamp用来限制在一个块元素显示的文本的行数。限定了在第几行后面增加省略号。超出必须隐藏。 将height设置为line-height的整数倍,防

    2024年02月07日
    浏览(43)
  • css 实现超出两行、多行文字省略号显示

    在我们日常使用文字超出省略号显示,一般使用下面的方式实现,但是当有需求需要实现两行乃至多行时,该怎么实现呢。 单行省略: 多行省略: ps:需要注意的是,记得控制元素width。

    2024年02月11日
    浏览(39)
  • flutter中文字长度溢出时如何显示省略号?

    经常在绘画UI的时候遇到这种问题,依据场景不同,说下我自己的常用方案: 1. 第一种就是给Text标签外层嵌套一层Container,并指定width宽度 2.第二种是自动适配模式,我常用于Text外层嵌套了Row和Column以及一些布局控件中

    2024年02月15日
    浏览(31)
  • CSS:实现文字溢出显示省略号且悬浮显示tooltip完整信息

    组件: element ui中的tooltip组件 思路:通过ref获取宽度进行判断,当子级宽度大于对应标签/父级宽度显示tooltip组件

    2024年02月09日
    浏览(38)
  • css文本超长显示省略号,鼠标hover省略号展示全部内容

    有时候我们会发现鼠标hover到文字省略号上,会展示出全部内容,效果如下: 首先,文字过长展示省略号 再借助鼠标悬停标签展示其 title 内容的特性,为标签加上 title属性,实现我们想要的效果 有关 title 属性的介绍:

    2024年02月11日
    浏览(34)
  • 微信小程序——CSS限制文字宽度和行数(溢出显示省略号)

    知识专栏 专栏链接 微信小程序专栏 https://blog.csdn.net/xsl_hr/category_12338067.html?spm=1001.2014.3001.5482 Git版本管理 https://blog.csdn.net/XSL_HR/article/details/130986889?spm=1001.2014.3001.5501 监听页面滑动 https://blog.csdn.net/XSL_HR/article/details/130986889?spm=1001.2014.3001.5501 判断用户上滑还是下滑 https://blog

    2024年02月10日
    浏览(47)
  • 【css】超过文本显示省略号

    显示省略号的前提:必须有指定宽度 一、单行文本超出部分显示省略号 属性 取值 解释 overflow hidden 当内容超过盒子宽度, 隐藏溢出部分 white-space nowrap 让文字在一行内显示, 不换行 text-overflow ellipsis 如果溢出的内容是文字, 就用省略号代替 二、多行文本超出部分显示省略号

    2024年02月13日
    浏览(22)
  • CSS(ellipsis) 用百分比宽度将字符串溢出部分显示为省略号

    通常使用 ellipsis 将溢出部分显示为省略号必须给出指定像素宽度(width:200px),这样不方便共享响应式的样式定义,经过查资料,可以用 CSS 的 calc() 函数实现。

    2024年02月07日
    浏览(31)
  • element-plus中的tooltip组件实现文字溢出显示省略号,悬浮显示tooltip完整信息

    需求:要求单行显示文字,溢出部分需要显示省略号,但鼠标悬浮时需要显示 tooltip 完整信息。 关键点:文字溢出显示省略号就不说了,主要是如何判断什么时候需要显示 tooltip,什么时候不显示。 思路:如果文字省略时,子元素的宽度势必小于父元素的宽度,则可通过监听

    2024年02月12日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包