You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Tailwind CSS中使用flex实现响应式三列布局的列排序与隐藏

Tailwind 三列响应式布局解决方案

核心修改点

  • 外层flex容器默认设为垂直排列(flex-col),仅在2xl及以上屏幕切换为水平排列(2xl:flex-row),自然实现小于2xl时第一列在主内容上方的需求
  • 第一列侧边栏默认宽度设为100%(w-full),仅在2xl及以上屏幕固定为w-96,适配小屏幕宽度规则
  • 第一列的右侧边框仅在2xl及以上屏幕显示(2xl:border-r),小屏幕下可按需添加border-b实现上下模块的分割效果
  • 第三列侧边栏的显示断点从xl调整为2xl,实现xl及以下屏幕自动隐藏的需求

修改后完整代码

<div className="relative z-0 flex flex-col 2xl:flex-row overflow-hidden flex-grow">
  {/* Start first column */}
  <aside className="relative 2xl:order-first 2xl:flex-col flex-shrink-0 w-full 2xl:w-96 2xl:border-r border-gray-200 overflow-y-auto">
    <div className="absolute inset-0 py-6 px-1">           
    </div>
  </aside>
  {/* End first column */}
  {/* Start main area*/}
  <main className="flex-1 relative z-0 overflow-y-auto focus:outline-none">
    <div className="absolute inset-0 py-6 px-4 sm:px-6 lg:px-8">
    </div>
  </main>
  {/* End main area */}
  {/* Start third column */}
  <aside className="hidden 2xl:order-last 2xl:flex 2xl:flex-col flex-shrink-0 border-r border-gray-200 w-96">
    <div className="inset-0 py-6 px-1"></div>
  </aside>
  {/* end last column */}
</div>

可选适配调整

如果需要在xl到2xl之间的屏幕也保留第三列显示,仅需把第三列的2xl:flex改回xl:flex,同时按需调整主内容的内边距适配多出来的侧边栏宽度即可。

内容的提问来源于stack exchange,提问作者M.K. Kim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 07:24:07