JavaScript   发布时间:2022-04-16  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了javascript – 如何在移动浏览器中垂直修复元素但仍允许水平滚动?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
在桌面浏览器上,我可以使用以下 javascript垂直修复元素,但仍允许水平滚动.如您所见,它会在每个滚动事件上重新定位元素.要了解我的意思,请尝试在此 JSFiddle中水平和垂直滚动.
var verticallyFixedBox = document.getElementById('verticallyFixedBox');

window.addEventListener('scroll',function() {
    verticallyFixedBox.style.top = '' + document.body.scrollTop + 'px';
});

然而,这种逻辑对于移动浏览器来说是失败的,因为移动浏览器显然不会在整个拖动完成之前进行绘制,从而导致不稳定的体验.

垂直修复元素的好方法是什么,但仍然允许移动浏览器的水平滚动?

解决方法

如果你使用一个设置为height的容器盒:100%并将html和body元素的高度设置为100%,那么你可以使用position:absolute;顶部:0;对于固定标题和设置溢出:自动(或滚动)您要垂直滚动的框.

请记住将您的正文和html边距设置为0以避免浏览器默认样式.

我已经更新了你的小提琴:http://jsfiddle.net/jb489ddL/1/

此解决方案根本不使用javascript,因此它可以在移动浏览器上运行,因为您不依赖于滚动事件.

大佬总结

以上是大佬教程为你收集整理的javascript – 如何在移动浏览器中垂直修复元素但仍允许水平滚动?全部内容,希望文章能够帮你解决javascript – 如何在移动浏览器中垂直修复元素但仍允许水平滚动?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。