Adding a background image to your website can greatly enhance its visual appeal. With CSS, you can easily customize the background of your web page by adding an image. In this tutorial, we will guide you through the process of adding a background image in CSS.


Before we begin, make sure you have a basic understanding of HTML and CSS. You should also have a text editor and a web browser installed on your computer.

Step 1: Prepare Your Image

The first step is to choose an image that you want to use as the background. Make sure the image is in a suitable format such as JPEG, PNG, or GIF. It’s also important to consider the size and resolution of the image to ensure it looks good on different devices.

You can find high-quality images for free on websites like Unsplash or Pexels.

Step 2: Create a CSS Selector

To add a background image, you need to create a CSS selector for the element you want to apply the background to. This can be a specific HTML element like <body> for the entire page or a specific class or ID selector for a specific section.

For example, to apply a background image to the <body> element, you can use the following CSS selector:

body {
  background-image: url("path/to/your/image.jpg");

Replace "path/to/your/image.jpg" with the actual path to your image file.

You can also apply the background image to a specific class or ID selector. For example:

.container {
  background-image: url("path/to/your/image.jpg");

In this case, the background image will be applied to all elements with the class “container”.

Step 3: Specify Background Properties

Once you have created the CSS selector, you can specify additional background properties to customize the appearance of the background image. Some commonly used properties include:

  • background-repeat: Specifies how the background image should repeat. Options include repeat, repeat-x, repeat-y, and no-repeat.
  • background-position: Determines the position of the background image. You can use keywords like top, bottom, left, right, or specify the position in pixels or percentages.
  • background-size: Sets the size of the background image. You can use values like cover, contain, or specify the size in pixels or percentages.
  • background-attachment: Specifies whether the background image should scroll with the content or remain fixed. Options include scroll and fixed.
  • background-color: Sets a background color that will be visible if the background image is not fully displayed or if it is transparent.

For example, to repeat the background image horizontally and position it at the top right corner, you can use the following CSS:

body {
  background-image: url("path/to/your/image.jpg");
  background-repeat: repeat-x;
  background-position: top right;

You can experiment with different combinations of these properties to achieve the desired effect.

Step 4: Apply the CSS to Your HTML

To apply the CSS to your HTML, you have a few options:

  • Inline CSS: You can add the CSS directly to the HTML element using the style attribute. For example: <body style="background-image: url('path/to/your/image.jpg');">
  • Internal CSS: You can include the CSS within the <style> tags in the <head> section of your HTML document.
  • External CSS: You can create a separate CSS file and link it to your HTML document using the <link> tag.

Choose the method that suits your project best.


Q: Can I use any image format for the background?

A: Yes, you can use image formats such as JPEG, PNG, or GIF for the background image. Just make sure to choose a format that is supported by web browsers.

Q: How can I make the background image cover the entire page?

A: You can use the background-size: cover; property to make the background image cover the entire page. This will automatically scale the image to fit the available space while maintaining its aspect ratio.

Q: Can I use multiple background images?

A: Yes, you can use multiple background images by separating them with commas in the background-image property. For example: background-image: url("image1.jpg"), url("image2.jpg");


Congratulations! You have successfully learned how to add a background image in CSS. By following these steps, you can now enhance the visual appeal of your web pages. Experiment with different background properties to achieve the desired effect.

Remember to optimize your images for the web to ensure faster loading times. You can also explore advanced techniques like CSS gradients and multiple background images to further enhance your designs.

For more information on CSS background images, check out the MDN Web Docs.