Menu Close

How to apply css filter to the background image of a div element

filter

Here, we will see how to apply css filter property to the background image of the div element. So we will take two div elements for contents and the background image. First we use css positioning property to the content element over the image element, then we can apply filter property to the background image. Follow the below snippet to achieve this with better responsiveness.

Example:

<!DOCTYPE html>
<html> 
<head>
    <title>Background Image Blur Filter Property</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css">
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
    <link rel="stylesheet" href="style.css">
</head>  
<body>
    <section>
        <div class="container">
            <div class="wrapper">
                <div class="background-image"></div>
                    <div class="content-style">
                        <h2>Background Image Blur Filter Property</h2>
                        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam eu sem tempor, varius quam at, luctus dui. Mauris magna metus, dapibus nec turpis vel, semper malesuada ante. Vestibulum id metus ac nisl bibendum scelerisque non non purus. Suspendisse varius nibh non aliquet sagittis. In tincidunt orci sit amet elementum vestibulum. Vivamus fermentum in arcu in aliquam. Quisque aliquam porta odio in fringilla. Vivamus nisl leo, blandit at bibendum eu, tristique eget risus. Integer aliquet quam ut elit suscipit, id interdum neque porttitor. Integer faucibus ligula.</p>
                        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam eu sem tempor, varius quam at, luctus dui. Mauris magna metus, dapibus nec turpis vel, semper malesuada ante. Vestibulum id metus ac nisl bibendum scelerisque non non purus. Suspendisse varius nibh non aliquet sagittis. In tincidunt orci sit amet elementum vestibulum. Vivamus fermentum in arcu in aliquam. Quisque aliquam porta odio in fringilla. Vivamus nisl leo, blandit at bibendum eu, tristique eget risus. Integer aliquet quam ut elit suscipit, id interdum neque porttitor. Integer faucibus ligula.</p>
                        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam eu sem tempor, varius quam at, luctus dui. Mauris magna metus, dapibus nec turpis vel, semper malesuada ante. Vestibulum id metus ac nisl bibendum scelerisque non non purus. Suspendisse varius nibh non aliquet sagittis. In tincidunt orci sit amet elementum vestibulum. Vivamus fermentum in arcu in aliquam. Quisque aliquam porta odio in fringilla. Vivamus nisl leo, blandit at bibendum eu, tristique eget risus. Integer aliquet quam ut elit suscipit, id interdum neque porttitor. Integer faucibus ligula.</p>
                    </div>
                </div>
            </div>
        </section>
    </body>
</html> 

Add the below stylesheet to header of the html file

body {
    margin: 50px;
    font-family: Arial, Helvetica, sans-serif;
}
.wrapper{
    position: relative;
    }
.background-image{
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: -1;
    background: url("c3.jpg") no-repeat center;
    background-size: cover;
    filter: blur(10px);
    }
.content-style{
    padding: 50px 50px;
    } 

Output:

filter-output
Posted in CSS, HTML

You can also read...