单行文本和多行文本框实现溢出省略的效果

一、需求问题

在开发中,我们可能也会遇到这样的需求。当在单行或者多行的时候,文本的内容溢出了,需要隐藏,可以用省略号去表示。下面是我的实现方式。

二、需求分析

对于单行文本框溢出省略,我们可以使用overflowwhite-spacetext-overflow来进行单行文本省略截断,实现文本溢出省略的效果。对于多行文本框溢出省略,我们可以使用line-heightoverflowfloatpositionword-break来进行实现多行文本省略截断。

三、需求解决

1. 单行文本省略

<style>
    .demo {
        <!--文字长度超出限定宽度,则隐藏超出的内容-->
        white-space: nowrap;
        <!--设置文字在一行显示,不能换行-->
        overflow: hidden;
        <!--规定当文本溢出时,显示省略符号来代表被修剪的文本-->
        text-overflow: ellipsis;
    }
</style>
<body>
	<div class="demo">这是一段文本</div>
</body

2. 多行文本省略

<style>
    .demo {
        background: #099;
        max-height: 40px;
        <!--结合元素高度,高度固定的情况下,设定行高, 控制显示行数-->
        line-height: 20px;
        <!--文本溢出限定的宽度就隐藏内容-->
        overflow: hidden;
    }
    .demo::before{
        <!--利用元素浮动的特性实现-->
        float: left;
        content:'';
        width: 20px;
        height: 40px;
    }

    .demo .text {
        float: right;
        width: 100%;
        margin-left: -20px;
        <!--使一个单词能够在换行时进行拆分-->
        word-break: break-all;
    }
    .demo::after{
        float:right;
        content:'...';
        width: 20px;
        height: 20px;
        <!--根据自身位置移动省略号位置, 实现文本溢出显示省略号效果-->
        position: relative;
        left:100%;
        transform: translate(-100%,-100%);
    }
</style>
<body>
	<div class='demo'>
    	<div class="text">这是一段文本</div>
    </div>
</body
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值