.fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div::before { content: "\A0"; /* fixes #6 */ } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div::before { content: "\A0\A0"; /* changing content fixes eventual bug with widget re-rendering in Chrome */ } .fl-scrolls-viewport { /* It can be any type of positioning except static. Redefine in your CSS as needed */ position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s ease 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } /* Orientation-specific styles */ .fl-scrolls[data-orientation="horizontal"], .fl-scrolls:not([data-orientation]) { /* handling cases with no data attribute for backward compatibility */ bottom: 0; min-height: 17px; /* based on https://codepen.io/sambible/post/browser-scrollbar-widths (fixes Amphiluke/handy-scroll#3) */ } .fl-scrolls[data-orientation="horizontal"] div, .fl-scrolls:not([data-orientation]) div { height: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation="horizontal"], .fl-scrolls-hidden.fl-scrolls:not([data-orientation]) { bottom:9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation="horizontal"], .fl-scrolls-viewport .fl-scrolls:not([data-orientation]) { left:0; } .fl-scrolls[data-orientation="vertical"] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation="vertical"] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation="vertical"] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation="vertical"] { top: 0; }