How To Opacity Background Image In Css

Opacity is one of the most important properties when it comes to creating a unique and attractive design. With CSS, you can create a background with an image that has a certain level of transparency, which allows the content to be more readable and appealing.

In this blog post, we will learn how to apply opacity to a background image using CSS, which can enhance the overall look and feel of your website.

Using a pseudo-element

One of the best ways to create an opacity background image in CSS is by using a pseudo-element. This method allows you to insert an element with the desired opacity level without affecting the content of the original element.

Let’s start by creating a simple HTML structure with a div element and some content inside it:

    <div class="opacity-bg-image">
        <p>Your content here...</p>

Next, we’ll create a CSS style for our div using a pseudo-element (::before) to create the background image with opacity:

    .opacity-bg-image {
        position: relative;

    .opacity-bg-image::before {
        content: "";
        background-image: url('your-image-path.jpg');
        opacity: 0.6;
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: -1;

In the example above, the background image is set using the background-image property, and the opacity level is controlled by the opacity property. You can adjust the opacity value from 0 (completely transparent) to 1 (completely opaque) to achieve the desired effect.

Using a linear-gradient

Another method to create an opacity background image in CSS is by using a linear-gradient. This method allows you to blend the background image with a semi-transparent color, giving the illusion of opacity.

First, create the same HTML structure as before:

    <div class="opacity-bg-image">
        <p>Your content here...</p>

Now, let’s create the CSS style using a linear-gradient:

    .opacity-bg-image {
        background-image: linear-gradient(rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.6)), url('your-image-path.jpg');
        background-size: cover;

In this example, the linear-gradient function is used to blend the background image with a semi-transparent white color, represented by the rgba function. The first three values (255, 255, 255) define the color (white in this case), and the fourth value (0.6) controls the opacity level. Adjust this value to achieve your desired opacity.


Creating an opacity background image in CSS is a powerful design technique that can enhance the visual appeal of your website. Both methods discussed in this blog post – using a pseudo-element and using a linear-gradient – are effective for creating this effect. Experiment with both techniques to find the best solution for your specific design needs.