W3C home > Mailing lists > Public > www-style@w3.org > April 2003

Re: Columns and other layouts

From: Ben Godfrey <afternoon@uk2.net>
Date: Tue, 29 Apr 2003 03:39:07 +0100
To: www-style@w3.org
Message-Id: <C03A56C8-79EB-11D7-8902-00039317C0C4@uk2.net>


I've been thinking lots about design w.r.t. CSS. I don't think CSS was 
written by designers, or even Quark users, who probably have the most 
to offer. Leafing through my design books I keep seeing lots and lots 
of grids and I'm finding myself thinking about the table days with 
increasing nostalgia.

At the same time there are obviously huge problems with tables in terms 
of complexity. I'm beginning to think that a very good solution would 
be a whole new syntax for implementing grid layouts. One which would be 
easy to implement for manufacturers and for designers to adopt because 
of similarity to the layout tables of yore. This syntax could also 
allow the addition of some really great new grid features like rotation 
or layers and would end the current confusion, limiting tables to data 
and creating a much more effective layout toolbox.

I realise that new specs mean longer adoptions, more code and more 
convincing, but that's progress for you! Design didn't just come along 
because it was nice, it came along because it engages people, it 
excites them, it helps them perceive information, it adds mood and 
drama to that information and because it's just as valid a form of 
expression as text. The web is so vastly popular because it's possible 
to incorporate design. I think that CSS as it currently stands 
overlooks that fact somewhat, sidelining design as a nice-to-have after 
accessibility and other concerns. I'm not saying that sites that are 
opaque to some users are a good thing, I'm saying that at the moment we 
have a preponderance of work going on in one area and too little in the 
other.

The adoption of a vector system like SVG is obviously going to be great 
when it comes, but it is not a total solution, otherwise all sites 
would be built in Flash. I think that there is a lot of middle ground 
that needs to be mapping much more thoroughly.

Ideally I'd also like to see conditionals introduced in some way, as I 
think these will make HTML and CSS more useful across the plethora of 
platforms now capable of interpreting the syntax.

If I can, I will try to begin creating module drafts for both these 
concepts.

Ben


On Tuesday, Apr 29, 2003, at 02:51 Europe/London, John Lewis wrote:

>
> Ian wrote on Monday, April 28, 2003 at 12:58:03 PM:
>
>>> Usually there are "good" and "bad" places to break a short sequence
>>> of words, like a title or a heading --- as a page designer, I'd
>>> like to be able to specify what sets of breaks are preferred.
>
>> That's something to bring up with the UNICODE consortium, I'd say.
>> What you are basically asking for is for codepoints that represent
>> the order of breaking points on a line, much like U+00AD SOFT HYPHEN
>> does with word hyphenation. This (and other content-specific
>> effects) are probably out of scope of CSS, IMHO.
>
> Most of the effect could be acheived in CSS, without the need to
> sprinkle a document with extra characters. All you would need is a new
> property (I think line-break is free, but perhaps not optimal) that
> takes at least two values, normal and smooth (or similar). The
> property wouldn't affect the width or height, just how the browser
> chooses to break lines within those constraints.
>
> Normal browser line break example:
>
>     Then came the horses. Having four feet, these managed rather
>     better than the foot-soldiers: but even they stumbled now and
>     then; and it seemed to be a regular rule that, whenever a horse
>     stumbled the rider fell off instantly. The confusion got worse
>     every moment, and Alice was very glad to get out of the wood into
>     an open place, where she found the White King seated on the
>     ground, busily writing in his memorandum-book.
>
> It's possible to minimize the differences between lines (e.g., until
> the minimum and maximum line length are as close in length as
> possible; or similar). This is done only by moving words to the next
> line, not by using common justification methods (although now that I
> think about it, applying something like this before justification
> could be interesting, if not useful). The number of lines must not
> increase.
>
> Smooth line break example:
>
>     Then came the horses. Having four feet, these managed rather
>     better than the foot-soldiers: but even they stumbled now
>     and then; and it seemed to be a regular rule that, whenever
>     a horse stumbled the rider fell off instantly. The confusion
>     got worse every moment, and Alice was very glad to get out of
>     the wood into an open place, where she found the White King
>     seated on the ground, busily writing in his memorandum-book.
>
> Note: I did this by hand, so it probably isn't perfect. The difference
> is slight with a paragraph (19 to 4). On the other hand, it makes such
> a nice difference in headings that it would probably become UA
> default.
>
> Normal line break example:
>
>     George Bush dons baseball cap, invites Chirac to a friendly game
>     of baseball
>
> Smooth line break example, in steps:
>
> Step 1
>     George Bush dons baseball cap, invites Chirac to a friendly
>     game of baseball
>
> Step 2
>     George Bush dons baseball cap, invites Chirac to a
>     friendly game of baseball
>
> Step 3
>     George Bush dons baseball cap, invites Chirac to
>     a friendly game of baseball
>
> Step 4
>     George Bush dons baseball cap, invites Chirac
>     to a friendly game of baseball
>
> Step 5
>     George Bush dons baseball cap, invites
>     Chirac to a friendly game of baseball
>
> Step 6 is thrown out because doing so would increase the difference.
>
> I'm not a programmer, but the above looks trivial compared to most of
> CSS2. It doesn't seem much more complicated than normal text flow. One
> limitation of using CSS is this manner is that you can't guarantee
> good line breaks. For example:
>
>     North Korea nukes all of Japan
>     in controversial video game
>
> To avoid line breaks like that you'd need to change the content, so
> CSS can't help. There are problems with long words, especially in
> short lines; the smoothing has little to no effect. I'm okay with
> that.
>
> -- 
> John Lewis
>
>

(q)	Ben Godfrey?
(a)	Web Developer and Designer
	See http://aftnn.org/ for details
Received on Monday, 28 April 2003 22:39:20 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 27 April 2009 13:54:21 GMT