【 总结 】文本超出显示省略号

这篇博客探讨了CSS中处理文本溢出的方法,包括单行文本的`white-space`, `overflow`和`text-overflow`属性,以及多行文本的私有属性如`-webkit-line-clamp`。还介绍了使用双重伪元素和`linear-gradient`背景来优雅地隐藏和显示多余内容的技巧。

单行文本

		<selector>{
	    	white-space: nowrap;
	    	overflow: hidden;
	    	text-overflow: ellipsis;
	    }

多行文本

私有属性

		p{
			background-color: #f9e9cd;
			overflow:hidden;
			display: -webkit-box;
			-webkit-box-orient:vertical;
			-webkit-line-clamp:5;
		}

双重伪元素

 		p{
        	overflow: hidden;
        	position: relative;
        	background-color: #f9e9cd;
        	text-align: justify;
        	padding-right: 1rem
        }
        p::before{
        	position:absolute;
        	content: "...";
        	right: 0;
        	bottom: 0;
        }
        /*当不需要省略号的时候  覆盖住省略号 使用和背景色一直的背景色*/
        p::after{
        	content: "";
        	position:absolute;
        	width: 1rem;
        	height: 1rem;
        	background-color:red;
        	right: 0;
        	display: inline;
        	margin-top: .5rem
        }

linear-gradient

		p{
			overflow: hidden;
			text-align: justify;
			position: relative;
		}
		// 给伪类元素设置 linear-gradient 用和背景色相似的渐变来覆盖文字
		// 宽度 高度 边距等 看具体情况 调节大小位置
		p::after{
			content: "";
			position:absolute;
			height: 1.2rem;
			width: 20%;
			background:linear-gradient(to right, rgba(255,255,255,0), skyblue 80%);
			right: 0;
			bottom: 0;
			margin-bottom: .2rem
		}
<think>我们根据引用内容,总结CSS实现文本超出显示省略号的几种情况: 1. 单行文本超出显示省略号 2. 多行文本超出显示省略号(如两行、三行等) 3. 表格单元格内文本超出显示省略号 根据引用[1]、[2]、[3]、[5]都提到了单行文本省略号显示方法,引用[1]和[4]提到了多行文本省略号显示方法,引用[1]还提到了表格单元格内的省略号显示。 因此,我们按照以下结构回答: 一、单行文本超出显示省略号 二、多行文本超出显示省略号 三、表格单元格内文本超出显示省略号 注意:在回答中,我们将使用代码块展示CSS代码,并给出必要的解释。 另外,根据引用[4]和[5],我们注意到多行省略的兼容性问题,以及不同浏览器的支持情况,需要特别说明。 同时,我们会在最后生成相关问题。 </think> ### CSS实现文本超出显示省略号的方法 使用CSS实现文本超出容器范围时显示省略号(…)是常见的UI优化技术,以下是具体实现方法: #### 一、单行文本超出省略 ```css .ellipsis { width: 200px; /* 定义容器宽度 */ white-space: nowrap; /* 禁止文本换行 */ overflow: hidden; /* 隐藏溢出内容 */ text-overflow: ellipsis; /* 显示省略符号 */ } ``` **说明**: 1. `white-space: nowrap` 强制文本单行显示 2. `overflow: hidden` 截断超出内容 3. `text-overflow: ellipsis` 添加省略号 4. 需配合固定宽度使用(如`width`或`max-width`)[^1][^2][^3][^5] #### 二、多行文本超出省略(WebKit内核浏览器) ```css .multiline { display: -webkit-box; /* 旧式弹性盒模型 */ -webkit-line-clamp: 3; /* 最多显示行数 */ -webkit-box-orient: vertical; /* 垂直排列 */ overflow: hidden; /* 隐藏溢出 */ text-overflow: ellipsis; /* 省略号 */ } ``` **说明**: 1. `-webkit-line-clamp` 控制显示行数(如设为3表示最多3行) 2. 主要兼容Chrome/Safari等WebKit浏览器 3. Firefox需使用`line-clamp`属性(需开启布局标志)[^1][^4] #### 三、表格单元格省略 ```css table { table-layout: fixed; /* 固定表格布局 */ } td { width: 60%; /* 固定列宽 */ white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } ``` **关键点**: 必须设置`table-layout: fixed`确保列宽生效 #### 四、英文单词换行处理 ```css .break-word { word-break: break-all; /* 允许在单词内换行 */ } ``` **适用场景**:长单词或URL地址的截断 ### 注意事项 1. 多行省略方案有兼容性限制,建议通过`@supports`检测 2. 容器需为块级元素且有明确尺寸 3. 弹性布局中建议设置`min-width: 0`触发截断 > 示例效果: > ![单行省略效果](https://via.placeholder.com/200x30?text=这是一段会被省略的长文本示例...)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值