css实现文字环绕效果(文字超出n行用省略号代替,末尾 展开/收起 文字内容)

利用浮动和伪元素实现文字末尾省略号代替,并用按钮控制 展开/收起 全部文字内容
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

此时可以初步实现样式效果,在此之后需要修改伪元素高度,以实现按钮位置一直保持在父元素的右下角

.test::before {
	content: '';
	float: right;
	width: 0;
	height: 100%;
	margin-top: -30px; // 此数值为按钮元素高度
}

此外需要在父元素外再加一层元素并设置display: flex; 否则伪元素的height:100%;不生效

<div class="warp">
	<div class="test">
		<div class="button">展开</div>
		xxxxxx文字内容
	</div>
</div>
.warp {
	display: flex;
}

具体原理请参考大佬文章:https://blog.csdn.net/qq_32429257/article/details/122339194

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现文字长列表超出一行展示展开收起效果,可以使用 CSS 的 `text-overflow` 属性和一些 JavaScript 代码来实现。下面是一个实现的示例: HTML 结构: ```html <div class="long-list"> <div class="content">这是一个很长的列表,可能超出一行。</div> <button class="toggle-btn">展开</button> </div> ``` CSS 样式: ```css .long-list { max-height: 1.2em; /* 设置列表的最大高度为一行的高度 */ overflow: hidden; /* 隐藏超出部分 */ position: relative; /* 设置相对定位,用于定位展开按钮 */ } .content { white-space: nowrap; /* 设置文本不换行 */ overflow: hidden; /* 隐藏超出部分的文本 */ text-overflow: ellipsis; /* 使用省略号表示被隐藏的文本 */ } .toggle-btn { position: absolute; /* 设置绝对定位,用于定位展开按钮 */ bottom: 0; /* 将展开按钮定位在列表底部 */ right: 0; /* 将展开按钮定位在列表右侧 */ } ``` JavaScript 代码: ```javascript document.querySelector('.toggle-btn').addEventListener('click', function() { var longList = this.parentNode; if (longList.classList.contains('expanded')) { longList.classList.remove('expanded'); this.textContent = '展开'; } else { longList.classList.add('expanded'); this.textContent = '收起'; } }); ``` 上述代码中,我们使用了 `text-overflow: ellipsis` 将超出一行的文本显示为省略号,然后通过 JavaScript 监听展开按钮的点击事件来切换列表的展开状态,并修改按钮的文本。 你可以根据需要调整样式和 JavaScript 代码,以适应你的项目需求。希望对你有所帮助!如果你还有其他问题,请随时提问。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值