html - 通过 css 在悬停时在渐变背景上显示图像

标签 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;

我不能添加另一个类,所以我必须处理这个 CSS。知道怎么做吗?

最佳答案

你可以试试:

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详情

关于html - 通过 css 在悬停时在渐变背景上显示图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24448961/

相关文章:

javascript - 保持ul(无序列表)在固定位置

javascript - CSS 将百分比转换为像素

java - css 找到图像但无法将它们加载到预览中

java - 如何在Java中从Web上显示图像?

html - 无法删除表格单元格中的空格

html - 如何在 HTML/CSS 中设置百分比高度值

javascript - jQuery 图像轮播不滑动

javascript - 单击搜索图标时如何禁用背景?

css - 为什么我的图像没有正确排列?

image - Kubernetes 如何从外部存储库拉取镜像?图像存储在哪里?