As for the page-stretching navigation, you need to use fuax columns. Something like....
Code:
div#navi {
width: 25%;
float: left;
margin-left: 1%
}
div#content {
margin-left: 27%;
margin-right: 1%;
float: left;
width: 70%;
border-left: 1px solid #000;
}
That's a basic two column layout.[/QUOTE]
That nav won't go all the way down the page, though. There are several ways to accomplish this, though.
First, there's the way it SHOULD be done:
#nav { display: table-cell; }
#content { display: table-cell; }
No IE support, of course. You can use the Dean Edwards IE7 js library to get this to work properly in IE I believe (
http://dean.edwards.name/IE7/)
Then there is the common and easy hack of creating an image for the background of the page that makes it APPEAR to have a column. The exact implementation is highly dependent upon several factors, primarily whether you are using liquid layout or not. Just remember you can use percentage value with background-position. Then use repeat-y to make it go all the way down the page.
There are also javascript solutions that measure the height of the page and then set a block or inline-block element to have the same height.
As to the underline/overline thing, use something like this instead if you are having trouble with browser support:
.navbar a {
border-top: 1px none;
border-bottom: 1px none;
}
.navbar:hover a {
border-top: 1px solid;
border-bottom: 1px solid;
}
Also, are you sure you have that :hover in the right place? It would make alot more sense as .navbar a:hover...