Reputation: 373
Need some help with an image overlay. I made a jsfiddle http://jsfiddle.net/7upzLdee/1/
<div class="rss-output" style="float:">
<div class="body">
<div class="overlay-feed"></div>
<div class="imagefix" style="float:none;">
<a target="_blank" href="#">
<img src="http://www.gettyimages.co.uk/CMS/StaticContent/1391099215267_hero2.jpg" alt="" height="337" width="600"/></a>
</div>
</div>
</div>
div.rss-output {
float: left;
width: 33.333%;
position: relative;
padding: 15px !important;
overflow: hidden;
}
.rss-output .body {
width: 100%;
}
.rss-output .overlay-feed {
background: #000 none repeat scroll 0% 0%;
z-index: 1;
position: absolute;
width: 100%;
height: 200px;
opacity: 0.5;
}
div.imagefix {
height: 200px;
line-height: 250px;
overflow: hidden;
text-align: center;
width: 100%;
}
div.imagefix img {
margin: -50%;
}
I cannot figure out why the overlay is going over the image on the right side. I've tried many things but no luck.
All help appreciated.
Thanks in advance
Upvotes: 3
Views: 92
Reputation: 785
The problem is with overlay width.
.rss-output .overlay-feed {
background: #000 none repeat scroll 0% 0%;
z-index: 1;
position: absolute;
width: 89%;
height: 200px;
opacity: 0.5;
}
do overlay width 89%.fiddle
Upvotes: 0
Reputation: 4503
add position: relative
for .rss-output .body
div.rss-output {
float: left;
width: 33.333%;
position: relative;
padding: 15px !important;
overflow: hidden;
}
.rss-output .body {
width: 100%;
position: relative;
}
.rss-output .overlay-feed {
background: #000 none repeat scroll 0% 0%;
z-index: 1;
position: absolute;
width: 100%;
height: 200px;
opacity: 0.5;
}
div.imagefix {
height: 200px;
line-height: 250px;
overflow: hidden;
text-align: center;
width: 100%;
}
div.imagefix img {
margin: -50%;
}
<div class="rss-output" style="float:">
<div class="body">
<div class="overlay-feed"></div>
<div class="imagefix" style="float:none;">
<a target="_blank" href="#">
<img src="http://www.gettyimages.co.uk/CMS/StaticContent/1391099215267_hero2.jpg" alt="" height="337" width="600"/></a>
</div>
</div>
</div>
Upvotes: 2
Reputation: 2900
added position:relative;
to body, because, when you use position:absolute;
on some element, it will ignore static parents and therefore its width
div.rss-output {
float: left;
width: 33.333%;
position: relative;
padding: 15px !important;
overflow: hidden;
}
.rss-output .body {
width: 100%;
position:relative;
}
.rss-output .overlay-feed {
background: #000 none repeat scroll 0% 0%;
z-index: 1;
position: absolute;
width: 100%;
height: 200px;
opacity: 0.5;
}
div.imagefix {
height: 200px;
line-height: 250px;
overflow: hidden;
text-align: center;
width: 100%;
}
div.imagefix img {
margin: -50%;
}
<div class="rss-output" style="float:">
<div class="body">
<div class="overlay-feed"></div>
<div class="imagefix" style="float:none;">
<a target="_blank" href="#">
<img src="http://www.gettyimages.co.uk/CMS/StaticContent/1391099215267_hero2.jpg" alt="" height="337" width="600"/></a>
</div>
</div>
</div>
Upvotes: 0