Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 隐藏窗口滚动条而不移动居中的内容_Javascript_Css - Fatal编程技术网

Javascript 隐藏窗口滚动条而不移动居中的内容

Javascript 隐藏窗口滚动条而不移动居中的内容,javascript,css,Javascript,Css,是否可以(暂时)隐藏主窗口(垂直)滚动条(body/html上的滚动条),而不(稍微)移动居中的内容 设置overflow:hidden在body上,html隐藏滚动条,但执行此操作时,居中的内容会向右移动滚动条宽度的一半。我可以添加右侧填充:,但这会有所不同,如果没有滚动条开始,也会移动内容。您可以相对定位居中部分(左侧:50%),然后使用javascript设置以像素为单位的固定位置。在jQuery中: $(".centered").offset({left : $(".centered")

是否可以(暂时)隐藏主窗口(垂直)滚动条(body/html上的滚动条),而不(稍微)移动居中的内容


设置
overflow:hidden
body上,html
隐藏滚动条,但执行此操作时,居中的内容会向右移动滚动条宽度的一半。我可以添加
右侧填充:
,但这会有所不同,如果没有滚动条开始,也会移动内容。

您可以相对定位居中部分(左侧:50%),然后使用javascript设置以像素为单位的固定位置。在jQuery中:

$(".centered").offset({left : $(".centered").offset().left});

查看此处的操作:

为此,可能需要一个显示滚动条上的
onContentOverFlow上的
浏览器事件,这些事件是否存在?如果您
主体
具有默认/空的
宽度
样式,你可以试试这个:FireFox的滚动条与其他浏览器不同,所以当你仍然看到一些变化时,请记住这一点FF@Passerby,这在某些情况下可能有效。但是,当此操作生效时,内容宽度不会调整为窗口宽度。相关操作将在调整窗口大小时固定元素的位置。你必须让脚本意识到所有以中心为中心的元素,这是不可取的,因为我正在寻找一个尽可能独立于内容的通用解决方案。我认为如果你想消除滚动条,你无论如何都需要脚本。因此,为每个中心元素指定相同的类,并在此类上调用jQuery。之后$(窗口)。调整大小将是您的朋友。我听说的唯一一个非js解决方案是在html元素上使用overflow-y:scroll,但是这个解决方案显示了滚动条区域,即使您无法滚动页面。脚本——当然。查找并更改页面上每个居中的元素,不。这有很多问题。而且此解决方案甚至无法正常工作-例如,尝试加载窗口/框架宽度小于居中内容宽度的示例。此解决方案可以调整为支持onresize、居中主体而不是单个元素、主体宽度(单位%)、最大宽度等(未在IE中测试)