Here's my shot at this:
There are two kinds of elements in HTML - inline and block.
An anchor (a) tag is an inline element. A div, for example, is a block element.
An inline element is just the text, nothing else. A block-level element is a containing element (think, p-tag or div-tag). When you style a block level element, you're styling everything within it as well.
Since you have the hover pseudo-class on the inline element (the a tag), you're only affecting the text, not the surrounding area.
You have two possible solutions to this problem -
1) make the a-tag a block level element by adding this rule to the a tag (in your css file) in question -- display: block; All the other a tags should inherit that. Be aware this could create other problems if you're currently designing around a being inline.
2) apply your hover pseudo-class to the div instead. Be aware that only non-IE browsers (save IE7) recognize the hover on non-a elements.
CSS can be tricky, but once you get comfortable with it, can be extremely powerful as well.
Edit: as it pertains to above, these are your options:
1)
#wrap #nav #NAVLINKS div a:hover {
display: block;
color: #D8D5D5;
background-color: #726969;
}
or 2)
#wrap #nav #NAVLINKS div:hover {
color: #D8D5D5;
background-color: #726969;
}