W3C home > Mailing lists > Public > www-style@w3.org > August 1997

Re: Extensions of CSS for horizontal layout / columns

From: Douglas Rand <drand@sgi.com>
Date: Mon, 18 Aug 1997 10:50:14 -0400
Message-ID: <33F86126.F23F7297@sgi.com>
To: neil@bigpic.com
CC: www-style@w3.org
Neil St.Laurent wrote:
>...
> Here are the things that I think would allow CSS to be viable as a
> horizontal presentation medium as well as vertical.
>
> The simple extensions:
> 
> height: <length> | <percentage> | auto
> The <percentage> is added to mirror 'width'

Generally there are width constraints and the height cannot always be 
honored.  I don't have any problem with the use of the already existing
property "height" (you did know that it's there?) for setting sizes on 
blocks since you can honor them as a minimum height rather than a
constrained height.  Did you want something beyond the currently 
available stuff?

> float: left | right | top | bottom | none

top == top of page/column?  This is a reasonable thing to add,
although a UA would probably have to ignore it in the absence
of pagination.

> clear: none | left | right | top | bottom | all

What does clear mean in this context?  For the left/right floaters,
you might have text next to something.  Will you often want to leave
an entire column/page blank?  I'm just trying to see this clarified.

> A particular problem here is that left/right almost have to be
> exclusive with top/bottom, unless we mark sections as below.
> 
> columns: <number> | <length>
> Unfortunately this would require some sort of extension to
> essentially allow the following properties as well:
> column-padding
> column-margins
> column-border
> column-background

I believe some folks have talked about this some.  But wouldn't
it be better to have some sort of pseudo-element called column,
and have the padding/margin/border/background/etc. apply to that
pseudo-element?

> keep-together:  all | <number> | <length> | none
> Applies to: block-level
> Keep-together can be used to make sure that one line of a paragraph
> doesn't appear on a separate page, specify 6 would make sure that at
> least 6 lines appear on each page/column.  All would specify that no
> split can occur inside the element.

It might be better to have two properties,  one for widows and one for
orphans...  just a comment.  Or have keep-together take two parameters,
one for each,  and the second = first by default.

> A significant extension that I think would prove most valuable, but
> liekly most difficult to implement is:
> 
> content-flow: vertical | horizontal
>
> This could be used within a <DIV> section to indicate how content is
> to be placed relative to the previous content.  Vertical is the
> default and the way we do it now:
> 
> [Content 1]
> [Content 2]
> [Content 3]
> 
> Horizontal would mean:
> 
> [Content 1][Content 2][Content 3]

Here's where you lose me.  I'm pretty violently against this notion,
as is.  I think we can do something which would satisfy about 80% of
what you want with some sort of pagination control.  The browser could
then offer the user the ability to view the content page by page,
page next to page, or the in the current fashion which has no page 
breaks.  Doing what you're suggesting doesn't,  IMO,  add a useful
way of presenting documents.  It does open up the possibilities of
really awful layouts.  About the only good use I could imagine would
be a matrix of pages,  which might be another reasonable browser 
option.

Regards,
Doug
-- 
Doug Rand				drand@sgi.com
Silicon Graphics/SSO			http://reality.sgi.com/drand
Disclaimer: These are my views,  SGI's views are in 3D
Received on Monday, 18 August 1997 10:50:47 GMT

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