编程技术文章分享与教程

网站首页 > 技术文章 正文

css如何处理单行、多行文本溢出的省略

hmc789 2024-11-14 16:34:43 技术文章 2 ℃

如图:


关键点:

  • 文本超出了隐藏
overflow: hidden;
  • 超出部分使用...代替
text-overflow: ellipsis;
  • 默认文本是自动换行的,如果是单行的话,要阻断自动换行
white-space: nowrap;

实现单行文本超出省略:

        .p1 {
            /* 超出隐藏 */
            overflow: hidden;
            /* 设置文本不自动换行 (默认会自动换行)*/
            white-space: nowrap;
            /* 设置超出的部分如何显示 */
            text-overflow: ellipsis;
        }

实现多行文本超出省略:

  • 在WebKit浏览器或移动端(兼容性不太好)
  /*在WebKit浏览器或移动端*/       
.p2 {
            /* 超出隐藏 */
            overflow: hidden;
            display: -webkit-box;
            -webkit-box-orient: vertical;
            /* 设置行数 */
            -webkit-line-clamp: 2;
            /* 设置超出的部分如何显示 */
            text-overflow: ellipsis;
        }
        /* 兼容性比较好的 */
        .p3 {
            position: relative;
            line-height: 40px;
            height: 120px;
            overflow: hidden;
        }
        .p3::after {
            content: '...';
            position: absolute;
            bottom: 0;
            right: 0;
            background: #fff;
        }
  • 使用伪元素处理(兼容性好)

高度=行高*行数

        .p3 {
            position: relative;
            line-height: 40px;
          /*??????????*????????????????3
            height: 120px;
            overflow: hidden;
        }
        .p3::after {
            content: '...';
            position: absolute;
            bottom: 0;
            right: 0;
            background: #fff;
        }

遇到这种问题,面试官的关注点更多是在于如何实现多行文本省略号处理,并且兼容性比较好。

Tags:

标签列表
最新留言