我想计算滚动条的宽度,以便在 CSScalc()声明中使用结果。
目前,我假设滚动条的宽度始终为17px,如下所示:
body {
width:calc(100vw - 17px);
}
.container {
max-width:calc(100vw - 17px);
}
Run Code Online (Sandbox Code Playgroud)
问题是当您选择不同的浏览器缩放百分比时,滚动条的宽度会发生变化。所以我想使用计算结果来做一些事情:
body {
width:calc(100vw - CALCULATED SCROLL-BAR WIDTH);
}
.container {
max-width:calc(100vw - CALCULATED SCROLL-BAR WIDTH);
}
Run Code Online (Sandbox Code Playgroud)
编辑:我现在已经在这个问题的帮助下解决了这个问题
用于计算滚动条宽度的 JavaScript(不过,我发现您需要一个时间间隔才能使其自动更新):
function getScrollbarWidth() {
var outer = document.createElement("div");
outer.style.visibility = "hidden";
outer.style.width = "100px";
outer.style.msOverflowStyle = "scrollbar"; // needed for WinJS apps
document.body.appendChild(outer);
var widthNoScroll = outer.offsetWidth;
// force scrollbars
outer.style.overflow = "scroll";
// add innerdiv
var inner = document.createElement("div"); …Run Code Online (Sandbox Code Playgroud)