0

0

Flex布局双列等高如何实现?

DDD

DDD

发布时间:2025-03-01 12:12:14

|

1192人浏览过

|

来源于php中文网

原创

flex布局双列等高如何实现?

Flex 布局双列等高:巧妙解决高度不一致问题

网页布局中,常常需要实现两列等高的效果。本文将分析并解决一个使用 Flex 布局实现双列等高时遇到的高度问题。

问题: 使用 Flex 布局创建左右两列,左侧(left)宽度为 50%,设置了 height: 300px;右侧(right)宽度也为 50%,但高度未设置,导致右侧高度无法与左侧一致。

原始代码:

.parent {
  display: flex;
  height: 200px; /* 限制了父元素高度 */
  border: solid darkcyan 1px;
  overflow-y: auto;
}

.left {
  background: lightblue;
  height: 300px; /* 超出父元素高度 */
  width: 50%;
}

.right {
  width: 50%;
  background-color: lightcoral;
}

由于 .parent 的高度被限制为 200px,而 .left 的高度为 300px,超过了父元素的高度,导致布局异常。同时,Flex 布局中,子元素高度默认由内容撑开,如果内容不足,则不会影响父元素高度。

解决方案:

移动端UI&微信UI YDUI Touch
移动端UI&微信UI YDUI Touch

YDUI Touch专为移动端打造,在技术实现、交互设计上兼容主流移动设备,保证代码轻、性能高;使用 Flexbox 技术,灵活自如地对齐、收缩、扩展元素,轻松搞定移动页面布局;用 rem 实现强大的屏幕适配布局,等比例适配所有屏幕;自定义Javascript组件、Less文件、Less变量,定制一份属于自己的YDUI。

下载

为了解决这个问题,我们可以添加一个中间容器,让 .left.right 作为这个中间容器的子元素。这个中间容器的高度将由其子元素内容撑开,从而保证两列等高。

修改后的代码:

.parent {
  display: flex;
  /* height: 200px;  移除高度限制,或根据实际情况调整 */
  border: solid darkcyan 1px;
  overflow-y: auto;
}

.box {
  display: flex; /* 将中间容器也设置为Flex布局 */
  width: 100%; /* 确保中间容器占满父容器宽度 */
}

.left {
  background: lightblue;
  height: 300px;
  width: 50%;
}

.right {
  width: 50%;
  background-color: lightcoral;
}

通过添加 box 容器,并将 .left.right 放入其中,box 的高度会根据其子元素的高度自动调整,从而使两列等高。 parent 容器的高度限制可以移除或调整为合适的值,以适应内容的高度。 重要的是,box 本身不需要设置高度。 同时,将box也设置为Flex布局,确保其子元素能够正确地进行Flex布局。

通过这个方法,我们成功地利用 Flex 布局实现了双列等高的效果。

相关专题

更多
flex教程
flex教程

php中文网为大家带来了flex教程合集,Flex是采用Flex布局的元素,称为Flex容器(flex container),简称"容器",它的所有子元素自动成为容器成员,有三个核心概念: flex项,需要布局的元素;flex容器,其包含flex项;排列方向,这决定了flex项的布局方向。php中文网还为大家带来flex的相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

354

2023.06.14

Java 桌面应用开发(JavaFX 实战)
Java 桌面应用开发(JavaFX 实战)

本专题系统讲解 Java 在桌面应用开发领域的实战应用,重点围绕 JavaFX 框架,涵盖界面布局、控件使用、事件处理、FXML、样式美化(CSS)、多线程与UI响应优化,以及桌面应用的打包与发布。通过完整示例项目,帮助学习者掌握 使用 Java 构建现代化、跨平台桌面应用程序的核心能力。

0

2026.01.14

php与html混编教程大全
php与html混编教程大全

本专题整合了php和html混编相关教程,阅读专题下面的文章了解更多详细内容。

12

2026.01.13

PHP 高性能
PHP 高性能

本专题整合了PHP高性能相关教程大全,阅读专题下面的文章了解更多详细内容。

22

2026.01.13

MySQL数据库报错常见问题及解决方法大全
MySQL数据库报错常见问题及解决方法大全

本专题整合了MySQL数据库报错常见问题及解决方法,阅读专题下面的文章了解更多详细内容。

18

2026.01.13

PHP 文件上传
PHP 文件上传

本专题整合了PHP实现文件上传相关教程,阅读专题下面的文章了解更多详细内容。

7

2026.01.13

PHP缓存策略教程大全
PHP缓存策略教程大全

本专题整合了PHP缓存相关教程,阅读专题下面的文章了解更多详细内容。

6

2026.01.13

jQuery 正则表达式相关教程
jQuery 正则表达式相关教程

本专题整合了jQuery正则表达式相关教程大全,阅读专题下面的文章了解更多详细内容。

2

2026.01.13

交互式图表和动态图表教程汇总
交互式图表和动态图表教程汇总

本专题整合了交互式图表和动态图表的相关内容,阅读专题下面的文章了解更多详细内容。

40

2026.01.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
CSS3 教程
CSS3 教程

共18课时 | 4.5万人学习

HTML+CSS基础与实战
HTML+CSS基础与实战

共132课时 | 9.5万人学习

前端开发(基础+实战项目合集)
前端开发(基础+实战项目合集)

共60课时 | 3.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号