A simple XSLT macro which you can use in your Templates to generate a dynamic opening <body> tag which includes "id" and "class" tags you can use in advanced CSS.
The "id" tag will be set equal to "Node0000" (where 0000 is your nodeid) - this allows you to do page-by-page styling in css (ex: #Node0000 h1 { color:#FFD600} which would change the color of h1 tags only on this single page).
There is an option to also add a "class" tag set equal to the alias of the template for the page, which allows you to specify CSS specific to a certain template (ex: body.SalesPage h1 { color:#FFD600} which would change the color of h1 tags only for the SalesPage template).
If you need something else included in your body tag, for instance, your own custom class tag, or margin info, you can specify that as well and it will be included.
Example usage:
<umbraco:Macro TextForTag="top-margin="0""IncludeClass="1" Alias="Util_BodyTag"runat="server"></umbraco:Macro>
would generate something like:
<body id="Node1111" class="MyTemplate" top-margin="0">
*Please Note: This only creates the opening body tag, don't forget to add a standard "</body>" tag to your template opposite of this macro*