滚动到视口上方/下方时的背景颜色?

Dom*_*nic 8 css momentum

在 Mac 上的浏览​​器中,可以向上滚动超过 body 元素的顶部,并向下滚动到 body 元素的底部以下。在每种情况下,内容都会弹回来,但有一会儿(由于滚动的动力),您可以在页面顶部/底部内容的上方/下方看到一些正文的背景颜色。

\n\n

该元素的颜色由 Chrome/Safari/FF 中主体的背景颜色值设置。

\n\n

是否可以在视口上方和下方设置不同的颜色?\n例如,上面白色,下面黑色。

\n\n

我相当确定这超出了我们的控制 \xe2\x80\x94 因为从技术上讲,这个区域位于视口 \xe2\x80\x94 之外,但我很想听听是否有人可以为我提供帮助。

\n

Kor*_*nel 3

有点。您可以使用渐变背景。从技术上讲,它仍然是一个背景,但它的不同部分将在顶部和底部可见。

背景渐变的渲染将会令人惊讶,因为浏览器为向后兼容而保留的背景<body>之间存在混淆。<html>您需要给出<html>元素heightmin-height,否则背景渐变将使用 的<body>高度!

html {
    background: linear-gradient(red, blue); // use color stops for hard edge
    min-height: 100%;
}
Run Code Online (Sandbox Code Playgroud)

如果您想用页面内容的另一种背景颜色覆盖它,则需要克服height:auto边距崩溃的烦恼:

html {
    background: linear-gradient(red, blue);
    height: 100%;
}

body {
    background: green;
    height: 100%;
    margin: 0; padding: 1em;
}
Run Code Online (Sandbox Code Playgroud)