CSS background properties are used to define the background effects of an element.
CSS properties used for background effects:
  • background-color
  • background-image
  • background-repeat
  • background-attachment
  • background-position

Background Color

The background-color property specifies the background color of an element.
The background color of a page is defined in the body selector:

Example

<html>
<head>
<style type="text/css">
body
{
background-color:#b0c4de;
}
</style>
</head>

<body>

<h1>My CSS web page!</h1>
<p>Hello world! This is a W3Schools.com example.</p>

</body>
</html>

Try it yourself in Notepad or Dreamweaver by coping and pasting the code above.
With CSS, a color is most often specified by:
  • a HEX value - like "#ff0000"
  • an RGB value - like "rgb(255,0,0)"
  • a color name - like "red"
Look at CSS Color Values for a complete list of possible color values.
In the example below, the h1, p, and div elements have different background colors:

Example

<html>
<head>
<style type="text/css">
h1
{
background-color:#6495ed;
}
p
{
background-color:#e0ffff;
}
div
{
background-color:#b0c4de;
}
</style>
</head>

<body>

<h1>CSS background-color example!</h1>
<div>
This is a text inside a div element.
<p>This paragraph has its own background color.</p>
We are still in the div element.
</div>

</body>
</html>

Try it yourself in Notepad or Dreamweaver by coping and pasting the code above.
Result:

CSS background-color example!

This is a text inside a div element.
This paragraph has its own background color.
We are still in the div element.


Background Image

The background-image property specifies an image to use as the background of an element.
By default, the image is repeated so it covers the entire element.
The background image for a page can be set like this:

Example

<html>
<head>
<style type="text/css">
body {background-image:url('your_image.gif');}
</style>
</head>

<body>
<h1>Hello World!</h1>
</body>

</html>

Try it yourself in Notepad or Dreamweaver by coping and pasting the code above.

Background Image - Repeat Horizontally or Vertically

By default, the background-image property repeats an image both horizontally and vertically.
Some images should be repeated only horizontally or vertically, or they will look strange, like shaded image: 

Example

<html>
<head>
<style type="text/css">
body
{
background-image:url('your_image.png');
}
</style>
</head>

<body>
<h1>Hello World!</h1>
</body>

</html>

Try it yourself in Notepad or Dreamweaver by coping and pasting the code above.
If the image is repeated only horizontally (repeat-x), the background will look better for shaded image:

Example

<html>
<head>
<style type="text/css">
body
{
background-image:url('your_image.png');
background-repeat:repeat-x;
}
</style>
</head>

<body>
<h1>Hello World!</h1>
</body>

</html>

Try it yourself in Notepad or Dreamweaver by coping and pasting the code above.

Background Image - Set position and no-repeat

Remark When using a background image, use an image that does not disturb the text.
Showing the image only once is specified by the background-repeat property:

Example

<html>
<head>
<style type="text/css">
body
{
background-image:url('your_image.png');
background-repeat:no-repeat;
}
</style>
</head>

<body>
<h1>Hello World!</h1>
<p>W3Schools background image example.</p>
<p>The background image is only showing once, but it is disturbing the reader!</p>
</body>

</html>

Try it yourself in Notepad or Dreamweaver by coping and pasting the code above.
In the example above, the background image is shown in the same place as the text. We want to change the position of the image, so that it does not disturb the text too much.
The position of the image is specified by the background-position property:

Example

<html>
<head>

<style type="text/css">
body
{
background-image:url('img_tree.png');
background-repeat:no-repeat;
background-position:right top;
margin-right:200px;
}
</style>

</head>

<body>
<h1>Hello World!</h1>
<p>W3Schools background no-repeat, set postion example.</p>
<p>Now the background image is only shown once, and positioned away from the text.</p>
<p>In this example we have also added a margin on the right side, so the background image will never disturb the text.</p>
</body>

</html>

Try it yourself in Notepad or Dreamweaver by coping and pasting the code above.


Background - Shorthand property

As you can see from the examples above, there are many properties to consider when dealing with backgrounds.
To shorten the code, it is also possible to specify all the properties in one single property. This is called a shorthand property.
The shorthand property for background is simply "background":

Example

<html>
<head>

<style type="text/css">
body
{
background:#ffffff url('your_image.png') no-repeat right top;
margin-right:200px;
}
</style>

</head>

<body>
<h1>Hello World!</h1>
<p>Now the background image is only shown once, and it is also positioned away from the text.</p>
<p>In this example we have also added a margin on the right side, so that the background image will not disturb the text.</p>
</body>

</html>

Try it yourself in Notepad or Dreamweaver by coping and pasting the code above.
When using the shorthand property the order of the property values are:
  • background-color
  • background-image
  • background-repeat
  • background-attachment
  • background-position
It does not matter if one of the property values is missing, as long as the ones that are present are in this order.
This example uses more advanced CSS. Take a look:
Example

<html>
<head>
<style type="text/css">
body
{
margin-left:200px;
background:#5d9ab2 url('img_tree.png') no-repeat top left;
}


.container
{
text-align:center;
}


.center_div
{
border:1px solid gray;
margin-left:auto;
margin-right:auto;
width:90%;
background-color:#d0f0f6;
text-align:left;
padding:8px;
}
</style>
</head>


<body>
<div class="container">
<div class="center_div">
<h1>Hello World!</h1>
<p>This example contains some advanced CSS methods you may not have learned yet. But, we will explain these methods in a later chapter in the tutorial.</p>
</div>
</div>
</body>
</html>
Try it yourself in Notepad or Dreamweaver by coping and pasting the code above.

More Examples

How to set a fixed background image
This example demonstrates how to set a fixed background image. The image will not scroll with the rest of the page.
Example

<html>
<head>
<style type="text/css">
body 
{
background-image:url('your_image.gif');
background-repeat:no-repeat;
background-attachment:fixed;
}
</style>
</head>


<body>
<p>The background-image is fixed. Try to scroll down the page.</p>
<p>The background-image is fixed. Try to scroll down the page.</p>
<p>The background-image is fixed. Try to scroll down the page.</p>
<p>The background-image is fixed. Try to scroll down the page.</p>
<p>The background-image is fixed. Try to scroll down the page.</p>
<p>The background-image is fixed. Try to scroll down the page.</p>
<p>The background-image is fixed. Try to scroll down the page.</p>
<p>The background-image is fixed. Try to scroll down the page.</p>
<p>The background-image is fixed. Try to scroll down the page.</p>
<p>The background-image is fixed. Try to scroll down the page.</p>
<p>The background-image is fixed. Try to scroll down the page.</p>
<p>The background-image is fixed. Try to scroll down the page.</p>
<p>The background-image is fixed. Try to scroll down the page.</p>
<p>The background-image is fixed. Try to scroll down the page.</p>
<p>The background-image is fixed. Try to scroll down the page.</p>
</body>


</html>
Try it yourself in Notepad or Dreamweaver by coping and pasting the code above.

All CSS Background Properties

PropertyDescription
backgroundSets all the background properties in one declaration
background-attachmentSets whether a background image is fixed or scrolls with the rest of the page
background-colorSets the background color of an element
background-imageSets the background image for an element
background-positionSets the starting position of a background image
background-repeatSets how a background image will be repeated

Leave a Reply