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设置什么值都会被忽略,仅仅是为了配合省略号的样式生效而已
相关推荐
申阳19 分钟前
Day 7:05. 基于Nuxt开发博客项目-首页开发
前端·后端·程序员
Crystal32826 分钟前
App端用户每日弹出签到弹窗如何实现?(uniapp+Vue)
前端·vue.js
摸着石头过河的石头27 分钟前
Service Worker 深度解析:让你的 Web 应用离线也能飞
前端·javascript·性能优化
用户40993225021228 分钟前
Vue 3中watch侦听器的正确使用姿势你掌握了吗?深度监听、与watchEffect的差异及常见报错解析
前端·ai编程·trae
1024小神31 分钟前
Xcode 常用使用技巧说明,总有一个帮助你
前端
政采云技术1 小时前
音视频通用组件设计探索和应用
前端·音视频开发
Hilaku1 小时前
我用AI重构了一段500行的屎山代码,这是我的Prompt和思考过程
前端·javascript·架构
IT_陈寒2 小时前
Vite性能优化实战:5个被低估的配置让你的开发效率提升50%
前端·人工智能·后端
IT_陈寒2 小时前
Java性能调优的7个被低估的技巧:从代码到JVM全链路优化
前端·人工智能·后端
掘金安东尼2 小时前
前端周刊第439期(2025年11月3日–11月9日)
前端·javascript·vue.js