fixBackgroundSizeCover = function(event) {
var bgImageWidth = 3639,
bgImageHeight = 2255,
bgImageRatio = bgImageWidth / bgImageHeight,
windowSizeRatio = window.innerWidth / window.innerHeight;
if (bgImageRatio > windowSizeRatio) {
document.body.style.backgroundSize = 'auto 100vh';
} else {
document.body.style.backgroundSize = '100vw auto';
}
};
fixBackgroundSizeCover();
window.addEventListener('resize', fixBackgroundSizeCover);
document.getElementById('toggle-body-vertical-scrollbar-btn').addEventListener('click', function(event) {
if(document.body.classList.contains('force-scrollbar')) {
document.body.classList.remove('force-scrollbar');
} else {
document.body.classList.add('force-scrollbar');
}
});
body {
background-image: url("https://unsplash.com/photos/Fr9WHTRMY5A/download");
background-attachment: fixed;
background-repeat: no-repeat;
background-size: cover;
}
body.force-scrollbar {
min-height: 2000px;
}
#toggle-body-vertical-scrollbar-btn {
position: fixed;
top: 10px;
left: 10px;
padding: 10px;
background: rgba(255,255,255,.7);
border: none;
border-radius: 4px;
box-shadow: 0 2px 2px rgba(0,0,0,.2);
color: #222;
font-family: sans-serif;
cursor: pointer;
}
#toggle-body-vertical-scrollbar-btn:hover {
background: rgba(245,245,245,.85);
box-shadow: 0 1px 1px rgba(0,0,0,.2);
}
<button id="toggle-body-vertical-scrollbar-btn">
Toggle body vertical scrollbar
</button>
overflow: scroll;
并始终显示滚动条,怎么样? - Patrick