我想把我的形象放在一个空隙中,但我失败了,这是jsfiddle。如您所见,右侧图像和叠加层未按预期放置。我希望他们在上面的差距中正确。
HTML代码:
<div class = "leftpart fadeInBlock">
<a href="http://www.google.com">
<img src="images/test.jpg"/>
<div class="flex-caption hvr-fade">Adventurer Lemon</div>
</a>
<div class = "sleft1">
<a href="http://www.google.com">
<img src="images/test.jpg">
<div class="flex-caption hvr-fade">Adventurer Lemon</div>
</a>
<div class = "sleft2">
<a href="http://www.google.com">
<img src="images/test.jpg">
<div class="flex-caption hvr-fade">Adventurer Lemon</div>
</a>
</div>
</div>
</div>
答案 0 :(得分:0)
.leftpart {
width: 43%;
margin-top: 0.7%;
float: right;
}
.leftpart a img {
width: 100%;
height: 130px;
display:block;
}
.sleft1{
float: left;
width: 45%;
}
.sleft2{
float: right;
width: 45%;
}
.leftpart .sleft1 a img, .leftpart .sleft2 a img {
display:block;
background-color:blue;
margin-top:4.5%;
}
.flex-caption {
box-sizing: border-box;
padding: 2%;
top: 0px;
left: 0;
bottom: 0;
background: rgba(0, 0, 0, .5);
color: #fff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, .3);
position: relative;
line-height: 18px;
}
&#13;
<div class = "leftpart fadeInBlock">
<a href="http://www.google.com">
<img src="images/test.jpg"/>
<div class="flex-caption hvr-fade">Adventurer Lemon</div>
</a>
<div class = "sleft2">
<a href="http://www.google.com">
<img src="images/test.jpg">
<div class="flex-caption hvr-fade">Adventurer Lemon</div>
</a>
</div>
<div class = "sleft1">
<a href="http://www.google.com">
<img src="images/test.jpg">
<div class="flex-caption hvr-fade">Adventurer Lemon</div>
</a>
</div>
</div>
&#13;
答案 1 :(得分:0)
请参阅代码段
.leftpart {
width: 43%;
margin-top: 0.7%;
float: right;
}
.sleft1,.sleft2 {
float:left;
width:50%;
}
.leftpart a img {
width: 100%;
height: 130px;
display:block;
}
.leftpart .sleft1 a img {
display:block;
background-color:blue;
margin-top:4.5%;
}
.sleft2 a img {
display:block;
margin-top:4.5%;
background-color:red
}
.flex-caption {
width: 96%;
padding: 2%;
top: 0px;
left: 0;
bottom: 0;
background: rgba(0, 0, 0, .5);
color: #fff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, .3);
position: relative;
line-height: 18px;
box-sizing: border-box;
}
.flex-caption {
width: 100%;
padding: 2%;
top: 0px;
left: 0;
bottom: 0;
background: rgba(0, 0, 0, .5);
color: #fff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, .3);
position: relative;
line-height: 18px;
}
<div class = "leftpart fadeInBlock">
<a href="http://www.google.com">
<img src="images/test.jpg"/>
<div class="flex-caption hvr-fade">Adventurer Lemon</div>
</a>
<div class = "sleft1">
<a href="http://www.google.com">
<img src="images/test.jpg">
<div class="flex-caption hvr-fade">Adventurer Lemon</div>
</a>
</div>
<div class = "sleft2">
<a href="http://www.google.com">
<img src="images/test.jpg">
<div class="flex-caption hvr-fade">Adventurer Lemon</div>
</a>
</div>
</div>
</div>
您的html
和css
HTML
如果您希望彼此相邻2 divs
到float
,则需要将它们作为兄弟姐妹放在html
中。您的.sleft2
是.sleft1
的孩子。您忘了关闭</div>
.sleft1
CSS
无需为.flex-caption
div编写2种不同但相同的样式。你只能为两者写一种风格(如果你想要它们一样)
重要您需要float
两个容器.sleft1
,.sleft2
而不是其中的元素!所以从其他元素中删除所有floats
并添加
.sleft1,.sleft2 {
float:left;
width:50%;
}
在box-sizing:border-box
上添加.flex-caption
,因为如果不这样做,则使用padding:2%
.flex-caption
的宽度超过100%
+一些小的CSS更改
让我知道是否有帮助