我的问题如下:
删除填充并在图像框之间添加空格 边缘响应性不再起作用
问题:如何在保留的同时将彩色叠加层添加到我的图像框中
响应性和图像之间的差距。如您所见:图像
更改屏幕尺寸后,框不适应col-xs-6。他们留在
4栏。
@import url('https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css');
.produkt-img {
padding-bottom: 133.33333%;
background-size: cover;
}
.produkt-1 {
background-image: url('http://placehold.it/600x800/fc0');
}
.produkt-2 {
background-image: url('http://placehold.it/600x800/fc0');
}
.produkt-3 {
background-image: url('http://placehold.it/600x800/fc0');
}
.produkt-4 {
background-image: url('http://placehold.it/600x800/fc0');
}
.produkt-box-overlay-text {
width: 100%;
text-align: center;
position: absolute;
top: 80%;
left: 50%;
transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
}
.produkt-overlay:before{
position: absolute;
content:" ";
top:0;
left:0;
width:100%;
height:100%;
display: none;
z-index:0;
}
.produkt-overlay:hover:before{
display: block;
}
.overlay-farbe:before {
/* grauer overlay background-color: rgba(50, 50, 50, 0.05)*/
background-color: rgba(199, 87, 36, 0.1);
}
.col-sm-3, produkt-width {
padding: 0px;
margin: 0.5%;
width: 23.75%;
}
.col-sm-3 extra-margin {
margin-left:1%;
}
<div class="container-fluid">
<div class="row">
<div class="col-sm-3 col-xs-6 produkt-width produkt-overlay overlay-farbe">
<div class="produkt-img produkt-1"></div>
</div>
<div class="col-sm-3 col-xs-6 produkt-width produkt-overlay overlay-farbe">
<div class="produkt-img produkt-2"></div>
</div>
<div class="col-sm-3 col-xs-6 produkt-width produkt-overlay overlay-farbe">
<div class="produkt-img produkt-3"></div>
</div>
<div class="col-sm-3 col-xs-6 produkt-width produkt-overlay overlay-farbe">
<div class="produkt-img produkt-4"></div>
</div>
</div>
</div>
答案 0 :(得分:1)
由于您使用的是背景图片而不是<img>
,因此您可以使用背景图片元素上的伪元素覆盖。将以下类.produkt-overlay
和.overlay-farbe
从列元素移动到背景元素。如果你想简化一些事情,你也可以将这些类中的一些属性合并到.produkt-img
类中。
注意:我注意到您尝试更改Bootstrap列的宽度并用边距替换填充。进行这些更改时要小心。 Bootstrap做了他们所做的事情是有原因的,并且打算以某种方式工作。不知道Bootstrap的一些方法和原因,在修改他们所做的事情时很容易误入歧途。
@import url('https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css');
.produkt-img {
position: relative;
padding-bottom: 133.33333%;
background-size: cover;
}
.produkt-1 {
background-image: url('http://placehold.it/600x800/fc0');
}
.produkt-2 {
background-image: url('http://placehold.it/600x800/fc0');
}
.produkt-3 {
background-image: url('http://placehold.it/600x800/fc0');
}
.produkt-4 {
background-image: url('http://placehold.it/600x800/fc0');
}
.produkt-overlay:before {
position: absolute;
content: " ";
top: 0;
left: 0;
width: 100%;
height: 100%;
display: none;
z-index: 0;
}
.produkt-overlay:hover:before {
display: block;
}
.overlay-farbe:before {
background-color: rgba(199, 87, 36, 0.1);
}
<div class="container-fluid">
<div class="row">
<div class="col-sm-3 col-xs-6">
<div class="produkt-img produkt-overlay overlay-farbe produkt-1"></div>
</div>
<div class="col-sm-3 col-xs-6">
<div class="produkt-img produkt-overlay overlay-farbe produkt-2"></div>
</div>
<div class="col-sm-3 col-xs-6">
<div class="produkt-img produkt-overlay overlay-farbe produkt-3"></div>
</div>
<div class="col-sm-3 col-xs-6">
<div class="produkt-img produkt-overlay overlay-farbe produkt-4"></div>
</div>
</div>
</div>
答案 1 :(得分:0)
由于css无效,响应性被打破:
.col-sm-3, produkt-width
.col-sm-3 extra-margin
这里是对叠加层的修正css(仅附加了更改的行):
.produkt-overlay:before{
left: 15px; /*gutter width*/
width: calc(100% - 30px); /*gutter width multiplied by 2*/
}