for the css route, you can use the post_class()
function to give you category dependant css classes.
if you go beyond formatting, i.e. output different elements depending on the category, you could use the conditional tag in_category()
in an ‘if-elseif-else’ structure.
the category archives can be done with category templates.