This is where CSS rollovers come in. You know that effect you get when you roll the cursor over an image, and then the image changes? Traditionally, that effect has been accomplished by using Javascript to swap out images. I present here my own index page which has been made only with CSS and html. If you are unfamiliar with CSS, you may find this tutorial difficult to follow (and maybe even if you are familiar with it!).
If you look at the page, you will probably assume that I used 8 images. But in actuality, I used only this one image:

Let me explain. I placed an unordered list in the center of the page and specified the background-image property to point to the image I just showed you. Ostensibly, you could use any element that takes a class or id, rather than just a list, but the ul lends itself to this example. Importantly, I set the height of the ul block to cut off the bottom half of the background image. Here are my class specifications for the unordered list:
CODE
.circumcellion {
[tab][/tab]background-image: url(circumcellion.gif);
[tab][/tab]height: 176px;
[tab][/tab]width: 755px;
[tab][/tab]padding: 0;
[tab][/tab]margin: 0;
[tab][/tab]position: relative;
[tab][/tab]}
[tab][/tab]
.circumcellion a {
[tab][/tab]display: block;
[tab][/tab]}
.circumcellion li {
[tab][/tab]list-style: none; position: absolute;
[tab][/tab]}
[tab][/tab]background-image: url(circumcellion.gif);
[tab][/tab]height: 176px;
[tab][/tab]width: 755px;
[tab][/tab]padding: 0;
[tab][/tab]margin: 0;
[tab][/tab]position: relative;
[tab][/tab]}
[tab][/tab]
.circumcellion a {
[tab][/tab]display: block;
[tab][/tab]}
.circumcellion li {
[tab][/tab]list-style: none; position: absolute;
[tab][/tab]}
All of the list items within the unordered list are made into links and given their own class. Using CSS, I specify the positions and sizes of the list items and their links, respectively, like so:
CODE
.journal {left: 0px; top: 0px;}
.trip {left: 180px; top: 46px;}
.money {left: 467px; top: 16px;}
.contact {left: 687px; top: 16px;}
.journal a {width: 123px; height: 166px;}
.trip a {width: 238px; height: 86px;}
.money a {width: 163px; height: 149px;}
.contact a {width: 67px; height: 151px;}
.trip {left: 180px; top: 46px;}
.money {left: 467px; top: 16px;}
.contact {left: 687px; top: 16px;}
.journal a {width: 123px; height: 166px;}
.trip a {width: 238px; height: 86px;}
.money a {width: 163px; height: 149px;}
.contact a {width: 67px; height: 151px;}
As you may be aware, the CSS pseudo-class a:hover allows you to change attributes of a link when the cursor rolls over it. To add the rollover effect, I just have to call another instance of the same image. Using a:hover, you can pop up a background-image for the list item. So essentially, we are looking at a list item's background image in front of the list's background image. Understand?
The following code tells the browser to use the image as a background and specifies how many pixels up and left to shift the image:
CODE
.journal a:hover {background: url(circumcellion.gif) 0px -176px no-repeat;}
.trip a:hover {background: url(circumcellion.gif) -180px -222px no-repeat;}
.money a:hover {background: url(circumcellion.gif) -467px -192px no-repeat;}
.contact a:hover {background: url(circumcellion.gif) -687px -192px no-repeat;}
.trip a:hover {background: url(circumcellion.gif) -180px -222px no-repeat;}
.money a:hover {background: url(circumcellion.gif) -467px -192px no-repeat;}
.contact a:hover {background: url(circumcellion.gif) -687px -192px no-repeat;}
And that's basically it. If I explained anything poorly, just ask for clarification. This is a complicated subject, and difficult to explain, so I would not be surprised if I left out something important. You can also look at my source code from the link above.
Also, I want to give credit to powderseekers.com, whose code I intently studied to figure this whole thing out, and thanks to the Trap17 member who pointed out that CSS could be used thusly.


