css样式,左右子容器如何设置和父容器一致的高度?
发布于 作者:苏南大叔 来源:程序如此灵动~

苏南大叔继续来谈谈基础的css
问题,本文仍然是个非常简单的文章,高手请飘过。

本文要讨论的问题和上一篇文章有些类似,上一篇文章一般是用来解决左右两列的宽度问题,这一篇文章用来讨论高度问题。上一篇文章,请点击下面的连接查看:
本文测试环境:win10
,chrome@96.0.4664.45
。一个父容器,两个左右排列子容器,希望左右两侧具有同样的高度。同样,这个需求可以使用js
来解决。但是,能用css
解决的问题,为啥非要假手于js
呢?
场景一
父容器设置高度,子容器高度100%
。
代码如下:

场景二(推荐)
设置父容器不设置高度,display:table
,子容器设置display:table-cell
。
代码如下:

场景三(推荐)
父容器不设置高度,display:flex
,子容器其中一个设置高度。

场景四(不推荐)
父容器设置overflow
,子容器设置较大的margin-bottom
和padding-bottom
,三者都不设置高度。
场景五(不推荐)
父容器position:relative
,同时overflow:hidden
。其中一个子容器不设置高度,另外一个子容器position:absolute
,同时left
或者right
设置为另外一容器的宽度,然后高度设置一个极大值。
代码如下:
相关链接
- https://newsn.net/say/css-input-outline.html
- https://newsn.net/say/css-flex-demo.html
- https://newsn.net/say/css-flex-axis.html
总结
css
的flex
布局,是很难理解的,多试试总是有收获。更多css
使用技巧,请参考苏南大叔的博客:


