我有一些代码假设OS X的垂直滚动条宽度为15px并相应地做了一些布局。
适用于Mac。但是,在Macbook上,Chrome的滚动条似乎没有占用任何额外的空间。它被视为页面内容上的叠加层。这会导致布局有点失真。
有什么方法可以检测滚动条是否为Apple台式机/笔记本电脑上的Chrome预留了空间?
答案 0 :(得分:3)
您可以使用here:
中的此代码首先在样式表中定义一些样式指南:
/* way the hell off screen */
.scrollbar-measure {
width: 100px;
height: 100px;
overflow: scroll;
position: absolute;
top: -9999px;
}
而在你的javascript中你就是这样开始的:
// 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.warn(scrollbarWidth); // Mac: 15
// Delete the DIV
document.body.removeChild(scrollDiv);