Moin!
Warum so kompliziert?
Dir ist klar, daß du mit
body a:link{...}
die meisten Links NICHT formatierst, ja?
Normalerweise macht man in eine Seite entweder Absätze mit <p>, Tabellen <table><tr><td> oder Layer <div> rein. Logischerweise bricht das Konstrukt "erst <body>, dann Link <a>" dann zusammen, weil zusätzliche Tags auftreten, die nicht erfaßt werden.
.menu{ ... }
.menu a:link{ ... }
Diese Konstruktion hingegen ist durchaus sinnvoll. Dadurch kannst du einem Absatz oder einer Tabellenzelle die Klasse "menu" geben, und die enthaltenen Links werden automatisch anders formatiert.
Was deine Frage angeht, warum der BODY im .menu-Stil formatiert ist: Ohne HTML ist dazu keine Aussage möglich, wenn wir wissen natürlich nicht, wo du welche Klasse vergeben hast. Wenn du <body class="menu"> definierst, wird natürlich die Klassendefinition benutzt. :)
- Sven Rautenberg