Are there any good archives / repositories of css stylesheets anywhere that
people would recommend?
No, because I think I know what I really do need here and I don't know
of anywhere that offers it.
if you want a bare stylesheet (which you don't), try Visual Studio
(yes, really). Much condemned, but the bare stylesheets they used to
bundle did at least include sensible sets of colours and a reasonabe
graphic look.
Why the bare stylesheet doesn't work in practice is that you need a
site meta-structure to be defined first. This exists on top of of the
pre-defined HTML & CSS specifications and best practices, is shared by
all(sic) the pages of your site and is pretty much essential for
getting anywhere. Techniques for expressing such a meta-structure are
still imprecise and largely manual.
When you draw your site's wireframes you'll design "a big box of
content over here, two skinny columns stacked on top of each other on
the right, and a little legal boilerplate footer hiding down the
bottom." or something of that ilk. The meta-structure is a record of
both this, and some behaviours for these content elements as the
window resizes etc., i.e. as the window width changes, how do the
blocks re-flow amongst each other?
The meta-structure will usually describe pages at at least two levels:
one is the site's overall behaviours, the other is for groups of pages
within the site that have a similar look. Often the site sets the
presentation style, the sub-groups how many columns etc. and their
relative fluidity. Some large sites might also them content-based
subgroups (e.g. "News" in red, "Features" in blue) and that's a third
or further layer of categorization within the meta-structure.
Your abstract meta-structure is then used to define an
implementational HTML structure that your pages can follow: the number
and grouping of the <div> elements etc. used to construct each content
block (and how many are needed to achieve the presentational effects
you want), the identifier and class annotations you use here to attach
the CSS itself. Also consider the linear sequence of these elements,
within the HTML.
You should now have HTML pages that "work" in a minimal style (a
necessary condition for accessibility), even without the styling. This
simple linearised version is what the web spiders and speech readers
will see.
On top of this, you write the CSS. This is actually quite simple, as
the design "decisions" have already been taken when definining the
meta structure, the CSS merely makes an incarnation of this. It's a
technically skilled task and still has some choices to be made about
choosing some techniques over others to gain wider browser support
etc., but largely it's now a process of mechanical labour.
Note two somewhat controversial things about this approach:
* The HTML is somewhat presentational. This is deliberate, because
although the HTML 4 + CSS approach is widely assumed to _absolutely_
separate content and presentation, this is a falsehood. You need
presentational HTML in HTML 4.01 Strict. What should be avoided are
the HTML 3.2 leftovers, the presentational properties of old HTML.
The HTML is modified (i.e. extended) according to presentational
needs. CSS does _not_ assume that any HTML can be styled to achieve
any result (read Haakon Lie's PhD thesis) - for simplicity in CSS'
implementation and use, it relies on there already being enough
"hooks" in the HTML to achieve your presentation style, it's not a
styling language like DSSSL (or in some ways, XSLT) that has the
ability to transform or extend the underlying content document. What
should still be permitted for "presentation HTML" (i.e. current best-
practice HTML coding) are additional structural expressions in HTML
that were only required by presentation requirements, not content
semantics.
* Secondly we can't build a CSS Zen Garden. CSS doesn't support zen
gardens (and never did), it's not a goal of CSS that "any" document
can be styled to achieve "any" result. For non-trivial presentations
you _do_ need to extend the HTML.
Of course pre-building HTML to address a superset of all the likely
zen gardens does mean that in practice you can still achieve skinning
by changing the CSS alone.
So how does all of this influence the (self-evidently obvious)
shortage of off-the-shelf CSS libraries? Because such a library
(barring trivial colour schemes) just isn't enough. You need the meta
structure too, and first.
There are a few sites that do offer such a thing. I'm not aware of any
that support "CSS repositories for sites", but if you look at good
examples (Bluerobot's well-known 3-column layout, for example) you'll
see this meta-structure approach at work, but just for one aspect of
page design, not as libraries for entire sites.