【CSS】文字溢出问题 ( 强制文本在一行中显示 | 隐藏文本的超出部分 | 使用省略号代替文本超出部分 )

文章介绍了如何使用CSS样式white-space,overflow和text-overflow来处理文字溢出的问题,通过强制文本在一行显示、隐藏超出部分并用省略号表示被截断的内容,实现简洁的展示效果。
部署运行你感兴趣的模型镜像





一、文字溢出问题



在元素对象内部显示文字 , 如果文本过长 , 则会出现文本溢出的问题 ;

下面的示例中 , 在 150x25 像素的盒子中 , 显示 骐骥一跃,不能十步;驽马十驾,功在不舍; 一段话 , 明显盒子太小 , 默认的显示效果如下 :

在这里插入图片描述


文字溢出代码示例 :

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>文字溢出处理</title>
	<style>
		div {
			width: 150px;
			height: 25px;
			border: 1px solid red;
		}
	</style>
</head>
<body>
	<div>
		骐骥一跃,不能十步;驽马十驾,功在不舍;
	</div>
</body>
</html>

显示效果 :
在这里插入图片描述





二、文字溢出处理方案



文字溢出处理方案 :

  • 首先 , 强制文本在一行中显示 ;
	white-space: nowrap;
  • 然后 , 隐藏文本的超出部分 ;
	overflow: hidden;
  • 最后 , 使用省略号代替文本超出部分 ;
	text-overflow: ellipsis;

white-space 样式 用于设置 文本显示方式 :

  • 默认方式 : 显示多行 ;
	white-space: normal;
  • 显示一行 : 强行将盒子中的文本显示在一行中 ;
	white-space: nowrap;

text-overflow 样式 用于设置 文字溢出处理方案 :

  • 默认方式 - 简单裁切 : 不显示 ... 省略号 ;
	text-overflow : clip;
  • 显示省略号 : 文本溢出时 , 显示 ... 内容 ;
	text-overflow : ellipsis;




三、代码示例



代码示例 :

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>文字溢出处理</title>
	<style>
		div {
			width: 150px;
			height: 25px;
			border: 1px solid red;
			
			/* 首先 强制文本在一行中显示 */
			white-space: nowrap;
			/* 然后 隐藏文本的超出部分 */
			overflow: hidden;
			/* 最后 使用省略号代替文本超出部分 */
			text-overflow: ellipsis;
		}
	</style>
</head>
<body>
	<div>
		骐骥一跃,不能十步;驽马十驾,功在不舍;
	</div>
</body>
</html>

执行结果 :

在这里插入图片描述

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

文本超出`div`范围时,使超出部分显示省略号有以下几种实现方法: ### 单行文本溢出显示省略号 可以通过设置`white-space: nowrap`使文本不换行,`overflow: hidden`隐藏超出部分,`text-overflow: ellipsis`将超出部分省略号显示。示例代码如下: ```html <!DOCTYPE html> <html> <head> <style> div.test { white-space: nowrap; width: 12em; overflow: hidden; border: 1px solid #000000; text-overflow: ellipsis; } </style> </head> <body> <div class="test">This is some long text that will not fit in the box</div> </body> </html> ``` 这种方法的原理是将文本强制一行显示超出`div`宽度的部分隐藏并以省略号代替,参考了代码示例的思路[^3]。 ### 多行文本溢出显示省略号 对于多行文本,可以使用`-webkit-line-clamp`属性来限制显示的行数,结合`display: -webkit-box`和`-webkit-box-orient: vertical`来实现。示例代码如下: ```css div { overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; /* 显示的行数 */ -webkit-box-orient: vertical; } ``` 此方法利用了 WebKit 内核浏览器的私有属性,通过`-webkit-line-clamp`指定显示的行数,超出部分隐藏并用省略号显示[^2]。 ### 自定义伪元素实现省略号 还可以通过自定义伪元素来实现省略号效果,示例代码如下: ```html <div id="con"> <span id="txt">文本溢出显示省略号,文本溢出显示省略号,文本溢出显示省略号,文本溢出显示省略</span> <span class="t"></span> </div> <style> #txt { display: inline-block; height: 40px; width: 250px; line-height: 20px; overflow: hidden; font-size: 16px; } .t:after { display: inline; content: "..."; font-size: 16px; } </style> ``` 这种方法通过在元素后面添加一个伪元素,并设置其内容为省略号,结合元素的溢出隐藏来实现效果[^1]。
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值