Flex布局和省略号

css 复制代码
.ellipsis-text {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
css 复制代码
// 省略一行
.content {
    display: flex;
    width: 100%;
    & > span {
      .ellipsis-text();
      flex: auto;
      width: 0;
    }
  }
css 复制代码
// 省略两行
.title {
    display: flex;
    width: 100%;
    & > span {
      .ellipsis-text();
      flex: auto;
      width: 0;
      white-space: normal;
      display: -webkit-box;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 2;
    }

通常情况下,省略号是和固定宽度width:xx一起使用的,但是会有这样的需求:

  • 子元素的宽度根据浏览器的宽度自适应
  • 但是如果子元素内容超过容器可容纳的宽度,则显示为省略号

现在的问题是:

  • 如果使用固定宽度,无法实现宽度自适应
  • 如果使用flex-auto,无法显示未省略号

解决办法:

随便设置一个width值

  1. 因为width是和省略号样式配套使用的
  2. 为什么随便设置一个widht值都可以生效,因为这里的div/p/span元素宽度需要自适应,所以设置了flex:auto,这时元素的宽度相当于是auto,那么width设置什么值都会被忽略,仅仅是为了配合省略号的样式生效而已
相关推荐
笃行3504 小时前
集中式与分布式,KingbaseES 的四种形态共用一套内核
前端
陈随易5 小时前
Vue 编译器换掉 source map,快了三四成
前端·后端·程序员
ZhengEnCi6 小时前
12 种高级 UI 交互效果及对应 AI 提示词:从按压回弹到底部抽屉的物理感教学
前端·css·交互设计
IT_陈寒9 小时前
Redis大key删除为什么会导致服务卡顿?我的线上事故复盘
前端·人工智能·后端
用户27050777252410 小时前
MCP 最小 Server 实测:3 个 JSON-RPC 报错与修法
前端
用户4993350250710 小时前
一人VIP账号多人共用:Web 代理里的会话共享怎么实现
前端
用户老李10 小时前
无线电自学教程 05:第一台收音机——从矿石机到 SDR
前端
IPIPD10 小时前
Node.js请求遇到503怎么重试?先解析Retry-After,再做有上限退避
前端
葡萄城技术团队10 小时前
dsh-spreadjs-editor 的集成链路:把 SpreadJS Designer 嵌进 Agent 工作台
前端
FlyWIHTSKY11 小时前
vue2和vue3有什么区别,用法上有哪些区别
前端·javascript·vue.js