CSS 的position 有sticky和fixed,都可以实现悬浮效果,正常来讲下拉悬浮效果正常使用CSS就可以了。
CSS代码
.sticky { position: sticky; top: 0; }
但是由于父级的 overflow: hidden ,overflow: scroll, overflow: auto 会导致失效。所以我们可以考虑用JS来实现下拉后自动加入position:fixed
JS代码
<script> var el = document.getElementById('xuanfu'); var elTop = el.getBoundingClientRect().top - document.body.getBoundingClientRect().top; window.addEventListener('scroll', function(){ if (document.documentElement.scrollTop > elTop){ el.style.position = 'fixed'; el.style.top = '60px'; } else { el.style.position = 'static'; el.style.top = 'auto'; } }); </script>