使用 CSS 在列表中使背景图像高于背景颜色

Posted

技术标签:

【中文标题】使用 CSS 在列表中使背景图像高于背景颜色【英文标题】:Use CSS to make background-image above background-color in a list 【发布时间】:2012-01-19 11:43:14 【问题描述】:

这是代码

<ul>
    <li class="test">
         <a href="#">
            <h2>Blah</h2>
            <p>Blah Blah Blah</p>
         </a>
    </li>
</ul>

基本上,我的列表已经有了一些样式,例如,我为它设置了背景色。

现在在“测试”类中,我还设置了背景图像。

我的问题是我想让背景图像保持在背景颜色之上,但我不知道如何实现这一点。我尝试使用 z-index,但我认为它不适用于背景图像。

请看图

编辑:这是 CSS 代码

例如,这是我列表的样式

#sidebar ul li  
    background:#ccf;

这是类测试的样式

.test
    background-image: url('img/big_tick.png');
    background-repeat:no-repeat;
    background-position: bottom right;
    -moz-background-size: 30%;
    -webkit-background-size: 30%;
    background-size: 30%;    
    margin-right: 30px;

【问题讨论】:

这是一个 jsfiddle 与他的设置:jsfiddle.net/LHmfT 【参考方案1】:

尝试:为 .test 类添加特异性:#sidebar ul li.test

或者,如果可能的话,更好的是,将 background-color 添加到 .test 类中,并完全摆脱元素选择器。

除非您绝对需要,否则我会避免使用 !important。从长远来看,使用它会让编辑你的 CSS 变得很痛苦。我建议不要使用 !important,而是学习特异性:http://reference.sitepoint.com/css/inheritancecascade

【讨论】:

这只是改变了背景图片的位置,但不会让它停留在背景颜色之上 尝试:为测试类添加特异性:#sidebar ul li.test 或者,更好的是,如果可能的话,将背景色添加到测试类,并让元素选择器完全变红。 【参考方案2】:

!important 属性添加到您的background-image。像这样:

.test a
background-image: url('img/big_tick.png') !important;
background-repeat:no-repeat;
background-position: bottom right;
-moz-background-size: 30%;
-webkit-background-size: 30%;
background-size: 30%;    
margin-right: 30px;

我有一个例子小提琴here

编辑:我将类更改为 .test a 以反映实际的样式方案

【讨论】:

我试图把 !important 放在背景色后面。 @alpa 我试图将背景更改为背景颜色,但它仍然不起作用。对于列表,我遵循了 Nettuts 的这个教程 [link]net.tutsplus.com/tutorials/html-css-techniques/… 您可以查看链接以了解有关列表 CSS 的更多信息谢谢您的帮助! 你用的是什么浏览器? !important 标志在此处的 Chrome 和 IE 中都有效。如果您为列表发布更多样式,那可能会有所帮助。 嗨,我在 FF 8.0 和 Chrome 16 上对此进行了测试,但我仍然面临这个问题。列表的样式在链接net.tutsplus.com/tutorials/html-css-techniques/… 中。谢谢你帮助我:) 我现在明白了!问题来自于背景被设置在 a 中的事实。这是一个有效的小提琴:jsfiddle.net/LHmfT/11 我已经更新了我的答案以反映修复。让我知道它是如何工作的。 :) 非常感谢!它现在完美无缺。我太笨了,为不同的元素设置背景T__T,再次感谢你!

以上是关于使用 CSS 在列表中使背景图像高于背景颜色的主要内容,如果未能解决你的问题,请参考以下文章

如何在Android Studio中使图像中的特定颜色透明?

css基础 背景Text文本格式Font字体链接列表Table表格

背景颜色和背景图像 CSS3 之间的过渡

CSS:背景颜色的背景图像

在背景图像动画之后创建背景颜色 CSS3 动画

css如何用一类来改变背景颜色?