10 Snippets for Creating Unique CSS Background Effects

In modern web design backgrounds are big (both literally and figuratively). With the advent of HD (and now 4K) displays, designers are creating backgrounds that take up loads of screen real estate. Why? Because they make for an incredible visual impact and help to tell a story.

But there is so much more to backgrounds than simply throwing a photo or texture into a large space. A combination of CSS and the occasional bit of JavaScript power the creation of some amazing special effects.

Let’s explore some of the unique ways in which designers are spicing up backgrounds. We’ll also include a pen for each technique so that you can see exactly how they work.

CSS Blend Mode Color Change

What makes this background effect so cool is that the fixed element on top appears to change color as the user scrolls. The use of CSS mix-blend-mode property allows for the change in hue, which is dependent upon the contents of the background.

Scrolling Animation

Reminiscent of side-scroll video games of the past, this technique features two distinct images – each scrolling in the opposite direction. It’s done with the help of CSS transform and some JS.

Skewed

Skewed backgrounds are one of the hottest trends in web design. It’s an effect that was incredibly easy to implement in print design and a pain to do on the web – until now. This pure HTML/CSS solution makes it a cinch.

Moving Pictures

Using a fairly simple bit of CSS, this background allows for a smooth transition between multiple images. It makes for a much more lightweight slider than traditional JavaScript.

Animated Gradient

If not done carefully, an animated background can distract from any content sitting on top of it. This animated gradient example is nice because it’s a more subtle effect. Using JavaScript, you can define gradient colors to match your palette.

Blur on Scroll

This technique could be quite useful for times when you really want visitors to focus on the background image (like the header of a news article) and then allow for the easy reading of text over top. A little bit of jQuery changes the background-size property upon scroll to create the effect.

Fade-in Hero Image with Overlay

There are a few things going on with this example. First, a full-width hero image has a color overlay added on top to create a different hue. Then a fade animation is implemented to introduce the image in a visually smooth manner. Lastly, a parallax-style scrolling effect is added to the mix. The result is a very modern look that uses relatively little code (and no JS).

Background Zoom and Pan

Here’s an effect we’re seeing quite a bit lately. As the user hovers over a panel, the background image zooms in and pans along with any movements of the cursor. It’s an easy way to add some interactivity and maintain user interest.

Reveal on Hover

This example shows a split screen where the background is revealed based upon the position of the user’s mouse. Great for comparisons, like ‘before’ and ‘after’ shots.

Color Change on Scroll

Sometimes we forget how powerful the use of simple solid colors can be. Here, we see the impact it can make as background colors change based upon scroll position. This lightweight solution can be just as visually effective as heavy imagery.

Backgrounds at the Forefront

Backgrounds are no longer just a means to frame content – they’re now often part of the content itself. With so many interesting ways to utilize them, it’s worthwhile to experiment with various background techniques and see how they can enhance the user experience of your next project.

Comments

  • Noelleim Rocha

    WOW! These are AMAAAAAAZING! But how simple are they to impliment and would they work with any theme? I guess the design has to come first and then imputting the HTML or CSS or SCSS? Would love to know how to incorporate these awesome effects on my sites….thanks for showing/sharing what is possible!

  • karks88

    They should work with any theme or CMS you want. You could just paste code directly into a template but if you’re using, for example, WordPress – you might want to enqueue the JavaScript and CSS portions as noted here:
    https://developer.wordpress.org/reference/functions/wp_enqueue_script/
    https://developer.wordpress.org/reference/functions/wp_enqueue_style/

  • 西瓜超人

    that’s really amazing, thank you!