假设有一个div,说" parent-div "。 父div具有背景颜色。如果孩子div," child-div ",需要设置透明背景,以便使用祖父母div的背景图像设置,并使用类name" wrapper "?
我知道子div可以从父div继承css属性,但是如何将背景设置为透明,使得整个图片看起来像parent-div中有一个洞?
.wrapper{
background-image: url('http://media.istockphoto.com/photos/medium-golden-brown-wood-texture-background-picture-id513694258?k=6&m=513694258&s=170667a&w=0&h=xETakP7VjpAtRj9e6rJRYNqw_AJLZ9ovLlC4ebR5BOQ=');
}
.parent-div{
width: 100px;
height: 100px;
background: #ff0000;
padding: 10px;
margin: auto;
}
.child-div{
width: 60%;
height: 60%;
margin: auto;
background: transparent;
border: 1px solid;
}

<div class="wrapper">
<div class="parent-div">
<div class="child-div">
</div>
</div>
</div>
&#13;
答案 0 :(得分:4)
请勿在{{1}}上申请background
。
而是在.parent-div
上使用较大的box-shadow
值并在.child-div
上添加overflow: hidden
以隐藏不需要的阴影效果。
以下css将完成工作:
.parent-div
.parent-div {
overflow: hidden;
}
.child-div {
box-shadow: 0 0 0 500px #f00;
}
.wrapper {
background-image: url('http://media.istockphoto.com/photos/medium-golden-brown-wood-texture-background-picture-id513694258?k=6&m=513694258&s=170667a&w=0&h=xETakP7VjpAtRj9e6rJRYNqw_AJLZ9ovLlC4ebR5BOQ=');
}
.parent-div {
overflow: hidden;
width: 100px;
height: 100px;
padding: 10px;
margin: auto;
}
.child-div {
box-shadow: 0 0 0 500px #f00;
border: 1px solid;
width: 60%;
height: 60%;
margin: auto;
}
答案 1 :(得分:0)
基于:
.parent{
width:300px;
height:300px;
position:relative;
border:1px solid red;
}
.parent:after{
content:'';
background:url('http://www.dummyimage.com/300x300/000/fff&text=parent+image');
width:300px;
height:300px;
position:absolute;
top:0;
left:0;
opacity:0.5;
}
.child{
background:yellow;
position:relative;
z-index:1;
}