我有如下因素HTML:显示背景图片在
<a href="#" class="home-block" style="background-color:#464646; background-image:url('wardrobe.jpg')">Wardrobe</a>
<a href="#" class="home-block" style="background-color:#6a0d1f; background-image:url('wine.jpg')">Wine</a>
<a href="#" class="home-block" style="background-color:#291407; background-image:url('coffee.jpg')">Coffee</a>
这是相关的CSS:
.home-block {
background-color: #c2b89c; display: block; height: 180px; line-height:180px;
text-align: center; font-size: 70px; color:#e2e2e2;
text-shadow: 2px 2px 0 #444; margin-bottom: 20px; background-size: cover;
background-position: center center; box-shadow: 1px 1px 4px #111;
}
我的结果现在看起来是这样的:
这是确定的,但我真正想要的是块有一个坚实的颜色,并且只显示我法师在悬停。像这样:
请记住,我使用的是响应式设计,这样的块具有不同的屏幕尺寸不同的尺寸和长宽比。这就是为什么我使用background-size: cover
。这也适用于CMS系统,所以我希望图像和颜色可以在HTML中内联设置,因此它可以很容易编辑,并且可以添加更多的块。
所以我基本上需要无绝对定位的元素一个干净的解决方案(因为他们往往打破,如果没有固定的宽度),以实现这一目标。
我曾尝试是这样的:
.home-block { background: none; }
.home-block:hover { background: inherit }
,但没有成功。我正要用一些jQuery来解决所有这些问题,但我很快就想检查是否没有纯CSS的方法来实现这一点。
您正在寻找这样的事情? http://jsfiddle.net/ExplosionPIlls/R7anj/ – 2013-03-17 15:24:05
是的,这是所需的结果。但正如我所提到的那样,对于我而言,背景设置在home-block中是非常重要的,所以每次我的客户想要在主页上添加一个新块时,样式表都不需要更新。 – 2013-03-17 15:27:34
更新样式表和html内联之间有什么区别? – 2013-03-17 15:29:21