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

为浮动Div实现背景淡出模糊效果

实现消息容器底部的内容模糊遮罩

你当前的问题是模糊效果只作用于空div本身,而不是它后方的消息内容。这是因为blur-sm是模糊元素自身,而你需要的是模糊元素背后的内容,得用backdrop-blur系列属性。

修改后的代码:

<>
  <div
    ref={messagesContainerRef}
    className="w-full h-full flex flex-col rounded-xl overflow-auto relative"
  >
    {messages.map((message, index) => (
      <div
        key={message.id}
        className="w-full flex flex-col border-[1px] border-white/30 rounded-xl p-2 my-1"
      >
        <div className="w-full rounded-lg text-sm">{message.question}</div>
        <div className="w-full py-2 rounded-lg text-sm">{message.answer}</div>
      </div>
    ))}
    {/* 把遮罩移到容器内部,使用backdrop-blur实现背景模糊 */}
    <div className="absolute bottom-0 left-0 w-full h-16 bg-gradient-to-t from-black/50 to-transparent backdrop-blur-sm pointer-events-none"></div>
  </div>
</>

关键修改点:

  • 将遮罩div移入消息容器内,利用容器的relative定位,确保它始终贴合容器底部。
  • 替换blur-sm为backdrop-blur-sm:这个属性会模糊遮罩元素后方的所有内容,正是你需要的效果。
  • 添加bg-gradient-to-t from-black/50 to-transparent:通过渐变背景让模糊效果从底部到顶部自然过渡,避免生硬的截断感。
  • 加上pointer-events-none:确保遮罩不会阻挡消息区域的点击、滚动等交互操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 18:16:06