2014-04-18 59 views
1

我想列出一些图像,并为每个图像我想有一个标题,有一些细节,让我们说标题,现在的问题是,宽度的标题是相对于父div这是正常的,但我希望它是相对于图像宽度,但因为我有类img img-responsive img我不知道如何实现这一点。也许你们可以帮助我。Bootstrap对齐标题相对于图像宽度不是容器

这是一个活生生的例子:http://jsbin.com/cudugize/1/edit?html,css,output

下面是代码

HTML

<div class="col-sm-3 col-xs-6 col-md-2 col-lg-3"> 
    <div class="thumbnail"> 
    <a href="url"><img width="139" height="161" src="http://lorempixel.com/139/161/nightlife/" class="img-responsive" alt="..."></a> 
    <div class="caption img-responsive"> 
    <h4 class="text-center"><a href="url" title="title" class="homepage anchorhead text-uppercase">Nice title</a></h4> 
    <p class="text-center"><a href="#" class="homepage city text-uppercase"><span class="glyphicon glyphicon-globe"></span> usa</a></p> 
    </div> 
    </div> 

    <div class="thumbnail"> 
    <a href="url"><img width="139" height="161" src="http://lorempixel.com/139/161/nightlife/" class="img-responsive" alt="..."></a> 
    <div class="caption img-responsive"> 
    <h4 class="text-center"><a href="url" title="title" class="homepage anchorhead text-uppercase">Nice title</a></h4> 
    <p class="text-center"><a href="#" class="homepage city text-uppercase"><span class="glyphicon glyphicon-globe"></span> usa</a></p> 
    </div> 
    </div> 

    </div> 

CSS

Aditional bootstrap core css 

.thumbnail{ 
position: relative; 
width: 100%; 
border: none !important; 
} 
.thumbnail .caption{ 
    position: absolute; 
bottom: 0px; 
background: rgba(0,0,0,0.50); 
width: 100%; 
padding: 0px !important; 
} 

回答

2

http://jsbin.com/cudugize/7

请参阅我的演示代码,它归档你的需求。

<!DOCTYPE html> 
<html> 

<head> 
    <script src="http://code.jquery.com/jquery.min.js"></script> 
    <link href="http://getbootstrap.com/dist/css/bootstrap.css" rel="stylesheet" type="text/css" /> 
    <script src="http://getbootstrap.com/dist/js/bootstrap.js"></script> 
    <meta charset="utf-8"> 
    <title>JS Bin</title> 
    <style> 
    .tc { 
     text-align:center; 
    } 
    .thumbnail { 
     position: relative; 
     display:inline-block; 
     *display:inline; 
     *zoom:1; 
     border: none; 
     margin:0 auto; 
     padding:0; 
    } 
    .thumbnail .caption { 
     position: absolute; 
     bottom: 0px; 
     background: rgba(0, 0, 0, 0.50); 
     width: 100%; 
     padding: 0px !important; 
    } 
    </style> 
</head> 

<body> 
    <div class="col-sm-3 col-xs-6 col-md-2 col-lg-3"> 

     <div class="tc"> 
      <div class="thumbnail"> 
       <a href="url"> 
        <img width="139" height="161" src="http://lorempixel.com/139/161/nightlife/" class="img-responsive" alt="..."> 
       </a> 
       <div class="caption img-responsive"> 
        <h4 class="text-center"><a href="url" title="title" class="homepage anchorhead text-uppercase">Nice title</a> 
        </h4> 
        <p class="text-center"> 
         <a href="#" class="homepage city text-uppercase"> 
          <span class="glyphicon glyphicon-globe"></span>usa</a> 
        </p> 
       </div> 
      </div> 
     </div> 

     <div class="tc"> 
      <div class="thumbnail"> 
       <a href="url"> 
        <img width="139" height="161" src="http://lorempixel.com/139/161/nightlife/" class="img-responsive" alt="..."> 
       </a> 
       <div class="caption img-responsive"> 
        <h4 class="text-center"><a href="url" title="title" class="homepage anchorhead text-uppercase">Nice title</a> 
        </h4> 
        <p class="text-center"> 
         <a href="#" class="homepage city text-uppercase"> 
          <span class="glyphicon glyphicon-globe"></span>usa</a> 
        </p> 
       </div> 
      </div> 
     </div> 

    </div> 
</body> 

</html> 
+0

谢谢,感激不尽! – Uffo

1

这个CS S的关系做的伎俩:

.thumbnail { 
    display: inline-block; 
    position: relative; 
    border: none !important; 
    padding: 0; 
} 
.thumbnail .caption{ 
    position: absolute; 
    bottom: 0px; 
    background: rgba(0,0,0,0.50); 
    width: 100%; 
    padding: 0px !important; 
}