I'm trying to achieve the effect where I have a transparent background color of a div (so that I can see the image in the back) and keep the main content of the website centred (even when resizing window).
I wrote a quick mock up in JS fiddle to demonstrate what I am trying to do. The problem that I am encountering is that when I set opacity to the root div, every child of the div gets that opacity and I cannot over write it. I understand that the way I am doing it in the fiddle it doesn't work due to nothing being fixed, however how do I achieve having this effect and keeping the website centred when resizing?
Can I do this without using JS?
Last note, in the JS Fiddle, the text should be opacity 1 while the yellow should stay opacity 0.3
Here is the JS Fiddle: http://jsfiddle.net/7d6NY/
HTML:
    <img src="https://encrypted-tbn2.gstatic.com/images?q=tbn:ANd9GcQuK9zPKC8rFhpf1S9-2bGCaIUdm9-YMeQiBRdc5rRY_xiQTYvd" alt="image missing" class="bg-image" />
<div class="transparency">
    <div class="content">
        THIS IS MY PAGE CONTENT
    </div>
</div>
CSS:
    .transparency{
    background-color: yellow;
    display: block;
    opacity: 0.3;
    margin: 0 auto;
    width: 300px;
    height: 500px;
}
.content{
    color: #000;
    opacity: 1;
    text-align: center;
}
img{
    /* Set rules to fill background */
    min-height: 100%;
    min-width: 1920px;
    /* Set up proportionate scaling */
    width: 100%;
    height: auto;
    /* Set up positioning */
    position: fixed;
    top: 0;
    left: 0;   
}
                You can use rgba (more info on MDN) value for a transparent background color + don't forget to give a negative z-index value to the image so it stacks behind the content :
DEMO
CSS :
.transparency{
    background-color: rgba(255, 255, 0, 0.3); /* <-- this line is modified */
    display: block;
    margin: 0 auto;
    width: 300px;
    height: 500px;
}
.content{
    color: #000;
    text-align: center;
}
img{
    /* Set rules to fill background */
    min-height: 100%;
    min-width: 1920px;
    /* Set up proportionate scaling */
    width: 100%;
    height: auto;
    /* Set up positioning */
    position: fixed;
    top: 0;
    left: 0;  
    z-index:-1; /* <-- this line is added */
}
                        Does a background-color with a "RGBa" value help you ?
.content{
    background-color:rgba(255,255,0,0.3);
    color: #000;
    opacity: 1;
    text-align: center;
}
                        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