Altcademy - a Forbes magazine logo Best Coding Bootcamp 2023

How to set a background image in HTML

Understanding the Basics

When creating a website, one of the first things you might want to do is to set a background image. It's like painting the walls of your room. It sets the mood and personality of your space. In the world of web development, this is achieved using HTML and CSS.

HTML (HyperText Markup Language) is the skeleton of a web page. It outlines the structure, like the rooms in a house. CSS (Cascading Style Sheets), on the other hand, is like the interior decorator. It styles the HTML elements, such as setting the color scheme, typography, or in our case, setting the background image.

Setting the Stage: The Body Element

The entire visible part of a webpage is housed within the <body> tag in HTML. It's like the canvas on which we'll paint our website.

<body>
  <!-- All your content goes here -->
</body>

Think of the <body> tag as the house where we'll place our furniture (HTML elements) and then paint the walls (set a background image).

Painting the Walls: The CSS Background-Image Property

To set a background image, we'll use the CSS background-image property. Think of it as the paint roller. It's the tool that applies the image onto the body of our webpage.

Here's how we use it:

body {
  background-image: url('path-to-your-image.jpg');
}

In the url part of the code, replace 'path-to-your-image.jpg' with the actual path where your image is stored. If your image is in the same folder as your HTML file, you only need to put the image name and its extension (like 'image.jpg').

A Full Example

Let's put everything together. We'll create a simple web page with a background image.

The HTML part:

<!DOCTYPE html>
<html>
<head>
  <link rel="stylesheet" type="text/css" href="styles.css">
</head>
<body>
  <h1>Hello, world!</h1>
</body>
</html>

The CSS part (in a separate file called styles.css):

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

In this example, background.jpg is the image we're using as a background. It's located in the same directory as our HTML and CSS files. The <link> tag in the <head> section of the HTML file is what connects the HTML and CSS files.

Styling the Background Image

Setting a background image is just the first step. You might want to adjust the size of the image, or maybe make it repeat across the entire page. CSS has several properties for this:

background-repeat: If your image is smaller than the body, this property defines whether the image should repeat (like tiles) or not. It can be set to repeat, no-repeat, repeat-x (repeat horizontally), or repeat-y (repeat vertically).

background-size: This property sets the size of the background image. It can be set to auto (default), cover (resizes the image to cover the entire body, might cut off some parts), contain (resizes the image to fit within the body, might leave some space), or a specific size in pixels.

background-position: If your image doesn't cover the entire body, this property sets the starting position of the image. It can be set to left, right, top, bottom, center, or any combination of these.

Here's an example of a styled background image:

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

In this example, the image will cover the entire body, won't repeat, and will be centered.

Final Words

Setting a background image in HTML is like setting the stage for your webpage. It's one of the first steps in creating a visually appealing website. Despite being a relatively simple process, it's a powerful tool that every developer should have in their toolkit.

Remember, the key to learning programming is practice. Try setting a background image on your own. Play around with different settings. Break things, then fix them. Through this process, you'll gain a deeper understanding of how HTML and CSS work together to create beautiful websites.