flex布局左边宽度固定,右边宽度动态扩展问题
创始人
2025-05-28 12:04:54
0

我们希望在一个固定宽度的容器中,分左右两边,左边宽度固定大小,右边占满,使用flex布局时,如下:
在这里插入图片描述
对应代码如下:



Document

左边盒子和右边盒子在都没有设置高度的情况下,它们是等高的(因为默认-> align-items:stretch,它们的高度在flex容器没有设置高度的情况下,将由左边盒子和右边盒子最高的高度决定。如果flex容器设置了高度,则高度与flex容器的高度保持一致)。如果左边盒子和右边盒子设置了高度,那么就是指定的高度。

这看上去并没有什么太大的问题,并且也实现了布局效果。

但是如果在右边 盒子里面放一个宽度为600px,高度为200px的黄色盒子,显然宽度已经超出了右边盒子的宽度,如下所示,我们看到左边的宽度不再是固定的300px了!是因为左边的默认flex-shrink:1,它的宽度会收缩。
在这里插入图片描述
对应代码如下:



Document

我们可以给左边盒子添加flex-shrink:0,它把右边挤出去了,超出了父元素的宽度了。
在这里插入图片描述
我们可以给右边盒子添加添加over:hidden或overflow:auto处理,会有如下效果,这样就不会超出父容器的宽度了
在这里插入图片描述

再看一个案例,右边放的是代码,我们看到右边盒子又是超出了父元素的宽度
在这里插入图片描述
代码如下



Document


@Override
public List listCategoriesBySearch(ConditionVO condition) {// 搜索分类List categoryList = categoryDao.selectList(new LambdaQueryWrapper().like(StringUtils.isNotBlank(condition.getKeywords()), Category::getCategoryName, condition.getKeywords()).orderByDesc(Category::getId));return BeanCopyUtils.copyList(categoryList, CategoryOptionDTO.class);
}
123

@Autowired
private CategoryDao categoryDao;
@Autowired
private ArticleDao articleDao;

同样的给右边盒子添加overflow:hidden,超出部分被隐藏了,如下图:
在这里插入图片描述
我们可以给里面的pre标签添加overflow-x:auto,如下
在这里插入图片描述
代码如下:



Document


@Override
public List listCategoriesBySearch(ConditionVO condition) {// 搜索分类List categoryList = categoryDao.selectList(new LambdaQueryWrapper().like(StringUtils.isNotBlank(condition.getKeywords()), Category::getCategoryName, condition.getKeywords()).orderByDesc(Category::getId));return BeanCopyUtils.copyList(categoryList, CategoryOptionDTO.class);
}
123

@Autowired
private CategoryDao categoryDao;
@Autowired
private ArticleDao articleDao;

还有一种情况是,右边的内容是文字,但是文字超出宽度,需要显示省略号
参考:css列表示例&flex布局子元素超出父容器宽度问题
在这里插入图片描述



Document

Lorem ipsum dolor sit amet consectetur, adipisicing elit. Eligendi in quos tempore consequatur perferendis velit et magnam odio exercitationem? Ab distinctio mollitia eaque pariatur dicta! Illo, laboriosam. At perferendis qui ducimus fuga, nesciunt et dicta, omnis reiciendis, numquam quasi quas quod mollitia necessitatibus possimus illo nostrum ad nobis totam animi.


Lorem ipsum dolor sit amet consectetur, adipisicing elit. Eligendi in quos tempore consequatur perferendis velit et magnam odio exercitationem? Ab distinctio mollitia eaque pariatur dicta! Illo, laboriosam. At perferendis qui ducimus fuga, nesciunt et dicta, omnis reiciendis, numquam quasi quas quod mollitia necessitatibus possimus illo nostrum ad nobis totam animi.
Lorem ipsum dolor sit amet consectetur, adipisicing elit. Eligendi in quos tempore consequatur perferendis velit et magnam odio exercitationem? Ab distinctio mollitia eaque pariatur dicta! Illo, laboriosam. At perferendis qui ducimus fuga, nesciunt et dicta, omnis reiciendis, numquam quasi quas quod mollitia necessitatibus possimus illo nostrum ad nobis totam animi.

Lorem ipsum dolor sit amet consectetur, adipisicing elit. Eligendi in quos tempore consequatur perferendis velit et magnam odio exercitationem? Ab distinctio mollitia eaque pariatur dicta! Illo, laboriosam. At perferendis qui ducimus fuga, nesciunt et dicta, omnis reiciendis, numquam quasi quas quod mollitia necessitatibus possimus illo nostrum ad nobis totam animi.

Lorem ipsum dolor sit amet consectetur, adipisicing elit. Eligendi in quos tempore consequatur perferendis velit et magnam odio exercitationem? Ab distinctio mollitia eaque pariatur dicta! Illo, laboriosam. At perferendis qui ducimus fuga, nesciunt et dicta, omnis reiciendis, numquam quasi quas quod mollitia necessitatibus possimus illo nostrum ad nobis totam animi.

再看一个示例
在这里插入图片描述
代码如下



Document

我的风车我的风车我的风车我的风车我的风车我的风车
1000000篇

相关内容

热门资讯

【算法设计-搜索】回溯法应用举... 文章目录9. 全排列问题(不考虑重复数字)10. 全排列问题࿰...
字节5年经验之谈,从功能测试进... 最近收到不少小伙伴私信问,做了好几年测试,一直停留在手工测试点点点的阶段...
JDK 9 到 19 内存变化 一、前言 在 JDK 9 之前,Java 基本上平均每三年出一个版本。但是自从 201...
由《三体》太阳文明末日场景想到... 《三体》电视剧正在热播,热度持续不退,豆瓣评分8.6,基本...
Node.js核心模块 htt... 前言 http、http2模块都是node.js的核心模块,下面分别对这些模块进行分析...
(16)C#传智:线程,Soc... 一、复习     进程与线程的关系     Process.Start()p.StartInfo ...
动态规划day2345【代码随... 动态规划五部曲 1、确定dp数组以及下标含义2、确定递推公式---->状态转移方程3、dp数组如何初...
Ajax简介 Ajax简介和使用 1.简介 AJAX = Asynchronous JavaScript...
LINUX中atd和crond... 一、atd与crond的区别1、运行方式不同,at只运行一次,而cron...
平台接入qq客服 自定义dom 1.去腾讯企点注册 2.选择模式,有自带的默认格式还有自定义dom格式等 https:...
NLP:生成图像的中文摘要 Generate Image Caption   依旧采用十分熟悉的NMT架构,把生成...
Shell 传递参数 文章目录Shell 传递参数$* 与 $@ 区别 Shell 传递参数 我们可以在执行 ...
Mybatis-Plus详解0... 文章目录前言一、代码生成器1、简介2、使用步骤二、MybatisPlus常用方法1.基本的CRUD新...
使用Maven实现Servle... 创建Maven项目我们打开idea的新建项目,选中里面Maven即可,如下图:创建完成之后,会看到这...
pytorch环境之mask-... pytorch环境之mask-rcnn源码实现1.下载源码及配置环境1.1 mask-rcnn源码下...
谷粒商城十八认证服务之分布式s... 分布式下session共享问题 当我们登录成功后,会跳转到首页,之前我们...
【ROS模块】关于autowa... Installation - Autoware Documentation Architecture...
在数字化时代,企业BI的发展趋... 数据的重要程度还在不断加深,但大量的数据并不能直接产生价值,需要通过数据...
Auto-Tuning wit... 文章目录摘要一、介绍二、相关工作2.1 总账结构2.2 织物优化三、系统结构四、作为DRL问题的自动...
不一样的邂逅——初识Vue3 不一样的邂逅——初识Vue31、初识Vue32、Vue3提升了什么2.1、性能的提升2.2、源码的升...