如果我的div
包含图片和文字,是否可以使用此div
的内容作为背景,比方说section
?
例如,类似的东西:
HTML:
<section id="sec1">
<div id="bg-div">
<em>This is a background</em>
<img src="image1">
<img src="image2">
</div>
</section>
和CSS:
#sec1 {
background: src(#bg-div);
}
这样,我可以将此div
内容作为section
的背景。
答案 0 :(得分:23)
这里我用2个div做了一个例子:
要将一个div包装在另一个div上(制作叠加层),您必须将它们放入相同的元素中,在本例中它是#wrapper div。放置位置:包装的相对宽度/高度; position:relative也应该为你的内容div和position设置:absolute;顶部:0;左:0;为你的背景。
最后一步是设置z-index。在z-index中包含较大值的元素将在具有较小z-index值的元素上呈现。换句话说,您应该将背景div的z-index设置为小于内容div。
最终HTML:
<div id="wrapper">
<div class="content">
<p>This text is in frontend</p>
</div>
<div class="background">
<p>Background text</p>
<img src="http://nuclearpixel.com/content/icons/2010-02-09_stellar_icons_from_space_from_2005/earth_128.png" alt="background" />
<img src="http://upload.wikimedia.org/wikipedia/en/0/0c/IrfanView_Logo.png" alt="background 2" />
</div>
</div>
最终CSS:
#wrapper{
position: relative;
width: 200px;
height: 200px;
}
.content{
color: #FFFFFF;
font-size: 26px;
font-weight: bold;
text-shadow: -1px -1px 1px #000, 1px 1px 1px #000;
position: relative;
z-index: 100;
}
.background{
color: #999999;
position: absolute;
top: 0;
left: 0;
z-index: -100;
}
查看实时示例:
答案 1 :(得分:2)
使用CSS element()
功能。见https://developer.mozilla.org/en-US/docs/Web/CSS/element。目前仅在-moz-element
前缀下的FF中可用。例如:
<div style="width:400px; height:100px; background:-moz-element(#backgroundElt);">
另一种方法是使用SVG的foreignObject
标记,克隆要用作背景的元素的HTML。