我正在渲染一个消息数组,我想在组件的底部为消息的其余部分制作一个模糊效果.到目前为止,我发现模糊效果应用于div的子对象.在这种情况下,我需要对div后面的任何东西应用模糊效果.

换句话说,我有一个浮动div,我希望它后面经过的所有东西都模糊不清.

下面是代码片段

<>
      <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>
        ))}
      </div>
      <div
        className="absolute bottom-0 w-full h-16 blur-sm ">
      </div>
    </>
    ```

推荐答案

Blur a section of text using backdrop-filter

tailwind backdrop-blur可以用于模糊元素后面的内容.这也可以使用普通css和backdrop-filter来完成.

这对OP不起作用,因为背景位置不正确,应用了错误的类.通过在消息容器周围添加包装器、使背景作为最后一个子文件并应用正确的类,这些问题得到了修复.也可以使用一个::after伪元素来实现这一点,这将简化html(not shown).

运行代码段可以看到消息容器下部的文本模糊.

Code Snippet

html,
body {
  height: 100%;
}

/* css without Tailwind */

.messages-blur {
  position: absolute;
  width: 100%;
  height: 50%;
  bottom: 0;
  left: 0;
  backdrop-filter: blur(2px);
}
<!-- wrapper -->
<div class="relative">

<!-- messages container -->
<div class="w-full h-full flex flex-col rounded-xl overflow-auto">

<!-- message -->
  <div class="w-full flex flex-col border-1 border-white/30 rounded-xl p-2 my-1">
    <div class="w-full rounded-lg text-sm">
      Message Question 1
    </div>
    <div class="w-full py-2 rounded-lg text-sm">
      At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia
      animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus id quod maxime
    </div>

    <div class="w-full flex flex-col border-[1px] border-white/30 rounded-xl p-2 my-1">
      <div class="w-full rounded-lg text-sm">
        Message Question 2
      </div>
      <div class="w-full py-2 rounded-lg text-sm">
        At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia
        animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus id quod maxime
      </div>
    </div>
  </div>
</div>

  <!-- backdrop -->
  <div class="absolute top-1/2 left-0 bottom-0 w-full backdrop-blur-sm"></div>

</div>

<!-- Tailwind -->
<script src="https://cdn.tailwindcss.com"></script>

Javascript相关问答推荐

通过使用100%间隔时间来代表我们还剩多少时间来倒计时

按钮未放置在html dis位置

Google图表时间轴—更改hAxis文本 colored颜色

如何从JSON数组添加Google Maps标记—或者如何为数组添加参数到标记构造器

将状态向下传递给映射的子元素

自定义高图中的x轴标签序列

简单的PayPal按钮集成导致404错误

加载背景图像时同步旋转不显示的问题

为什么我的导航条打开状态没有在窗口addeventlistener(Reaction Js)中更新?

如何在文本字段中输入变量?

正则表达式,允许我匹配除已定义的子字符串之外的所有内容

更新动态数据中对象或数组中的所有值字符串

构建器模式与参数对象输入

是否可以在不更改组件标识的情况下换出Reaction组件定义(以维护状态/引用等)?如果是这样的话,是如何做到的呢?

将字体样式应用于material -UI条形图图例

如何用react组件替换dom元素?

无法向甜甜圈图表上的ChartJSImage添加可见标签

如何在Java脚本中添加一个可以在另一个面板中垂直调整大小的面板?

在不使用AJAX的情况下将JavaScript数组值传递给Laravel控制器?

使用JavaScript或PHP从div ID值创建锚标记和链接