获取滚动条宽度



我删除了正文滚动条,然后必须用填充来弥补它的不足。为此,我尝试计算删除正文滚动条后出现的div 块滚动条的宽度,并将结果值作为填充传递。这适用于 Chrome,但不适用于其他浏览器。这是我的代码:

element = document.getElementById('div');
var scrollBarWidth = element.offsetWidth - element.clientWidth;
document.body.style.paddingRight = scrollBarWidth + 'px';

我真的很感激一个合适的解决方案。

它似乎有效,但也许有一个更简单的解决方案适用于所有浏览器?

// Create the measurement node
var scrollDiv = document.createElement("div");
scrollDiv.className = "scrollbar-measure";
document.body.appendChild(scrollDiv);
// Get the scrollbar width
var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;
console.info(scrollbarWidth); // Mac:  15
// Delete the DIV 
document.body.removeChild(scrollDiv);
.scrollbar-measure {
	width: 100px;
	height: 100px;
	overflow: scroll;
	position: absolute;
	top: -9999px;
}

document.body.style.paddingRight = (scrollbarWidth) + 'px';

最新更新