Re: indents

At 2:09 PM -0400 4/10/97, Steve Knoblock wrote:
> I do this when marking up text:
> <p class=initial>...
> and set whatever properties I want.
> I hope the pseudo class does not become a catch-all dustbin for doing
> things that should be done in markup classing.

Wait a minute - I thought CSS was supposed to deliver us from temptation to
use markup as "a catch-all dustbin" for purely presentational effects. If
your only purpose in using <p class=initial> is to hang a style off of it,
your markup is effectively presentational. You can't readily re-use this
element, because "initial" is correct only in the context of a particular
rendering. This is not necessarily evil, and cannot always be avoided, but
as it is a very common desideratum, I think it's a good candidate for
becoming a CSS pseudoclass.

On further reflection, "P:continued" would be a more useful pseudoclass
than P:initial. It would define <p> elements that are preceded by other <p>
elements. Then in your stylesheet you could say that P has no indent, while
P:continued does.

A more general mechanism to apply style conditionally based on before/after
rules is under development, I believe. I wish it could have made it into

> Otherwise we ought to move
> to SGML where you can have your own <initialpara>text</initialpara> or such
> and hang a style directly on it.

XML. You can do this today, sorta. Compare <div class=initialpara>. A lot
of CSS on the web uses this workaround already, because "margin-top" is
broken in IE3. But I would argue, again, that "initial" as a typographical
phenomenon is accidental to a particular rendering of a document, not
essential to its structure, and as such belongs ideally to a style sheet
mechanism to handle. Not markup, or markup classing.

> All you need is one of those search and replace over files applications to
> search out <p> and replace it with <p class=initial>.

First, you should not have to re-author content like this to achieve a
reasonably sophisticated presentation with CSS - as a reader with a
personal stylesheet, this is not an option. Second, the search would have
to be a good deal more sophisticated that what you describe: you need an
editor that understands the DTD (the container model, at least) and can do
boolean search/replaces. (You could fake it with regular expressions and
grep, I think. BBEdit will do.)

> I totally agree with you about headings. It's been a standard
> recommendation to use H3 when you mean H1 for a long time. Sometimes I like
> to follow the advice to make all heading the same font-size and
> differentiate them by font-variant.

I've been playing with varying outdents, case transformations, and
letter-spacing, in addition to varying leading and trailing space. IE4's
CSS implementation seems to be better than 95% there, the "em" thing being
a notable exception.

Oh yeah: "display: inline" is broken, too: you can't override the UA
default for block-level elements.

Todd Fahrner