Altcademy - a Forbes magazine logo Best Coding Bootcamp 2023

How to make an image a background in HTML

Understanding the Basics

Let's start by understanding what we are dealing with here. HTML, short for HyperText Markup Language, is the standard language for creating web pages. It describes the structure of web pages using markup. When we talk about 'making an image a background in HTML', we're essentially discussing how to use HTML to establish an image as the background of a webpage.

Think of HTML like the blueprint of a house. It outlines where everything goes, but doesn't provide the actual content. This is where CSS (Cascading Style Sheets) comes into play. CSS is what gives the house paint, furniture, and decorations. It's the language for describing the look and formatting of a document written in HTML.

What is a Background Image?

A background image in HTML is an image that is positioned behind all the other elements on the page. It's like wallpaper in your room. The furniture and decorations in your room (the content of your website) lie in front, while the wallpaper (the background image) sits behind, setting the aesthetic tone without interfering with the functionality of the items in the room.

Setting a Background Image in HTML using CSS

To set a background image in HTML, we use CSS properties. The primary property we use is background-image.

Here is a simple code snippet to illustrate this:

<!DOCTYPE html>
      body {
        background-image: url("image.jpg");
    <h1>Welcome to my Website!</h1>
    <p>Hello World</p>

In the above example, background-image: url("image.jpg"); is the CSS property that sets the background image. The URL inside the parentheses should point to the image that you want to use as the background. This can be a local path or an internet URL.

Adjusting the Background Image

Setting the image as a background is just the beginning. There are many other CSS properties that you can use to adjust the way the image appears on your webpage.

Background Repeat

By default, the background image will repeat itself horizontally and vertically across the entire page to fill the whole area. This is similar to how a patterned wallpaper in your room might repeat the same design over and over to cover all the walls.

If you want to change this default behavior, you can use the background-repeat property. This property has several values you can use:

  • repeat: This is the default value. The background image will be repeated both vertically and horizontally.
  • repeat-x: The image will be repeated only horizontally.
  • repeat-y: The image will be repeated only vertically.
  • no-repeat: The image will not be repeated.

Here's how to use it:

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

Background Size

The background-size property is used to specify the size of the background images. It can take several values:

  • auto: This is the default value. The background image is displayed in its original size.
  • length: Sets the width and height of the background image. The first value sets the width, the second value sets the height. If only one value is given, the second is set to 'auto'.
  • percentage: Sets the width and height of the background image in percentage of the parent element.
  • cover: Scales the background image to be as large as possible so that the background area is completely covered by the background image.
  • contain: Scales the image to the largest size such that both its width and its height can fit inside the content area.
  body {
    background-image: url("image.jpg");
    background-repeat: no-repeat;
    background-size: cover;


In conclusion, setting an image as a background in HTML is a simple task that involves using CSS properties. The background-image property is the primary property for this task, but you can use other properties like background-repeat and background-size to adjust the image to your preference. By understanding and mastering these properties, you can create visually appealing web pages that enhance the user experience.