CSS正文中的渐变,但不是具有回退功能的全长

CSS正文中的渐变,但不是具有回退功能的全长,css,Css,我知道你可以在body标签中为特定高度设置渐变 所以我有我的身体背景,有一个300像素高的蓝色渐变,然后继续用纯白色 但我想为旧浏览器的渐变设置一个后备方案,如何确保这些300px在不支持css3渐变的旧浏览器中会有一个纯蓝色,然后是白色?如果您在页面中包含css3样式,您将能够将css3样式定向到支持它们的浏览器,您的body标记将根据浏览器是否支持css3渐变获得一个类,并且您可以适当地设置样式 .cssgradients { background: /* CSS Gradiant */

我知道你可以在body标签中为特定高度设置渐变

所以我有我的身体背景,有一个300像素高的蓝色渐变,然后继续用纯白色

但我想为旧浏览器的渐变设置一个后备方案,如何确保这些300px在不支持css3渐变的旧浏览器中会有一个纯蓝色,然后是白色?

如果您在页面中包含css3样式,您将能够将css3样式定向到支持它们的浏览器,您的body标记将根据浏览器是否支持css3渐变获得一个类,并且您可以适当地设置样式

.cssgradients 
{
background: /* CSS Gradiant */
}

.no-cssgradients
{
background: /* link to 1px by 300px blue background */ top left repeat-x;
}

首先为较旧的浏览器设置样式,然后为支持css3的浏览器添加样式:

#div{
    background: blue;
    background: linear-gradient(top, #1e5799 0%,#2989d8 50%,#207cca 51%,#7db9e8 100%);
}
如果不支持渐变,它将返回蓝色

编辑:有点误读了你的问题

我认为最简单的解决方案是将白色添加到body标记中,然后将蓝色平原/渐变添加到嵌套在body标记中的div中

希望这有帮助

试试这个

.cssgradients 
{
background: /* CSS Gradiant */
}

.no-cssgradients
{
background: /* link 1px by 300px blue background */ top left repeat-x;
 /* more */
}

Laurens的答案是可行的,但是如果您不想引入没有语义意义的额外元素,可以将html背景设置为白色,并为主体提供300像素的高度

html {
   background: white}
body {
   margin:0;
   padding:8px;
   max-height:300px;
   overflow:visible;
   background:blue;
   background:linear-gradient(top, #1e5799 0%,#2989d8 50%,#207cca 51%,#7db9e8 100%);
}

你能包括你目前拥有的CSS吗?