求助:隐藏滚动条仍随父Div滚动及WordPress Divi视差头部实现
解决方案:隐藏滚动条且保留父容器滚动 + Divi主题视差头部修复
先帮你搞定两个核心问题:一是隐藏滚动条但仍能正常滚动,二是修正你Divi主题视差头部的代码问题。
一、隐藏滚动条但保留滚动功能的实现
要实现这个效果,需要针对不同浏览器做兼容处理,同时确保父容器的滚动行为不受影响。给你的视差容器添加以下CSS即可:
/* 隐藏滚动条 - 兼容Chrome、Safari */ .parallax::-webkit-scrollbar { display: none; } /* 隐藏滚动条 - 兼容Firefox */ .parallax { scrollbar-width: none; /* 开启容器滚动,垂直滚动用overflow-y,水平用overflow-x */ overflow-y: auto; /* 按需设置容器高度,比如占满视口 */ height: 100vh; } /* 隐藏滚动条 - 兼容IE/Edge */ .parallax { -ms-overflow-style: none; }
设置完成后,滚动条会被完全隐藏,但用户依然可以通过鼠标滚轮、触摸滑动或键盘方向键来滚动容器内容。
二、修正你的Divi视差头部代码
我注意到你的HTML里有拼写错误(parralax__layer多了一个r,正确写法是parallax__layer),这会直接导致视差效果失效。另外补充完整视差所需的CSS,让功能正常运行:
修正后的HTML:
<div class="parallax"> <div class="parallax__layer parallax__layer--back"> <img src="https://crispimages.co/wp-content/uploads/2018/05/layer_5.png"> </div> <div class="parallax__layer parallax__layer--base"> <img src="https://crispimages.co/wp-content/uploads/2018/05/layer_5.png"> </div> </div>
完整的视差CSS(结合滚动条隐藏):
.parallax { perspective: 1px; height: 100vh; /* 占满视口高度,可根据需求调整 */ overflow-x: hidden; overflow-y: auto; /* 隐藏滚动条的兼容代码 */ scrollbar-width: none; -ms-overflow-style: none; } .parallax::-webkit-scrollbar { display: none; } .parallax__layer { position: absolute; top: 0; right: 0; bottom: 0; left: 0; transform-style: preserve-3d; } /* 背景层后移并放大,营造视差深度 */ .parallax__layer--back { transform: translateZ(-1px) scale(2); } /* 基础层保持原位 */ .parallax__layer--base { transform: translateZ(0); } /* 确保图片铺满容器 */ .parallax__layer img { width: 100%; height: auto; display: block; }
针对Divi主题的额外提示
因为你用的是Divi主题,建议把这些代码添加到Divi主题选项 > 自定义CSS里,或者子主题的style.css文件中,避免主题更新后代码丢失。如果需要视差头部固定在顶部,还可以给.parallax添加position: fixed; top: 0; width: 100%;来实现。
内容的提问来源于stack exchange,提问作者Alex Crisp
相关产品推荐
相关产品推荐

