Just about any element can have a background. Backgrounds are one of the most useful things to change with custom CSS, and it's an easy place to start.
It's important to know that almost everything you see on the site that isn't an image or text, can be considered background-able.
First off, the types of background modifications:
background:<color> and background:url() The former (currently used on my profile) can set the background of anything to a specific color, using a text or hex value.
For example,div{background:#F00!important;} will give all of the div elements a red background. In place of #F00, you could also use red.
Now, onto URLs...
This can set the background of anything to an image of any format (.png, .jpg, .gif, etc).
Example:
body{background:url(https://dsipaint.co
m/images/upload_gallery/1.jpg)!importan
t;} This will tile the image, starting from the upper-left.
Now, for two other functions that you will likely be using with URLs...
To center the image (useful for when it's a bit too large), use the following with your background code:
body{background-position:center!important;}
You've probably seen image backgrounds on this site that "follow" as you scroll, rather than staying in place. This code would be written as following:
body{background-attachment:fixed!important;}
Try experimenting with these once you get them working!