文字溢出显示省略号

如果我们有时文字必须要在一行显示,文字的容器宽度已经确定(比如文章标题链接)字数太多的情况下难免会溢出,但是如何让使用者知道它是溢出了,不是缺失了呢,这时候省略号就有大作用了,那么如何设置呢?请看代码

<head>
		<meta charset="utf-8" />
		<title>溢出显示省略号</title>
		<style type="text/css">
			div {
				width: 200px;
				height: 20px;
				/*以下三句缺一不可*/
				overflow: hidden;
				white-space: nowrap;
				text-overflow: ellipsis;
			}
		</style>
	</head>
	<body>
		<div>
			这里的字太多了,不想换行显示,溢出之后想让人们知道后面还有内容
		</div>
	</body>

显示的结果 就像下图一样

让我们检验一下省略的文字是否存在,拿图说事

 

 

### 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> ``` ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值