Bootstrap 3:图像上的文本叠加

时间:2013-09-05 08:35:48

标签: html css css3 twitter-bootstrap-3

我正在使用bootstrap 3缩略图,如下所示:

<div class="thumbnail">
    <img src="/img/robot.jpg" alt="..." />
    <div class="caption post-content">
        <h3>Robots!</h3>
        <p>Lorem ipsum dolor sit amet</p> 
    </div>
</div>

我希望caption覆盖在图片上但是在Mashable.com上的方式

我试过以下但没有运气:((

.post-content {
    background: none repeat scroll 0 0 #FFFFFF;
    opacity: 0.5;
    margin: -54px 20px 12px; 
    position: relative;
}

如何在图片顶部覆盖caption div,但就像(Mashable.com)一样?

这有效,但我希望它像Mashable一样居中。并以每个图像为中心。对于某些图像,它不是居中的。

4 个答案:

答案 0 :(得分:35)

您需要将缩略图类设置为相对位置,然后将后内容设置为绝对。

选中此fiddle

.post-content {
    top:0;
    left:0;
    position: absolute;
}

.thumbnail{
    position:relative;

}

将其顶部和左侧设为0将使其显示在左上角。

答案 1 :(得分:7)

这是你之后的事吗?

http://jsfiddle.net/dCNXU/1/

我在div和image

中添加了text-align:center

答案 2 :(得分:1)

将位置设为绝对;将标题区域移动到正确的位置

<强> CSS

.post-content {
    background: none repeat scroll 0 0 #FFFFFF;
    opacity: 0.5;
    margin: -54px 20px 12px; 
    position: absolute;
}

Bootply

答案 3 :(得分:0)

尝试以下示例。 图像覆盖与图像上的文本。     demo

<div class="thumbnail">
  <img src="https://s3.amazonaws.com/discount_now_staging/uploads/ed964a11-e089-4c61-b927-9623a3fe9dcb/direct_uploader_2F50cc1daf-465f-48f0-8417-b04ac68a999d_2FN_19_jewelry.jpg" alt="..."   />
  <div class="caption post-content">  
  </div> 
  <div class="details">
    <h3>Robots!</h3>
    <p>Lorem ipsum dolor sit amet</p>   
  </div>  
</div>

CSS

.post-content {
    background: rgba(0, 0, 0, 0.7) none repeat scroll 0 0;
    opacity: 0.5;
    top:0;
    left:0;
    min-width: 500px;
    min-height: 500px; 
    position: absolute;
    color: #ffffff; 
}

.thumbnail{
    position:relative;

}
.details {
    position: absolute; 
    z-index: 2; 
    top: 0;
    color: #ffffff; 
}