CSS背景图片封面

时间:2015-02-07 18:12:41

标签: html css css3

我很难理解为什么我无法让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;
&#13;
&#13;

3 个答案:

答案 0 :(得分:3)

内联样式有higher specificity。因此background会覆盖属性shorthand background-size

background更改为background-image

Updated Example

<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-imagebackground-sizebackground-colorbackground-position等。

所以你应该在这种情况下使用 background-image,因为background会覆盖你上面的css定义的属性。

此致

答案 2 :(得分:1)

如果您将background更改为background-image,请参阅此处的工作演示:http://jsfiddle.net/3t7ftpky/

为什么这样做?

background是一个速记属性,通过将其内联,它会覆盖样式表中的其他background-size属性。您可以找到有关css background property here的更多信息: