0

我一直在尝试从上到下linear-gradient作为我正在制作的页面的背景。唯一的问题是页面上有一个页脚,我想在 div 结束之前结束渐变。

这是否可能仅在 CSS 中实现,或者是否应该更改 HTML 以创建一个在页脚开始之前结束的 div?或者jQuery应该计算页脚开始的百分比?

这些页面的长度都不同,因此以百分比结尾并不适用于所有页面。可以在 div 结束前 500px 结束线性渐变吗?

我的代码在这里,包装器 div 扩展到页面的整个宽度。

div#wrapper {
background: #ffdf96; /* Old browsers */
background: -moz-linear-gradient(top, #ffdf96 0%, #a67f25 50%, #000 60%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffdf96), color-stop(50%,#a67f25), color-stop(60%,#000)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, #ffdf96 0%,#a67f25 50%,#000 60%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, #ffdf96 0%,#a67f25 50%,#000 60%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, #ffdf96 0%,#a67f25 50%,#000 60%); /* IE10+ */
background: linear-gradient(to bottom, #ffdf96 0%,#a67f25 50%,#000 60%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffdf96', endColorstr='#a67f25',GradientType=0 ); /* IE6-9 */
}

上下文页面在这里:http ://bit.ly/1ar6KuR

非常感谢您提供的任何帮助:-)

4

2 回答 2

1

为什么不反转渐变颜色停止并从顶部反转方向 -> 底部到底部 -> 顶部,并使第一个颜色停止在所需的像素值处。

代码笔示例

还是我想多了?

于 2013-09-26T11:32:24.260 回答
0

也许最好的方法是添加 :before 伪类并对其应用渐变,例如:

#wrapper:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 60%;
    content: "";
    ... and background here ...
 }

或 #wrapper 中的 DIV 作为第一个具有相同 CSS 设置的子项。

于 2013-09-26T11:36:06.067 回答