Hello Leon,
I don't want to start an argument on this topic, but I would
like to quote a couple of experts in the area of stylesheets, then
quote the W3C itself, since you mentioned them.
Simon Collison, from Beginning CSS Web Development, Page 10:
Multiple Style Sheets:
Consider a style sheet that contains all of the rules you've
created for an entire site. Let's say that the site is equivalent
in size to the BBC web site, which is very, very big indeed. All
the styles required would result in one long, unmanageable style
sheet, so splitting the style sheet into manageable chunks is a
much better option here.
Andy Budd, CSS Mastery, page 24
For a simple website, you can get away with using a single
CSS file. With larger and more complicated sites, it can be a good
idea to separate your styles for ease of maintenance. How you
separate your styles is a matter of choice. I generally have one
CSS file for the basic layout and another for typography and design
embellishment. This way, once the layout is set, I rarely have to
go back and change the layout style sheet. This also protects my
layout styles sheet from accidentally being altered and breaking.
You can abstract things further by creating a separate CSS
file for color. Then, if you want to offer different color themes,
it is easy to create a new color style sheet. If you have lots of
forms on your site, you may want to create a separate CSS file for
all of your form styles. You can then link that file only when it
is needed, thus reducing the initial download overhead. If you have
some pages on your site that are very distinct from the rest of
your site, you may want to consider splitting these off into their
own CSS files. For instance, if your homepage layout is very
different from the rest of the site, you may want to create a
separate CSS file for the homepage.
Now, if you'd like to visit
http://www.w3.org/TR/html401/present/styles.html#h-14.3.1
you'll read:
14.3.1 Preferred and alternate style sheets
HTML allows authors to associate any number of external style
sheets with a document. The style sheet language defines how
multiple external style sheets interact (for example, the CSS
"cascade" rules).