A Quick Look at CSS3 Multiple Backgrounds (+ Examples)

Eleftheria Batsou
3 min readFeb 2, 2024

Introduction

Hello amazing people! One of the powerful features CSS3 offers is the ability to apply multiple backgrounds to a single element. This feature, though often overlooked, can greatly enhance the aesthetics and functionality of a website.

This article aims to delve deep into this concept, providing practical examples and highlighting the benefits and best practices.

Multiple Backgrounds

CSS3 allows for the application of multiple background images to a single element, each having its own set of properties. This is done by separating each background with a comma. The first image in the list is the top layer, and the rest follow in the order of declaration.

Let’s consider a simple example. Suppose we want to add two background images to a single div. We could write the CSS code as follows:

div {
background-image: url(image1.jpg), url(image2.jpg);
}

With this code, ‘image1.jpg’ will be the top layer and ‘image2.jpg’ will be the bottom layer. You can also control the position, repeat behavior, and size of each background separately.

Here is an example of this:

div {
background-image: url(image1.jpg), url(image2.jpg);
background-position: right bottom, left top;
background-repeat: no-repeat, repeat;
background-size: 50% 50%, auto;
}

In this example, image1.jpg is positioned at the right bottom of the div and does not repeat, covering 50% of the div's width and height. On the other hand, image2.jpg is positioned at the left top and repeats throughout the div, taking its natural size.

The power of multiple backgrounds comes into play when you want to create complex designs without overcrowding your HTML with additional elements. For instance, you can use one background for a repeating pattern and another for an overarching design element.

Example 1: A website header with a logo and a repeating pattern

header {
background-image: url(logo.png), url(pattern.png);
background-position: left center, center center;
background-repeat: no-repeat, repeat;
background-size: 150px, auto;
}

In this example, logo.png is the logo of your site, positioned at the left center and does not repeat. pattern.png is a repeating pattern that fills the rest of the header.

Example 2: A div with a decorative element and a gradient background

div {
background-image: url(decoration.png), linear-gradient(to right, #ff7e5f, #feb47b);
background-position: right bottom, center center;
background-repeat: no-repeat, no-repeat;
background-size: 100px, cover;
}

In this example, decoration.png is a decorative image positioned at the right bottom of the div and does not repeat. The second background is a gradient that covers the entire div.

Benefits of using multiple backgrounds

Benefits of using multiple backgrounds include:

  1. Simplified HTML: Multiple backgrounds reduce the need for additional HTML elements, keeping your code clean and efficient.
  2. Creative freedom: The feature allows for more complex and creative design possibilities.
  3. Responsiveness: You can control how each background responds at different screen sizes, enhancing the responsiveness of your design.

Best practices for using multiple backgrounds

  1. Always specify a fallback color: This color will be displayed if the background images fail to load.
  2. Use high-quality images: Poor quality images can make your site look unprofessional.
  3. Avoid overcrowding: Too many backgrounds can make your design look cluttered. Stick to only what’s necessary for your design.

Conclusion

Harnessing the power of CSS3 multiple backgrounds can significantly enhance your web design capabilities. While it may seem daunting at first, with practice, you can use this feature to create more complex and engaging designs.

Remember, the key to successful web design lies not just in understanding these features, but also in knowing when and how to use them effectively. Happy designing!

👋 Hello, I’m Eleftheria, Community Manager, developer, public speaker, and content creator.

🥰 If you liked this article, consider sharing it.

🔗 All links | X | LinkedIn

Originally published at https://eleftheriabatsou.hashnode.dev on February 2, 2024.

--

--

Eleftheria Batsou

Hi, I’m a community manager and an app developer/UX researcher by passion. I love learning, teaching and sharing. My passions are tech, UX, arts & working out.