CSS blur on background image but not on content

itsme picture itsme · Dec 5, 2013 · Viewed 131.5k times · Source

I did this example.

I'm trying to blur the background image, but the main content is blurred too (the <span>)

How can I blur the background without blurring the content?

Answer

Mike Lee picture Mike Lee · Mar 3, 2015

jsfiddle

.blur-bgimage {
    overflow: hidden;
    margin: 0;
    text-align: left;
}
.blur-bgimage:before {
    content: "";
    position: absolute;
    width : 100%;
    height: 100%;
    background: inherit;
    z-index: -1;

    filter        : blur(10px);
    -moz-filter   : blur(10px);
    -webkit-filter: blur(10px);
    -o-filter     : blur(10px);

    transition        : all 2s linear;
    -moz-transition   : all 2s linear;
    -webkit-transition: all 2s linear;
    -o-transition     : all 2s linear;
}

You can blur the body background image by using the body's :before pseudo class to inherit the image and then blurring it. Wrap all that into a class and use javascript to add and remove the class to blur and unblur.