A lot of these examples I'm giving use my site as an example - few of these examples exist in real life.
Before I go any further into the actual language, I need to teach you how web sites work and what they will and won't accept with respect to URLs and stuff.
First off, everything comes out of the root folder - in my case, reaperx90.com. When you type that into your browser, it automatically adds stuff onto the beginning and end of it. You probably already know about the "http://" that it adds to the beginning, but what you probably didn't know is that if a page isn't specified, it automatically goes to "index.html" of the folder you went to.
For example, reaperx90.com is actually a folder. When you enter it into the browser, it actually goes to reaperx90.tripod.com/index.html. If you don't have an index.html in the root folder, you'll get that 404 Page Not Found page. This concept is the same for every folder in your web site. For example, take "reaperx90.com/sccentral." This is going from the root folder, to the sccentral folder. Since no page is specified, it looks for the index.html file in the sccentral folder. Basically, you want to have an index.html for every folder, so that the user doesn't have to specify "page_name.html" if he doesn't navigate to the page via a link.
With that little bit of information under our belts, lets see how browsers look at links. If the link doesn't have the http:// part of the URL, say http://reaperx90.com specified, then it attaches whatever is in the link to the end of the current folder. Confused? Let me explain. Say you're in the reaperx90.com folder, and you follow a link that takes you to reaperx90.com/sccentral. I could have made the link in two different ways. I could have written the entire URL into the link - http://reaperx90.com/sccentral, or I could have entered the relative url - simply the word 'sccentral'. Yes, a link containing nothing but "sccentral" would work in the given situation.
Like I said before, if there is no "http://" in the link, it takes the contents of the link (sccentral) and attaches it to the end of the current folder: http://reaperx90.com/sccentral. And because there is no page specified in the folder, it tosses you into index.html of the sccentral folder. Pretty neat, huh?
There is still one more piece of information that you need. Say you are in the reaperx90.com/sccentral folder, but you want to get to the root folder. You have to enter the entire URL this time, right? Nope! There is a command that goes to the previous folder - the ../ command. So just enter it as the direction of the link and you'll end up in the previous folder, which will then direct you to the index.html file. You can go back as many times as you want. Just keep entering the command: ../../../ will take you back 3 folders. Obviously, be careful when doing this - going back too far will give you the 404 page not found error.
Unfortunately, you can't use the ../ command to go back one folder and forward into a different folder in the same link. So if you're in the /teacher/cplusplus folder and you want to go to the /teacher/html folder, you can't do: ../html. You have to enter the full url: http://reaperx90.tripod.com/teacher/html. I don't exactly know why they don't allow it, but I just know that I've tried it in my CGI scripts and it wouldn't work.
You'll notice that all of these examples will end up in the index.html page of the folder. All you have to do to go to a different page is tack the page name onto the end of the link, like so: "http://reaperx90.com/sccentral/teacher.php", or "cplusplus/lesson_seven.html", or "../../whatever.html". Just thought I'd mention it to remove any potential confusion about it.
That's pretty much all you need to learn. Except for one thing. You can have an entire site that exists offline. Simply create it and use the filepath in your links. You can open your browser and enter the filepath of the site, or you can just open one of the HTML pages stored on your computer and everything will work right.
That said, using relative URLs, you can have your site both online and offline with very few, if any changes to the link design. Simply use exclusively relative URLs except where it's absolutely impossible to do so and there you go! A site that works both online and offline - barring the occasional exception of having a link that has to go back one folder and then forward to a different folder.
Alright, that's quite enough of that. Lets learn how to HTML!