我有一个div,我应用了负边距,以便它位于图像的顶部。我还给了div一个背景颜色。发生的事情是文本(div)正如我所期望的那样出现在div之上,但该div的背景颜色是在图像后面,我不指望。 如何让div的背景颜色位于图像上方? * *:before *:after
规则来自bootstrap。我知道我可以使用绝对定位,但我深深地知道,负边缘是完全合法的。
这是我的证明:
http://jsfiddle.net/BB4d2/1/
HTML:
<ul class="profile-kids">
<li class="profile-kid">
<img class="f" src="http://lorempixel.com/g/300/300/people/" height="150" width="150">
<div class="kid-text">Girl</div>
</li>
<li class="profile-kid">
<img class="f" src="http://lorempixel.com/g/300/300/people/" height="150" width="150">
<div class="kid-text">Girl</div>
</li>
<li class="profile-kid">
<img class="m" src="http://lorempixel.com/g/300/300/people/" height="150" width="150">
<div class="kid-text">Boy</div>
</li>
</ul>
CSS:
*, *:before, *:after {
-moz-box-sizing: border-box;
box-sizing: border-box;
}
ul.profile-kids {
list-style-type: none;
padding-left: 0px;
}
li.profile-kid {
display: inline-block;
margin-bottom: 20px;
margin-right: 10px;
cursor: pointer;
}
img.f {
z-index: 0;
border: 10px solid rgb(254, 134, 164);
border-radius: 75px;
display: inline-block;
}
img.m {
border: 10px solid rgb(120, 192, 249);
border-radius: 75px;
display: inline-block;
}
div.kid-text {
background: #FFFFFF;
text-align: center;
width: 150px;
font-size: 20px;
margin-top: -100px;
}
答案 0 :(得分:3)
只需将position: relative;
分配给div.kid-text
div.kid-text {
background: #FFFFFF;
text-align: center;
width: 150px;
font-size: 20px;
margin-top: -100px;
position: relative;
z-index: 999; /* Optional */
}
此外,您可以使用z-index: 999;
安全...