我很难理解为什么我无法让background-cover
属性在我的div
内工作?
.box {
height: 240px;
width: 31.1111%;
margin: 0px;
float: left;
box-sizing: border-box;
border: 10px solid #fff;
margin: 1.11111%;
-webkit-box-shadow: 0px 0px 5px 0px rgba(50, 50, 50, 0.15);
-moz-box-shadow: 0px 0px 5px 0px rgba(50, 50, 50, 0.15);
box-shadow: 0px 0px 5px 0px rgba(50, 50, 50, 0.15);
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
}

<div class="box" style="background:url('http://www.addictedtoibiza.com/wp-content/uploads/2012/12/example.png');">
<div class="overlay">
<div class="buttonContainer">
<button>preview</button>
</div>
</div>
</div>
&#13;
答案 0 :(得分:3)
内联样式有higher specificity。因此background
会覆盖属性shorthand background-size
。
将background
更改为background-image
:
<div class="box" style="background-image:url('http://www.addictedtoibiza.com/wp-content/uploads/2012/12/example.png');">
<div class="overlay">
<div class="buttonContainer">
<button>preview</button>
</div>
</div>
</div>
在查看示例后,您似乎对使用值contain
而不是cover
更感兴趣。 (example)
答案 1 :(得分:1)
background
是一般属性,因此包括:backgound-image
,background-size
,background-color
,background-position
等。
所以你应该在这种情况下使用 background-image
,因为background
会覆盖你上面的css定义的属性。
此致
答案 2 :(得分:1)
如果您将background
更改为background-image
,请参阅此处的工作演示:http://jsfiddle.net/3t7ftpky/
为什么这样做?
background
是一个速记属性,通过将其内联,它会覆盖样式表中的其他background-size
属性。您可以找到有关css background property here的更多信息: