如何用Tailwind CSS实现单侧跨两行、另一侧多行的网格布局?
Tailwind CSS 网格布局修复方案
你当前代码的问题在于两点:
- Tailwind 没有
col-1、col-2这类指定列位置的类,这类写法无效; - 右侧元素没有明确指定列位置,导致它们挤到了左侧区域的下方,而非单独一列。
根据你的需求,提供两种常见场景的修复代码:
场景1:左侧占3/4宽度,右侧占1/4宽度
<div className="grid grid-cols-4 gap-2"> <!-- 左侧区域:占前3列,跨2行 --> <div className="col-span-3 row-span-2 bg-green-400">hello</div> <!-- 右侧第一个元素:固定到第4列 --> <div className="col-start-4 bg-red-400">the</div> <!-- 右侧第二个元素:同样固定到第4列,自动排在下方 --> <div className="col-start-4 bg-blue-400">world</div> </div>
场景2:左右各占50%宽度
<div className="grid grid-cols-2 gap-2"> <!-- 左侧区域:跨2行 --> <div className="row-span-2 bg-green-400">hello</div> <!-- 右侧元素自动填充右侧列的两行 --> <div className="bg-red-400">the</div> <div className="bg-blue-400">world</div> </div>
核心逻辑:
- 用
col-span-*控制列宽度占比,row-span-2让元素跨两行; - 右侧元素通过
col-start-*固定列位置,确保它们在同一列内上下排列,不会挤占左侧区域的空间。
内容的提问来源于stack exchange,提问作者S.Nishant
相关产品推荐
相关产品推荐

