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

TailwindCSS笔记应用Grid布局问题:展开项不影响同行元素高度

解决笔记展开时同行元素被拉长的问题

这个问题的核心是Grid和Flex布局的默认对齐行为——它们会让同一行的元素自动拉伸到和最高元素相同的高度。要解决这个问题,有几个直接的方案:

方案1:修改Grid容器的对齐方式

给Grid容器添加items-start类,让所有网格项从顶部开始排列,不再被强制拉伸到同一高度:

<ul className="grid md:grid-cols-2 lg:grid-cols-3 grid-cols-1 gap-4 my-16 items-start">
  {notes.map((note) => (
    <div
      key={note._id}
      id={note._id}
      className="border rounded p-4 flex flex-col"
    >
      <Note
        title={note.title}
        id={note._id}
        content={note.content}
        createdAt={note.createdAt}
        updatedAt={note.updatedAt}
        deleteNote={deleteNote}
        accessToken={cookies.access_token}
        fetchNotes={fetchNotes}
      />
    </div>
  ))}
</ul>

方案2:单独设置笔记项的对齐方式

如果不想改变整个Grid容器的对齐规则,也可以给每个笔记的外层div添加self-start类,让单个项不受拉伸影响:

<div
  key={note._id}
  id={note._id}
  className="border rounded p-4 flex flex-col self-start"
>
  <Note ... />
</div>

额外优化:稳定内容区域的高度控制

当前的内容高度切换逻辑没问题,但可以给收起状态的内容容器加上min-h-[120px],确保收起时高度固定,避免布局抖动:

<li
  ref={contentRef}
  className={`mt-8 whitespace-pre-line ${
    isShowMore
      ? "h-auto overflow-y-auto"
      : "h-[120px] min-h-[120px] overflow-y-hidden"
  } `}
>
  {content}
</li>

内容的提问来源于stack exchange,提问作者rboado

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 05:20:08