Es gibt einen sehr guten Grund gegen deinen Vorschlag, <style> auch im Body zu erlauben:
CSS ist so gestrickt, dass User-Agenten zuerst das HTML laden können, dann das im Head verlinkte oder angegebene CSS (mit <style>, @import oder <link>), und danach in der Lage sind, alle während des Ladens von HTML noch hereinkommenden HTML-Elemente sofort anhand der CSS-Angaben zu rendern.
Würde innerhalb des BODY erlaubt sein, <style>-Bereiche zu definieren, würde damit eine Redefinition sämtlicher Styles möglich sein - und es wäre erforderlich, bei Auftreten eines solchen Bereichs das Rendering der gesamten Seite neu zu starten.
Hmm, eine Redefinition muss nicht gleich das Rändern neu starten.
Der Effekt ist der gleiche wie im Attribut. Dieses
überschreibt einen eventuell vorhanden Eintrag
im Stylesheet. Bei einer Styleangabe gilt dann nur die Überschreibung für alles Folgende. Soll ja nicht
wieder oben anfangen.
Was ist jetzt mit dem Quelltext hier, hatte ich recht oder nicht ?