UNPKG

@uswds/uswds

Version:

Open source UI components and visual style guide for U.S. government websites

21 lines (16 loc) 740 B
module.exports = function getScrollbarWidth() { // Creating invisible container const outer = document.createElement("div"); outer.style.visibility = "hidden"; outer.style.overflow = "scroll"; // forcing scrollbar to appear outer.style.msOverflowStyle = "scrollbar"; // needed for WinJS apps document.body.appendChild(outer); // Creating inner element and placing it in the container const inner = document.createElement("div"); outer.appendChild(inner); // Calculating difference between container's full width and the child width const scrollbarWidth = `${outer.offsetWidth - inner.offsetWidth}px`; // Removing temporary elements from the DOM outer.parentNode.removeChild(outer); return scrollbarWidth; };