我正在尝试创建一个响应式的图像网格(带有描述),当将鼠标悬停在该网格上时,它将具有颜色叠加层(仅图像而不是文本)。由于图像的响应高度,我遇到了一个问题,即覆盖层覆盖了所有内容,而不仅仅是图像。
有什么办法可以解决这个问题?
为了方便理解,我在这里重新创建了该问题:http : //jsfiddle.net/r8rFc/
这是我的HTML:
<div class="row"> <div class="col-xs-12 col-sm-6 col-md-3 project"> <a href="#"> <div> <img src="http://placehold.it/500x500" class="img-responsive"/> <div class="fa fa-plus project-overlay"></div> </div> <div style="text-align:center;"> <h3>Project name</h3> <p>Image description</p> </div> </a> </div> </div>
而我的CSS:
.project-overlay { position: absolute; top: 0; width: 100%; height: 100%; background-color: rgba(41,128,185,0.9); color: #fff; padding: 50%; }
提前致谢!
向包含的div添加一个类,然后在其上设置以下CSS:
.img-overlay { position: relative; max-width: 500px; //whatever your max-width should be }
position: relative的子元素的父元素上必填,子元素相position: absolute对于该父元素定位。
position: relative
position: absolute