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

如何实现子元素覆盖父元素背景及文字间视频显示效果?

解决方案

要实现黑底白字、文字间矩形区域显示视频的效果,核心是让文本层的矩形区域“透”出下方的视频。你之前的问题在于文本容器的黑色背景完全遮挡了视频,以下是可行的实现方案:

实现思路

  1. 三层结构:最底层放视频,中间层是纯黑色背景,最上层是文本内容。
  2. 利用mix-blend-mode: screen混合模式:
    • 白色文字与黑色背景混合后仍保持白色
    • 矩形区域的黑色与黑色背景混合后会变为透明,从而透出下方的视频

完整代码

CSS

* {
    box-sizing: border-box;
}
html, body {
    block-size: 100%;
}
body {
    margin: 0;
}
.content {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden; /* 避免视频溢出 */
}
.video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.black-bg {
    position: absolute;
    inset: 0;
    background-color: black;
}
.text-block {
    position: relative;
    z-index: 2;
    padding: 30px;
    color: white;
    font-size: 10vi;
    mix-blend-mode: screen;
}
.rect {
    display: inline-block;
    width: 150px;
    height: 5vi;
    margin: 0 10px;
    background-color: black;
}

HTML

<div class="content">
    <video class="video" autoplay loop muted playsinline>
        <source src="https://msttestaddfiles.netlify.app/video.mp4" type="video/mp4" />
    </video>
    <div class="black-bg"></div>
    <div class="text-block">
        <span>We're here</span>
        <span class="rect"></span>
        <span> to make healthy </span>
        <span class="rect"></span>
        <span>livin effortless,</span>
        <span> so you can</span>
        <span class="rect"></span>
        <span>live longer</span>
        <span>and happier</span>
        <span class="rect"></span>
    </div>
</div>

关键说明

  • mix-blend-mode: screen作用于文本层,实现了文字保留白色、矩形区域透明的效果
  • 层级关系:视频(最底层)→ 黑色背景 → 文本层(最上层),确保视频能透过矩形区域显示

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 08:49:53