当前位置:首页 > 技术分享

css超出隐藏显示省略号

admin1年前 (2025-01-27)技术分享1070

在CSS中,如果你想实现文本超出容器宽度时显示省略号(...),你可以使用 text-overflow 属性。这通常与 white-space 和 overflow 属性一起使用。下面是如何实现的步骤:


  1. 设置容器宽度:首先,确保你的容器有一个明确的宽度。

    使用 white-space 属性:将 white-space 设置为 nowrap,这样文本就不会换行。

  2. 使用 overflow 属性:将 overflow 设置为 hidden,这样超出容器宽度的文本就会被隐藏。

    使用 text-overflow 属性:将 text-overflow 设置为 ellipsis,这样超出部分就会显示为省略号(...)。


示例代码

.container {
  width: 200px; /* 设置容器宽度 */
  white-space: nowrap; /* 防止文本换行 */
  overflow: hidden; /* 隐藏溢出的文本 */
  text-overflow: ellipsis; /* 显示省略号 */
}


HTML 示例

<div class="container">  这是一段很长的文本,它应该会在容器宽度超出时显示省略号。</div>

注意事项


  • 多行文本:如果你需要在一个容器中实现多行文本的超出部分显示省略号,你需要结合使用 display: -webkit-box;-webkit-line-clamp 和 -webkit-box-orient 属性(这在较新的浏览器中支持)。例如:

.multiline-ellipsis {
  display: -webkit-box;
  -webkit-line-clamp: 3; /* 限制显示的行数为3 */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}


  • 注意:-webkit-line-clamp 目前只在基于WebKit的浏览器(如Chrome和Safari)中支持,对于其他浏览器,你可能需要寻找替代方案或使用JavaScript来实现。


使用JavaScript实现多行文本省略号

如果你需要支持所有浏览器,你可以使用JavaScript来实现多行文本的省略号效果。以下是一个简单的示例:

function truncateText(selector, maxLines) {
  const elements = document.querySelectorAll(selector);
  elements.forEach(el => {
    const lineHeight = parseInt(window.getComputedStyle(el).lineHeight, 10);
    const height = el.offsetHeight;
    const remainingHeight = height - (maxLines * lineHeight);
    if (remainingHeight > 0) {
      el.style.height = `${height - remainingHeight}px`; // 设置合适的高度以显示省略号
      el.style.overflow = 'hidden'; // 隐藏溢出的文本
      el.innerHTML += '<span>...</span>'; // 添加省略号
    }
  });
}

然后你可以在文档加载完成后调用这个函数:

document.addEventListener('DOMContentLoaded', () => {
  truncateText('.multiline-ellipsis', 3); // 选择器为你要应用多行省略的元素,3是最大行数
});

这样,无论是在较新的浏览器还是旧版浏览器中,你都可以实现多行文本的省略号效果。


扫描二维码推送至手机访问。

版权声明:本文由小刚刚技术博客发布,如需转载请注明出处。

本文链接:https://blog.bitefu.net/post/646.html

标签: css
分享给朋友:

“css超出隐藏显示省略号” 的相关文章

thinkphp等框架开发中容易忽略的xss攻击及应对XSS攻击方法

thinkphp等框架开发中容易忽略的xss攻击及应对XSS攻击方法

虽然说现在的web开发框架都是挺成熟的框架,在性能、安全等方面都有比较好的表现,但问题往往出现在业务逻辑上,如上周我再公司发现的一个跨站脚本攻击,(通常公司是这么过滤的,max(0,$_GET[‘a’])、strip_tags($_GET[…

input search更改默认删除按钮的样式

改input输入框search属性下输入文字之后会在输入框最后出现一个默认样式的X不过这个样式不太好看想自定义怎么办呢方法一input[type="search"]::-webkit-search-cancel-butt…

系统小技巧:微软版“Ghost” Windows FFU 系统安装还原

系统小技巧:微软版“Ghost” Windows FFU 系统安装还原

在日常的维护中,系统的备份和还原是大家经常需要操作的事情。虽然Windows 10已经提供很多的工具,如系统还原、WIM备份/还原,VHD备份等。不过这些工具大多是基于文件的备份/还原。我们以前经常的使用的Ghost则是基于扇区的备份/还原…

PHP AES加解密 (ECB模式/sha1prng算法/PKCS5Padding和PKCS7Padding补码) ECB 模式不需求设置 iv

php7+ 版本/**  * [AesSecurity aes加密,支持PHP7+]  * 算法模式:ECB  * 密钥长度:128  * 补…

微软Windows 10升级密钥(例如家庭版升级为企业版) 不能用于激活系统

微软Windows 10升级密钥(例如家庭版升级为企业版) 不能用于激活系统

下面的密钥,是微软官方提供的,仅能用于Windows10系统版本的升级,比如从家庭版升级为专业版、专业版升级为企业版等。升级密钥不能用于激活系统,激活需要KMS或者数字权利,由于涉及到版权问题,在此不宜分享,请大家自行查找激活相关的内容。准…

用CMD命令查询域名的DNS解析记录:A,NS,MX,CNAME,TXT

1、查询域名的A记录nslookup -qt=A bitefu.net当然查询A记录你直接用ping命令来ping域名也可以获得A记录。2、查询域名的NS记录nslookup -qt=NS bitefu.net3、查询域名的MX记录nslo…

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。