Scotty13 **please** don't settle for that solution. :-) Why?
The idea is to separate
content from
presentation markup. By using the non breaking space, you're putting markup in your content. Same is true by using <br> for line spaces, spacer images in table cells, and a whole list of other workarounds - which is exactly what they are. It bloats your code, makes it hard to maintain, and there are far better tools for the job.
Another reason is that is in effect a text spacing element, and text elements will vary from browser to browser and user to user. It may work for you, but will it work for everyone else? Maybe. Maybe not.
The best suggestion is tedster's offering - use CSS to do it. Another way would be
<table
id="nav-table" cellpadding="0" cellspacing="0">
then
#nav-table { width:921px; margin: auto; }
#nav-table td p a { padding: 0 6px; } /* padding left/right, not top/bottom */
This also removes the deprecated align and width elements for <table>, and you can remove the unnecessary div inside the table cell, further economizing your code.
Best of all is to not use tables for layout (tables are for tabular data, ulse list items or html5 header and nav elements instead), but first things first, baby steps to semantic html . . .
w3schools dot com
But do so with a grain of salt - see post #4388167 [webmasterworld.com]