我想在图像上创建叠加层,但它需要有20px的插入。唯一的问题是我在覆盖层上使用宽度:100%和高度:100%,因此20px填充不起作用。我接下来尝试的是以下内容:
<div class="projectwrapper">
<div class="projectOverlayInset">
<div class="projectOverlay"></div>
</div>
<img class="projectImage" src="http://upload.wikimedia.org/wikipedia/commons/6/66/Tower_Bridge_opening_at_night_for_a_ferry.jpg" style="display:block" />
</div>
CSS:
.projectwrapper {
position: relative;
padding-bottom: 75%;
height: 0;
overflow: hidden;
}
.projectwrapper img {
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
}
img {
max-width: 100%;
margin-left: auto;
margin-right: auto;
border: 0;
}
.projectOverlay {
position: absolute;
z-index: 20;
width: 100%;
height:100%;
top:0;
left:0;
background-color: rgba(0,0,0,0.6);
box-sizing: border-box;
}
.projectOverlayInset {
box-sizing: border-box;
padding: 20px;
}
但我无法让它发挥作用。即使没有使用盒子大小的技巧。
我认为这是一个非常简单的问题哈哈。
先谢谢。
映入眼帘,
的Wouter
答案 0 :(得分:3)
您可以从叠加层更改absolute
定位到容器projectOverlayInset
,填充对您不起作用,因为叠加层已超出absolute
的流量:< / p>
.projectwrapper {
position: relative;
padding-bottom: 75%;
height: 0;
overflow: hidden;
}
.projectwrapper img {
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
}
img {
max-width: 100%;
margin-left: auto;
margin-right: auto;
border: 0;
}
.projectOverlay {
height: 100%;
background-color: rgba(255, 0, 0, 0.6);
box-sizing: border-box;
}
.projectOverlayInset {
position: absolute;
z-index: 20;
width: 100%;
height: 100%;
top: 0;
left: 0;
box-sizing: border-box;
padding: 20px;
}
<div class="projectwrapper">
<div class="projectOverlayInset">
<div class="projectOverlay"></div>
</div>
<img class="projectImage" src="http://upload.wikimedia.org/wikipedia/commons/6/66/Tower_Bridge_opening_at_night_for_a_ferry.jpg" style="display:block" />
</div>
答案 1 :(得分:1)
如果我正确理解了要求,则根本不需要inset
div。
可以使用calc
:_
.projectwrapper {
position: relative;
padding-bottom: 75%;
height: 0;
overflow: hidden;
}
.projectwrapper img {
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
}
img {
max-width: 100%;
margin-left: auto;
margin-right: auto;
border: 0;
}
.projectOverlay {
position: absolute;
z-index: 20;
width: calc(100% - 40px);
height: calc(100% - 40px);
top: 20px;
left: 20px;
background-color: rgba(255, 0, 0, 0.6);
box-sizing: border-box;
}
&#13;
<div class="projectwrapper">
<div class="projectOverlay"></div>
<img class="projectImage" src="http://upload.wikimedia.org/wikipedia/commons/6/66/Tower_Bridge_opening_at_night_for_a_ferry.jpg" style="display:block" />
</div>
&#13;