【发布时间】:2011-05-16 23:17:48
【问题描述】:
所以我想要一个渐变来填充 100% 的网页背景。对于不能处理的浏览器,纯色就可以了。
这是我当前的 css:
html {
height: 100%;
}
body {
height: 100%;
margin: 0;
padding: 0;
background-repeat: no-repeat;
background: #afb1b4; /* Old browsers */
background: -moz-linear-gradient(top, #afb1b4 0%, #696a6d 100%) no-repeat; /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#afb1b4), color-stop(100%,#696a6d)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, #afb1b4 0%,#696a6d 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, #afb1b4 0%,#696a6d 100%); /* Opera11.10+ */
background: -ms-linear-gradient(top, #afb1b4 0%,#696a6d 100%); /* IE10+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#AFB1B4', endColorstr='#696A6D',GradientType=0 ); /* IE6-9 */
background: linear-gradient(top, #afb1b4 0%,#696a6d 100%); /* W3C */
}
虽然页面内容很少,但似乎可以解决问题,但是当我用更多内容、导航等填充页面时,底部现在有一些白色。也许100px左右。我做错了吗?我需要在某处抵消一些填充吗?
【问题讨论】:
-
看起来你从这里得到了这个:colorzilla.com/gradient-editor
-
@Jason,我做到了,它非常彻底地跨浏览器,我喜欢。但是,我还没有测试非 FF 浏览器。这一点很快就会到来。
-
我经常使用它。它是跨浏览器的,而且效果很好。
-
如果您不关心向后兼容性(回退到纯色),为什么不摆脱 6 行代码并通过
background-image: url()使用 SVG 渐变?它适用于 IE9+、FF4、Webkit 和 Opera 10。 -
因为额外的几行代码让我获得了很多旧浏览器。我不会担心古老的浏览器,但如果我可以让它在大多数浏览器中运行,那绝对是我的偏好。