效果展示:
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge"><style type="text/css">*{margin: 0;padding: 0;}.container {position: relative;width: 500px; /* 按照实际情况设置宽度 */}.logo {position: fixed;top: 0;left: 0;z-index: 1; /* 使 logo 在图片上方 */color: #fff; /* 设置 logo 文字的颜色为白色 */font-size: 36px;font-weight: bold;text-transform: uppercase;mix-blend-mode: difference; /* 使用 mix-blend-mode 属性实现颜色反转效果 */transition: color 0.3s ease; /* 设置过渡效果,使变化更加平滑 */}.container.overlap .logo {color: #000; /* 当容器与图片重叠时,将 logo 文字的颜色改为黑色 */}</style>
<div class="container"><img src="https://img-blog.csdnimg.cn/47f119243ad644988f3627aeac8db268.jpeg#pic_center"><div style="width: 100%;height: 560px;background-color: red;"></div><div style="width: 100%;height: 560px;background-color: #000000;"></div><div style="width: 100%;height: 560px;background-color: #CCCCCC;"></div><div style="width: 100%;height: 560px;background-color: #FFFFFF;"></div><div style="width: 100%;height: 560px;background-color: #FFFFFF;"></div><div class="logo"><img src="https://img-blog.csdnimg.cn/1ee5097edfef4bf9b0bfb43f68790b29.png#pic_center" alt=""></div>
</div><script type="text/javascript">$(document).ready(function() {var container = $('.container');var logo = $('.logo');/* 判断容器与图片是否重叠,设置相应的 class */function checkOverlap() {var overlap = logo.width() * logo.height() > 0 && (logo.offset().left < container.offset().left + container.width() &&logo.offset().left + logo.width() > container.offset().left &&logo.offset().top < container.offset().top + container.height() &&logo.offset().top + logo.height() > container.offset().top);container.toggleClass('overlap', overlap);}/* 页面加载时判断容器与图片是否重叠 */checkOverlap();/* 监听窗口的 resize 事件,以防容器大小改变导致重叠状态改变 */$(window).on('resize', checkOverlap);});</script>