- From: Håkon Wium Lie <howcome@opera.com>
- Date: Mon, 28 Jul 2014 23:58:41 +0200
- To: Brad Kemper <brad.kemper@gmail.com>
- Cc: Dave Cramer <dauwhe@gmail.com>, "www-style\@w3.org" <www-style@w3.org>
Brad Kemper wrote:
> > IMHO, using @slot or some other CSS-based syntax makes much more sense
> > than using element-based regions.
>
> Agreed, but regions are not just element based, they are a general
> mechanism that can be used with elements, pseudo-elements, etc.
> They are still standard regions (using the standard 'flow-from'
> property) in this proposed footnote syntax, but the container is
> created via the mechanisms of the pagination templates draft (I.e.
> '@slot'). I like that approach too.
Yes, I like @slot (or @area). My point is that there's no need to
refer to them as elements of any kind -- it's a zebra, not a
pseudo-horse.
> > CSS Books [1] uses CSS-based syntax to create "named areas" (to
> > complement "named pages"). The basic syntax is:
> >
> > @page {
> > @area footnotes { /* position the area */ }
> > }
> > span.fn { flow: footnotes }
> >
> > It should be possible to converge @slot and @area. Let's investigate.
>
> I think pagination templates has the general idea of defining areas
> that can be filled via the 'flow-from' property of the regions
> draft. If we can do that and also have it fulfill all the
> functionality provided by @area, then I also think that is a great
> idea to investigate. I don't really care if the containers are
> called "slots" or "areas".
Neither do I. I care about the use cases in for named areas,
especially the placement of notes:
http://books.spec.whatwg.org/#placement-in-named-areas
The spec isn't fully developed, but it should be possible to
understand the use cases.
> > Named areas are not created unless they have content. This seems like a better default.
>
> @slot is also useful for creating areas of the page, such as
> sidebars, that the author might still want styled even when there
> is no content to flow into them. It seems reasonable for there to
> be some sort of switch for that (such as 'required-flow'), while
> still maintaining @slot as the general mechanism.
Yes.
> >> C. The interaction between footnotes and columns is complex. In particular,
> >> how would you specify that a footnote be displayed at the bottom of the
> >> column that contains the reference?
> >
> > Prince addresses this by having a separate value on float:
> >
> > float: column-footnote
> >
> > in addition to the normal:
> >
> > float: footnote
>
> So far, the pagination templates draft has a different approach
> than using new float values, and seems to get by without them. It
> seems to have a more top-down approach to laying out the page in
> predetermined ways, rather than the somewhat more organic layout
> creation approach of floating to the bottom of something (of a
> page, or of a column).
Right. Generally, CSS Books & CSS Figures attaches more information to
elements ("I'm a float, I want to float to the top!"), while
Pagination encodes more information in separate templates ("If an
image appears in the first column of this two-column layout, it will
float to the top!").
(I happen to prefer the first approach as I believe the resulting
designs will be more responsive to various screen sizes; not all
designers will remember to write page templates for all sorts of
devices. Also, I believe the code will be more compact and human
readable/writable/editable.)
> >> span.footnote {
> >> flow-into: footnote;
> >> bikeshed-display: compact;
> >> }
> >
> > We could add properties for this, but it may be easier to add support
> > for many variations in footnote formatting by using a functional
> > notation. E.g.:
> >
> > float: footnote; /* default: block-level, bottom of page */
> > float: footnote(inline) /* inline footnotes, bottom of page */
> > float: footnote(compact) /* conditional block/inline, bottom of page */
> > float: footnote(column) /* block-level, bottom of column */
> > float: footnote(compact column) /* conditional block/inline, bottom of column */
>
> Having lots of variations on float values seems more complicated
> that using 'flow-from' and 'flow-into' to put it into a slot/area.
My examples didn't replace 'flow-from'/'flow-into' -- they replaced
'bikeshed-display'.
> Maybe the equivalent using regions and templates only would be to
> add another component value to 'flow-into', like 'flow-into:
> footnotes compact'.
Perhaps. I believe there are cases where you have different kinds
(block/inline) of footnotes in the same flow, so you need to set
properties on a per-element basis (rather than on a per-flow basis).
> Does 'compact' mean that the UA would decide on its own whether to
> make the footnote inline or block, based on the length? Or
> something? It sounds kind of sketchy to me, regardless of it it is
> using floats or regions.
There's a discussion on the topic around here:
http://lists.w3.org/Archives/Public/www-style/2013Oct/0616.html
-h&kon
Håkon Wium Lie CTO °þe®ª
howcome@opera.com http://people.opera.com/howcome
Received on Monday, 28 July 2014 21:59:20 UTC