css 多行文本溢出隐藏,并且在最后面有查看更多的按钮

效果图

1.文字内容

<div class="txt">
        <button class="btn">展开</button>
        据媒体报道,今年五一假期前,39岁的北京人丁先生去河南鹤壁,过户花2万块新买的房子。这是他在当地买的第12套房子。
        从2020年10月开始,丁先生在半个月的时间内在鹤壁买了8套房子,一共花了10万元。
        其中最便宜的一套房款1000元,加中介费1000元。总共才2000块。
    </div>

最重要的一点button按钮一定要在最前面

2.进行一下css 布局 首先就是实现三行溢出隐藏的效果

.txt{
            width: 200px;
            height: 65px;
            border: 1px solid black;
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 3;
            overflow: hidden;
           }

3.使用伪元素在文字的后面占一个位置

   .txt::before{
             content: '';
             float: right;
             width: 50px;
             height: 50px;
             background: red
       }

然后把width设置为0 

 width: 0px;

4.最后把按钮通过浮动放在右下角合适的位置

 .btn{
               float: right; 
               clear: both;
               transform: translateY(-10px);
           }

5.完成了-->完整代码

<!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>
        .txt{
            width: 200px;
            height: 65px;
            border: 1px solid black;
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 3;
            overflow: hidden;
           }
          .txt::before{
             content: '';
             float: right;
             width: 0px;
             height: 50px;
             background: red
       }
        
           .btn{
               float: right; 
               clear: both;
               transform: translateY(-10px);
           }

    </style>
</head>
<body>
    <div class="txt">
        <button class="btn">展开</button>
        据媒体报道,今年五一假期前,39岁的北京人丁先生去河南鹤壁,过户花2万块新买的房子。这是他在当地买的第12套房子。
        从2020年10月开始,丁先生在半个月的时间内在鹤壁买了8套房子,一共花了10万元。
        其中最便宜的一套房款1000元,加中介费1000元。总共才2000块。
    </div>
</body>
</html>

  • 10
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue 可以通过 CSS 和内置指令 v-text-overflow 来实现文字溢出后点击省略号展示更多的效果。 首先,可以定义一个包含溢出文本的容器,并限制其宽度和高度,使得文本溢出时可以产生省略号。例如: ```html <div class="text-container"> {{ longText }} </div> ``` 然后,通过 CSS 样式来设置溢出文本的省略号和点击展示更多的特效: ```css .text-container { overflow: hidden; /* 溢出内容隐藏 */ text-overflow: ellipsis; /* 显示省略号 */ white-space: nowrap; /* 不换行 */ width: 200px; /* 容器宽度 */ height: 20px; /* 容器高度 */ } .text-container:hover { overflow: visible; /* 鼠标悬停时展示全部内容 */ height: auto; /* 自动调整高度以完整显示文本 */ } ``` 最后,在 Vue 中使用 v-text-overflow 指令将文本绑定到容器中,并通过鼠标事件来切换展示状态: ```html <div class="text-container" v-text-overflow="longText"></div> ``` ```javascript Vue.directive('text-overflow', { inserted: function (el, binding) { el.textContent = binding.value; el.addEventListener('mouseover', function () { el.style.overflow = 'visible'; el.style.height = 'auto'; }); el.addEventListener('mouseleave', function () { el.style.overflow = 'hidden'; el.style.height = '20px'; }); }, }); ``` 通过以上代码,在文本溢出时,鼠标悬停在容器上时将展示全部文本,移开鼠标时将再次显示省略号。这样,就实现了通过点击省略号展示更多文本的效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值