小编Bai*_*899的帖子

计算滚动条的宽度并在 calc() css 中使用结果

我想计算滚动条的宽度,以便在 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)

javascript css scroll scrollbar width

7
推荐指数
3
解决办法
5444
查看次数

标签 统计

css ×1

javascript ×1

scroll ×1

scrollbar ×1

width ×1