I want to change the brightness of a DIV's background, without affected the other contents in a div.
When I apply a hover brightness filter on the div, other elements in it are also affected. Which I do not want.
The other solution I have is simply replacing the background of the div with a photo edited one. But that asks for double the storage, which I do not like.
Is there a way to change just the brightness of the background-image?
JSFIDDLE
<div id="replace">
<div id="transparent">
<span id="text">Random unaffected text</span>
</div>
</div>
<div id="brightnessfilter">
<div id="transparent">
<span id="text">Random AFFECTED text (it glows)</span>
</div>
</div>
#replace {
width:700px;
height:465px;
background-image:url('http://i42.tinypic.com/351dff5.jpg');
}
#brightnessfilter {
width:700px;
height:465px;
background-image:url('http://i42.tinypic.com/351dff5.jpg');
}
#brightnessfilter:hover {
-webkit-filter: brightness(1.3);
-moz-filter: brightness(1.3);
-o-filter: brightness(1.3);
-ms-filter: brightness(1.3);
}
#transparent {
position:relative;
top:400px;
width:700px;
height:65px;
background-color:rgba(0,0,0,.5);
border-radius:8px;
}
#text {
color:white;
font-weight:bold;
position:relative;
top:9px;
left:9px;
font-size:16px;
}
#replace:hover {
background-image:url('http://i40.tinypic.com/2cft7dl.jpg');
}
Above here is a link to a fiddle with my two attempts at creating the desired effect. But both have a disadvantage in using it.
Thanks in advance!
To apply the brightness to only the background image, you can place the image in a absolute positioned div so that the brightness only affects this element.
Setting the height and width to 100% on the new #image div will allow it to fill #brightnessfilter div in order to preserve the layout from your initial example.
#brightnessfilter {
width: 700px;
height: 465px;
position: relative;
}
#image {
background-image: url('http://i42.tinypic.com/351dff5.jpg');
position: absolute;
height: 100%;
width: 100%;
z-index: -1;
}
#brightnessfilter:hover #image {
-webkit-filter: brightness(1.3);
-moz-filter: brightness(1.3);
-o-filter: brightness(1.3);
-ms-filter: brightness(1.3);
}
#transparent {
position: relative;
top: 400px;
width: 700px;
height: 65px;
background-color: rgba(0, 0, 0, .5);
border-radius: 8px;
}
#text {
color: white;
font-weight: bold;
position: relative;
top: 9px;
left: 9px;
font-size: 16px;
}
#replace:hover {
background-image: -webkit-linear-gradient(top, rgba(255, 255, 255, 0.01) 0%, rgba(255, 255, 255, 0.01) 100%), url('http://i40.tinypic.com/2cft7dl.jpg');
}
<div id="brightnessfilter">
<div id="image"></div>
<div id="transparent">
<span id="text">Random AFFECTED text (it glows)</span>
</div>
</div>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With