There is no CSS property like "background-opacity" that you can use only for changing the opacity or transparency of an element's background without affecting its child elements. On the other hand if you will try to do this using the CSS opacity property, it will not only change the opacity of the background but also changes the opacity of all the child elements as well.
In such situations you can use the RGBA color introduced in CSS3 that includes alpha transparency as part of the color value. Using RGBA color you can set the color of the background as well as its transparency, as demonstrated in the following example:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>CSS Opacity Using RGBA Colors</title>
<style>
body {
background-image: url("/examples/images/pattern.jpg");
}
p{
padding: 20px;
background: rgba(0, 0, 0, 0.6);
color: #fff;
font: 18px Arial, sans-serif;
}
</style>
</head>
<body>
<p>Setting background transparency without affecting the text content.</p>
</body>
</html>
Use the CSS RGBA colors
There is no CSS property like "background-opacity" that you can use only for changing the opacity or transparency of an element's background without affecting its child elements. On the other hand if you will try to do this using the CSS
opacityproperty, it will not only change the opacity of the background but also changes the opacity of all the child elements as well.In such situations you can use the RGBA color introduced in CSS3 that includes alpha transparency as part of the color value. Using RGBA color you can set the color of the background as well as its transparency, as demonstrated in the following example:
need an explanation for this answer? contact us directly to get an explanation for this answer