正直に言って、ネスケのバグとしか思えません。 NN4.5までの確認ですが、ブロックレベル要素を インライン要素に解釈しているためおかしな表示になるようです。
どうしてもネスケでもバックグラウンドを綺麗に表示したいのであれば、テーブルを使うことが最も早道です。 裏技的に「display:block」を入れたり、「border:1pt none」を入れたりすると回避できる場合が多々あります。
IDセレクタは最もその優先度が高く、頻繁に使うべきものではありません。 これは、CSSの汎用性を重視するものであり、必ずしも守らなければならないルールではありませんが、 一般的にはクラスセレクタの方を使うようにした方が良いようです。
CSS記述に関しては複数の方法があります。 この中でも、ヘッダ部分に直接記述する方法と、外部CSSファイルを読み込む方法がポピュラーですが、 読込速度(キャッシュが使える)やメンテナンスを考えると、外部ファイルの読込が最も効率的です。
<DIV STYLE="text-align:center">〜</DIV>とします。 「〜」の部分がセンタリングされますので、ページ全体をセンタリングしたい場合は全体をこれで括れば良いことになります。
STYLE属性でなく、「.center」などとクラスセレクタを用いることで汎用性を持たせる方が賢明です。
お馴染みのCENTER要素はHTML4.0では非推奨となり、この方法が現在最も最適な方法です。 IE4,NC4以上であれば問題なく表示可能です。
本来であればIMG要素に直接「border」プロパティを指定したいところですが、NC4ではうまく表示できません。 そこで、SPAN要素やDIV要素を用いて、それに「border」プロパティを指定します。
CSSは、例外を除き本来全ての要素に適用可能です。 しかし、ブラウザの実装が不十分で、様々な工夫が必要です。 テーブルも例外ではなく、 「<td><span class="sp">CSSをSPANに適用</span></td>」 のように、効果的にDIVやSPANを使うことが確実な方法です。
CSSの実際のところも参考にどうぞ。