通过css在悬停上显示渐变背景上的图像

时间:2014-06-27 09:54:05

标签: html css image background gradient

我有这样的背景:

.background:hover {
    background: #F4F4F4 url(../images/arrow_down_over.gif) no-repeat right;
}

我想改成像这样的渐变:

    .background:hover{
        background: -moz-linear-gradient(top,  #f4f4f4 0%, #eeeeee 100%); /* FF3.6+ */
        background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f4f4f4), color-stop(100%,#eeeeee)); /* Chrome,Safari4+ */
        background: -webkit-linear-gradient(top,  #f4f4f4 0%,#eeeeee 100%); /* Chrome10+,Safari5.1+ */
        background: -o-linear-gradient(top,  #f4f4f4 0%,#eeeeee 100%); /* Opera 11.10+ */
        background: -ms-linear-gradient(top,  #f4f4f4 0%,#eeeeee 100%); /* IE10+ */
        background: linear-gradient(to bottom,  #f4f4f4 0%,#eeeeee 100%); /* W3C */
        filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f4f4f4', endColorstr='#eeeeee',GradientType=0 );
} /* IE6-9 */

但我想保留箭头图像。我无法找到办法。我确实尝试过这样的事情:

background: -moz-linear-gradient(top,  #f4f4f4 0%, #eeeeee 100%) url(../images/arrow_down_over.gif) no-repeat right; /* FF3.6+ */

或在渐变属性之后添加它但没有任何成功。

 background: url(../images/arrow_down_over.gif) no-repeat right;

我无法添加另一个类,所以我必须处理这个C​​SS。知道怎么做吗?

1 个答案:

答案 0 :(得分:2)

您可以尝试:

background: url(../images/arrow_down_over.gif), linear-gradient(...);

多个背景必须以逗号分隔而不是以空格分隔,并且它们从顶部到底部奇怪地堆叠。

另请注意,并非所有浏览器都支持此功能。

有关详细信息,请参阅http://css-tricks.com/stacking-order-of-multiple-backgrounds/https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Using_multiple_backgrounds