有一个差距,我希望我的形象去那里

时间:2016-08-04 10:15:05

标签: html css image position overlay

我想把我的形象放在一个空隙中,但我失败了,这是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>

2 个答案:

答案 0 :(得分:0)

&#13;
&#13;
.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;
&#13;
&#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>

您的htmlcss

都遇到了很多问题

HTML

如果您希望彼此相邻2 divsfloat,则需要将它们作为兄弟姐妹放在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更改

让我知道是否有帮助