我想让一个cssbackground-image
成为一个从上到下的渐变,然后是一个颜色。例如,如果我想要顶部为 #FF0000 的渐变,距离顶部 400 像素的 #00FF00 ,然后立即切换到 #EFEFEF,该怎么做?background-image-repeat
我可以使用某种形式吗?
问问题
94 次
3 回答
4
实际属性称为background-repeat
。您需要结合使用它background-size
来将渐变限制为 400 像素高并防止其平铺:
html {
background-color: #efefef;
background-image: linear-gradient(#ff0000, #00ff00);
background-repeat: no-repeat;
background-size: 100% 400px;
}
当然,这假设您使用的是 CSS3 渐变,在这种情况下,浏览器支持不是问题,因为所有实现 CSS3 渐变的浏览器也都实现了background-size
. 但是,如果您使用图像文件作为渐变并且需要支持旧版浏览器,则必须创建一个额外的元素或具有适当高度和位置的伪元素,以仅包含渐变。
于 2012-09-09T20:44:18.337 回答
3
是的,使用background-color
和渐变,设置正确的background-repeat
& background-size
。
background: #EFEFEF linear-gradient(#FF0000, #00FF00) repeat-x;
background-size: 1px 400px;
于 2012-09-09T20:43:59.977 回答
0
为您的渐变添加第三个停止也是一种选择(如果有支持渐变但不支持背景大小的浏览器)。将第 2 和第 3 个停靠点放置在 400 像素处,将第 3 个渐变的颜色作为您想要的背景颜色。
于 2012-09-10T02:37:40.470 回答