如何在Tailwind+Flexbox中实现响应式布局内嵌套div垂直居中?
解决Tailwind中嵌套div垂直居中的问题
要让第二栏里的嵌套div实现垂直居中,只需给第二栏的容器添加flex布局相关的Tailwind类即可,具体修改如下:
修改后的代码:
<div className="flex min-h-full"> <div className="flex-none w-1/3 min-h-full hidden lg:block"> 01 </div> <div className="grow md:bg-slate-100 h-screen flex items-center"> <div className="bg-red-400 h-3/5 mx-16 w-full"></div> </div> </div>
关键修改说明:
- 给第二栏容器添加
flex类,将其转换为flex容器,这样内部元素才能利用flex的对齐规则 - 添加
items-center类,设置flex容器的交叉轴(垂直方向)对齐方式为居中,直接实现内部div的垂直居中 - 给红色嵌套div添加
w-full类,确保它在保留mx-16左右边距的同时,宽度占满容器可用空间
核心原因:flex布局的对齐属性仅对flex容器的直接子元素生效,之前的第二栏容器不是flex容器,所以内部div无法被垂直居中,设置好flex容器和对齐属性后即可解决问题。
内容的提问来源于stack exchange,提问作者Libin Joseph
相关产品推荐
相关产品推荐

