多个div的一个背景图像

时间:2015-06-28 14:05:55

标签: html css image

我想使用1个背景图像(1366x768)在几个div中使用。但如果我使用:

.my_divs{
 background-image: url("image.jpg");
}

我只有每个div上图像的左上角。我想根据div位置使用图像部分。 我可以在div上使用透明度并将背景设置为body

它会起作用,但在我的情况下,我已经使用background-image body和另一张图像。

body{
 background-image: url("another_image.jpg");
}

有没有办法可以“透视”body并显示html背景图片?还是另一个css技巧?

编辑:添加简单示例

<style>
.mydivs{
    padding:30px;
    margin:30px;
    background-image: url("2.jpg");
}
body{
    background-image: url("1.jpg");
}
#container{
}
</style>
<body>
    <div id='container'>
        <div class='mydivs'>1</div>
        <div class='mydivs'>2</div>
        <div class='mydivs'>3</div>
    </div> 
</body>

5 个答案:

答案 0 :(得分:4)

我认为background-attachment属性可能适合你。

请参阅:http://www.w3.org/TR/CSS21/colors.html#background-properties

如果您使用background-attachment: fixed,则会修复背景图片 尊重视口。因此,如果将其应用于多个元素,就好像通过&#34;镜头&#34;在页面上。

如果您的页面有垂直滚动条,那么当内容移动时背景图像将保持固定(这可能不适合您的设计)。

&#13;
&#13;
.bgdeco {
  width: 700px;
  height: 100px;
  margin: 30px;
  border: 1px solid yellow;
  background-image: url(http://placekitten.com/2000/700);
  background-attachment: fixed;
  background-position: top center;
}
&#13;
<div class="bgdeco"></div>
<div class="bgdeco"></div>
<div class="bgdeco"></div>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

HTML

<div id='container'>
<div id='divHead' class='mydivs'>&nbsp;</div>
<div id='divTorso' class='mydivs'>&nbsp;</div>
<div id='divLegs' class='mydivs'>&nbsp;</div>
</div>

CSS

#container {
background-image:url('myPic.jpg');
}
.mydivs {
background-color:transparent;
}

答案 2 :(得分:0)

您可以使用background-position: xpos ypos;调整图像的位置。

答案 3 :(得分:0)

是的,您可以为包括正文在内的任何HTML标记设置透明背景! 您可以通过多种方式实现目标..

  1. 将背景图片添加到HTML标记并将background: none;设置为 正文和所有主要标签
  2. 您可以将父div添加到要设置单个div的所有div 图像背景,然后将background-image添加到父div和 设置所有chind div&#39; s background: none;
  3. 查看以下示例

    &#13;
    &#13;
    html, body {
      padding: 0px;
      margin: 0px;
      }
    body {
      background: red;
      }
    
    #parent {
      background: url('http://thumb7.shutterstock.com/display_pic_with_logo/996335/251280085/stock-vector-abstract-polygonal-space-low-poly-dark-background-with-connecting-dots-and-lines-connection-251280085.jpg');
      background-size: cover;
      margin: 10px;
      padding: 10px;
      display: block;
      float: left;
      }
    .child {
      display: block;
      float: left;
      width: 100px;
      height: 100px;
      font-size: 40px;
      color: #fff;
      border: 2px solid #ccc;
      margin: 5px;
      }
    &#13;
    <div id="parent">
    	<div class="child">1</div>
    	<div class="child">2</div>
    	<div class="child">3</div>
    	<div class="child">4</div>
    	<div class="child">5</div>
    	<div class="child">6</div>
    	<div class="child">7</div>
    </div>
    &#13;
    &#13;
    &#13;

答案 4 :(得分:0)

如果你知道你将跨越多少div,你可以使用background-position进行一些简单的数学运算。看一下这个fiddle