文字溢出显示省略号

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			#bg{
				width: 400px;
				border:1px solid red;
				
				/*这三条是捆绑的 分开就实现不了*/
				white-space: nowrap;
				overflow: hidden;
				text-overflow: ellipsis;
				/*
				 * 包含文字的容器不能靠内容撑开
				 * 	可以设置的值
				 * 		ellipsis  出现省略号
				 * 		clip 	   溢出内容直接剪掉
				 */
			}
		</style>
	</head>
	<body>
		<div id="bg">
			溢出显示省略号溢出显示省略号溢出显示省略号溢出显示省略号
		</div>
	</body>
</html>

显示效果:

### CSS 实现 `a` 标签文字溢出显示省略号 对于 `a` 标签的文字溢出显示省略号,可以通过设置特定的 CSS 属性来实现。以下是具体方法: #### 单行文本溢出显示省略号 为了使单行文本在超出容器宽度时显示省略号,可以应用以下样式[^5]: ```css a { display: inline-block; max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } ``` 上述代码中: - **`display: inline-block;`** 确保 `a` 标签能够接受宽高限制。 - **`max-width: 100%;`** 设置最大宽度以防止内容无限延伸。 - **`white-space: nowrap;`** 防止文本自动换行。 - **`overflow: hidden;`** 将超出部分隐藏。 - **`text-overflow: ellipsis;`** 对于被隐藏的内容,在结尾处添加省略号。 --- #### 多行文本溢出显示省略号 如果希望支持多行文本溢出显示省略号,则需要使用 WebKit 的私有属性 `-webkit-line-clamp` 来控制行数[^2]。以下是适用于 `a` 标签的多行溢出解决方案[^3]: ```css a { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; /* 控制显示的行数 */ overflow: hidden; text-overflow: ellipsis; } ``` 在此配置中: - **`display: -webkit-box;`** 使用弹性盒模型布局。 - **`-webkit-box-orient: vertical;`** 定义子元素沿垂直方向堆叠。 - **`-webkit-line-clamp: 3;`** 指定最多显示三行文本。 - **`overflow: hidden;` 和 `text-overflow: ellipsis;`** 继续保持对多余内容的处理逻辑。 需要注意的是,`-webkit-line-clamp` 是浏览器厂商扩展属性,并未正式纳入标准规范,因此可能不兼容某些老旧浏览器或非 Webkit 内核的环境。 --- ### 示例代码 以下是一个完整的 HTML/CSS 示例,演示如何为 `a` 标签启用单行或多行溢出效果: #### 单行溢出示例 ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Single Line Ellipsis</title> <style> a.single-line { display: inline-block; max-width: 200px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } </style> </head> <body> <a href="#" class="single-line">这是一个非常长的链接地址,应该会被截断...</a> </body> </html> ``` #### 多行溢出示例 ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Multiline Ellipsis</title> <style> a.multi-line { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; /* 只允许两行 */ max-height: 4em; /* 建议配合固定高度 */ overflow: hidden; text-overflow: ellipsis; } </style> </head> <body> <a href="#" class="multi-line">这是一段很长的描述性文字,它可能会超过指定的最大行数,从而触发省略号机制。</a> </body> </html> ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值