flexbox布局--右侧盒子文本过长用省略号, 导致左侧盒子宽度不生效

这篇笔记主要记录flex-shrink的使用.

flexbox布局--右侧盒子文本过长用省略号, 导致左侧盒子宽度不生效。如图, 给的圆圈宽度是67px,但实际上渲染出是54px

先看下代码,样式用的是unocss

xml 复制代码
   <div class="text-[#00E3FF] flex text-[80px] items-center h-[80px]">
           <!-- 左侧盒子 -->
            <div
              class="flex justify-center items-center bg-[transparent] w-[67px] h-[67px] border-solid border-[4px] rounded-[37px]"
              :class="getBorderBg(index)"
            >
              <div class="w-[48px] h-[48px] rounded-[24px]" :class="getCircleBg(index)"></div>
            </div>
            <!-- 右侧盒子 -->
            <div
              :title="item.name"
              class="text-white text-ellipsis overflow-hidden whitespace-nowrap pl-[56px] flex-grow"
            >
              {{ item.name }}
            </div>
          </div>

原因:右侧文本太多,占据了左边盒子的宽度,导致左边盒子宽度没生效。给左边盒子增加flex-shrink: 0,设置不压缩,就可以了。

scss 复制代码
   <div
              class="flex shrink-0 justify-center items-center bg-[transparent] w-[67px] h-[67px] border-solid border-[4px] rounded-[37px]"
              :class="getBorderBg(index)"
            >
              <div class="w-[48px] h-[48px] rounded-[24px]" :class="getCircleBg(index)"></div>
            </div>

MDN文档flex-shrink链接

动图证明flex-shrink

相关推荐
烛阴10 分钟前
解锁 TypeScript 的元编程魔法:从 `extends` 到 `infer` 的条件类型之旅
前端·javascript·typescript
前端开发爱好者35 分钟前
弃用 ESLint + Prettier!快 35 倍的 AI 格式化神器!
前端·javascript·vue.js
vivi_and_qiao1 小时前
HTML的form表单
java·前端·html
骑驴看星星a2 小时前
Vue中的scoped属性
前端·javascript·vue.js
四月_h2 小时前
在 Vue 3 + TypeScript 项目中实现主题切换功能
前端·vue.js·typescript
qq_427506082 小时前
vue3写一个简单的时间轴组件
前端·javascript·vue.js
雨枪幻。3 小时前
spring boot开发:一些基础知识
开发语言·前端·javascript
lecepin3 小时前
AI Coding 资讯 2025.8.27
前端·ai编程
TimelessHaze4 小时前
拆解字节面试题:async/await 到底是什么?底层实现 + 最佳实践全解析
前端·javascript·trae
执键行天涯4 小时前
从双重检查锁定的设计意图、锁的作用、第一次检查提升性能的原理三个角度,详细拆解单例模式的逻辑
java·前端·github