- 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