You need to place another div above the image and adjust it to your needs.
Then add hide () or show () according to the shift of Bootstraps, etc.
Fiddle
HTML:
<li class="span3"> <div class="thumbnail"> <div class="caption"> <h4>Caption Title</h4> <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt.</p> <p><a href="#" class="btn btn-inverse" rel="tooltip" title="Preview"><i class="icon-eye-open"></i></a> <a href="#" rel="tooltip" title="Visit Website" class="btn btn-inverse"><i class="icon-share"></i></a> </p> </div> <div class="caption-btm">Lorem ipsum dolor sit amet, consectetur adipisicing eli...</div> <img src="http://placehold.it/600x400" alt="ALT NAME"> </div> <h4>Item Name</h4> </li>
CSS
.caption-btm{ background: rgba(0,0,0,0.6); width: 100%; height: 30px; position: absolute; bottom: 4px; color: #fff; }
JQuery
$('#hover-cap-4col .thumbnail').hover( function() { $(this).find('.caption').slideDown(250); $('.caption-btm').hide(100); }, function() { $(this).find('.caption').slideUp(250); $('.caption-btm').show(450); });
EDIT
The above jquery will show and hide all .caption-btm.
But this will hide the concrete that it hangs over:
Fiddle
Jquery:
$('#hover-img .thumbnail').hover( function () { $(this).find('.caption').slideDown(250); $(this).find('.caption-btm').hide(250); }, function () { $(this).find('.caption').slideUp(250); $(this).find('.caption-btm').show(250); });
source share