The Tutorial SIte

Menu
  • Bootstrap 4
  • CSS
  • HTML
Home
CSS
CSS backgrounds tutorial
CSS

CSS backgrounds tutorial

CSS backgrounds play a crucial role in web design by allowing developers to control the appearance of web page backgrounds.

Background properties in CSS let you set colors, images, gradients, positioning, and effects to create visually appealing designs.

In this tutorial, we will cover:

  1. Setting a Background Color
  2. Using Background Images
  3. Background Positioning
  4. Background Sizing
  5. Background Attachment
  6. Using Multiple Backgrounds
  7. CSS Gradients as Backgrounds
  8. Background Shorthand Property
  9. Best Practices for Backgrounds
  10. Examples and Code Snippets

1. Setting a Background Color

The background-color property is used to define a solid color as a background.

Example:

body {
    background-color: lightblue;
}

This will set the webpage background to light blue.

Using RGBA for Transparency

You can also use rgba() to set a color with transparency.

body {
    background-color: rgba(255, 0, 0, 0.5); /* Red with 50% opacity */
}

2. Using Background Images

The background-image property allows you to set an image as a background.

Example:

body {
    background-image: url("background.jpg");
}

This will apply “background.jpg” as the background.

Controlling Background Repeat

By default, background images repeat if they are smaller than the viewport. Use background-repeat to control this behavior.

body {
    background-image: url("background.jpg");
    background-repeat: no-repeat; /* Stops repeating */
}

Other options:

  • repeat (default) – Repeats the image both horizontally and vertically.
  • repeat-x – Repeats only horizontally.
  • repeat-y – Repeats only vertically.

3. Background Positioning

The background-position property controls where the background image is placed.

Example: Centering an Image

body {
    background-image: url("background.jpg");
    background-repeat: no-repeat;
    background-position: center;
}

Other Positioning Values:

  • top left
  • top center
  • top right
  • center left
  • center center
  • center right
  • bottom left
  • bottom center
  • bottom right
  • Or you can use pixel or percentage values:
    background-position: 50px 100px;
    background-position: 20% 30%;
    

4. Background Sizing

The background-size property defines how an image should be scaled.

Example: Cover the Entire Background

body {
    background-image: url("background.jpg");
    background-size: cover;
}

cover makes the image cover the entire element, cropping parts that do not fit.

Example: Scale to Fit

body {
    background-image: url("background.jpg");
    background-size: contain;
}

contain makes the image fit within the element without cropping.

Other options:

  • auto (default) – Keeps the image at its original size.
  • 100px 200px – Custom width and height.
  • 50% 50% – Resizes relative to the element.

5. Background Attachment

The background-attachment property controls whether the background scrolls with the page.

Example: Fixed Background

body {
    background-image: url("background.jpg");
    background-attachment: fixed;
}

The background stays in place while scrolling.

Other Values:

  • scroll (default) – The background moves with the page.
  • local – The background scrolls inside the element.

6. Using Multiple Backgrounds

CSS allows multiple background images layered on top of each other.

Example:

body {
    background-image: url("top-layer.png"), url("bottom-layer.jpg");
    background-repeat: no-repeat, repeat;
    background-position: center, top left;
}

This sets:

  • top-layer.png centered.
  • bottom-layer.jpg tiled as the base layer.

7. CSS Gradients as Backgrounds

Instead of using images, CSS allows gradient backgrounds.

Linear Gradient

body {
    background: linear-gradient(to right, blue, red);
}

This creates a blue-to-red gradient from left to right.

Other directions:

  • to bottom – Top to bottom.
  • to right – Left to right.
  • 45deg – Custom angle.

Radial Gradient

body {
    background: radial-gradient(circle, yellow, green);
}

This creates a circular yellow-to-green gradient.

8. Background Shorthand Property

Instead of writing multiple background properties, you can combine them in a single line.

Example:

body {
    background: url("background.jpg") no-repeat center/cover fixed;
}

This is equivalent to:

body {
    background-image: url("background.jpg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    background-attachment: fixed;
}

9. Best Practices for Backgrounds

  1. Optimize Images – Use compressed images (JPEG, PNG, WebP) for better performance.
  2. Use cover for full backgrounds – Ensures images scale properly on different screens.
  3. Fixed Backgrounds Can Affect Performance – background-attachment: fixed; may cause issues on mobile.
  4. Use Gradients Instead of Large Images – Lighter and better for performance.
  5. Consider Accessibility – Avoid backgrounds that reduce text readability.

10. Examples and Code Snippets

Full-Screen Background with a Gradient

body {
    background: linear-gradient(to bottom, rgba(0,0,0,0.8), rgba(0,0,0,0.5)), 
                url("background.jpg") no-repeat center/cover;
    height: 100vh;
    margin: 0;
}
  • Adds a dark gradient overlay to improve text visibility.
  • Uses a full-screen image with cover.

Text Overlay on Background

<div class="background">
    <h1>Hello, CSS Backgrounds!</h1>
</div>
.background {
    background: url("background.jpg") center/cover no-repeat;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 2em;
    text-shadow: 2px 2px 5px black;
}
  • Centers text over a background.
  • Uses text-shadow for better readability.

Takeaways

Use background-color for solid colors.
Apply background-image for textures and patterns.
Use background-size: cover; for full-screen scaling.
Combine background properties for efficiency.
Use CSS gradients for performance-friendly designs.

Share
Telegram
Linkedin
Pocket
Pinterest
Tweet
Email
Next Article

Related Articles

CSS Tutorial Collection

CSS Tutorial Collection

CSS Lists – A Guide
CSS lists allow developers to style unordered, ordered, and definition …

CSS Lists – A Guide

Categories

  • Bootstrap 4
  • CSS
  • HTML

Latest

  • HTML Classes : A Tutorial
  • HTML Tables : A Tutorial
  • HTML iframe : A Tutorial
  • HTML div : A Detailed Tutorial
  • Bootstrap 4 Tutorial Collection
  • CSS Tutorial Collection
  • HTML Tutorial Collection
  • HTML head : A Detailed Tutorial
  • Popular
  • Recent
  • Tags

The Tutorial SIte

Copyright © 2025 The Tutorial SIte
The Tutorial Site

Ad Blocker Detected

Our website is made possible by displaying online advertisements to our visitors. Please consider supporting us by disabling your ad blocker.

Refresh