设置 div 以覆盖所有 window 大小,减去菜单栏高度,不带滚动条
Set div to cover all window size, minus menu bar height, without scrollbars
我正在尝试从头开始构建一个滑块插件,因为我需要它具有一些在其他插件中很难找到的特定行为。无论如何,其中一个要求是它需要页面中所有可用的 space,减去菜单栏高度。
这是我设置的例子:https://jsfiddle.net/5ujqw94n/
要设置尺寸大小我调用这个函数:
adjustSizes: function(that) {
var w = document.body.parentNode.clientWidth;
var h = $(window).height() - $('header').height();
console.log('window inner w', $(window).innerWidth());
that.$elem.width(w);
that.$elem.height(h);
console.log('window inner w', $(window).innerWidth());
console.log('document client w', document.body.parentNode.clientWidth);
}
我在调整 window 大小时也调用了该函数。发生的情况是,当页面加载时,它会显示滚动条,但调整 window 的大小会使它们消失。
在函数中,我放置了一些 console.log
来跟踪 window 宽度,并注意到应用调整大小后存在 15px 的差异。我认为这可能与滚动条有关,搜索周围似乎就是这种情况。
我不知道怎么解决。放置 overflow: hidden
种方法,但我希望有另一种方法,因为这感觉像是一种解决方法。
例如,在另一个 page 中,一切似乎都按我想要的方式工作,并且正文中没有 overflow: hidden
。
有什么建议吗?
我找到了一种至少在铬中(有点)有效的解决方案。
删除 .page-container
的边框并修改 .slider-container
.slider-container {
border: 0px solid yellow;
left: 0;
right: 0;
height: 100%;
max-width: 960px;
margin: auto;
overflow: hidden;
position: absolute;
}
现在在上面倒一些 body { margin: 0; }
即可享用。
然而令我困惑的是为什么边框导致水平滚动条即使box-sizing: border-box;
声明...希望它能有所帮助。
我正在尝试从头开始构建一个滑块插件,因为我需要它具有一些在其他插件中很难找到的特定行为。无论如何,其中一个要求是它需要页面中所有可用的 space,减去菜单栏高度。
这是我设置的例子:https://jsfiddle.net/5ujqw94n/
要设置尺寸大小我调用这个函数:
adjustSizes: function(that) {
var w = document.body.parentNode.clientWidth;
var h = $(window).height() - $('header').height();
console.log('window inner w', $(window).innerWidth());
that.$elem.width(w);
that.$elem.height(h);
console.log('window inner w', $(window).innerWidth());
console.log('document client w', document.body.parentNode.clientWidth);
}
我在调整 window 大小时也调用了该函数。发生的情况是,当页面加载时,它会显示滚动条,但调整 window 的大小会使它们消失。
在函数中,我放置了一些 console.log
来跟踪 window 宽度,并注意到应用调整大小后存在 15px 的差异。我认为这可能与滚动条有关,搜索周围似乎就是这种情况。
我不知道怎么解决。放置 overflow: hidden
种方法,但我希望有另一种方法,因为这感觉像是一种解决方法。
例如,在另一个 page 中,一切似乎都按我想要的方式工作,并且正文中没有 overflow: hidden
。
有什么建议吗?
我找到了一种至少在铬中(有点)有效的解决方案。
删除 .page-container
的边框并修改 .slider-container
.slider-container {
border: 0px solid yellow;
left: 0;
right: 0;
height: 100%;
max-width: 960px;
margin: auto;
overflow: hidden;
position: absolute;
}
现在在上面倒一些 body { margin: 0; }
即可享用。
然而令我困惑的是为什么边框导致水平滚动条即使box-sizing: border-box;
声明...希望它能有所帮助。