- From: Giovanni Campagna <scampa.giovanni@gmail.com>
- Date: Sun, 8 Feb 2009 16:30:58 +0100
- To: www-style@w3.org
- Message-ID: <65307430902080730x359cdb99u183c66b96f134291@mail.gmail.com>
I recently came into the CSS Generated Content for the Paged Media and found some strangeness comparing between Generated and Replaced Content and Generated Content for the Paged Media. css3-content. introduces footnotes with the "::alternate" pseudo-element for the note itself, "::alternate::marker" for the footnote call, with the "footnote" content keyword and the "move-to" property, adding a "content:pending(footnotes)" on the @bottom-left page margin box. This also works well with endnotes and section-notes, and it relatively easy to write down: example: <p>My content. <span class="note">my note</span></p> with the following CSS: .note { content: footnote; } /* this implies: .note::alternate { move-to: footnotes; content: contents; } .note { counter-increment:footnote; } */ and the following addition to UA defaults: @counter footnote super-decimal; @page { @bottom-left { content:pending(footnotes); } } If you want end notes instead of footnotes, just change the content value. If you want custom notes, just ensure that ::alternate is generated and contains the correct content. css3-gcpm instead uses the "::footnote-marker" and "::footnote-call" pseudo-elements, with the "footnote" float keyword, while for the other types of notes uses the "to()" functional notation in float and "from()" in content. example (same content as above): .note { float:footnote; } /* this implies: .note::footnote-call, .note::footnote-marker, @footnote page area */ on the other side, for endnotes and section-notes it is more difficult as every property has to be set separately. In addition to this new pseudo-elements, syntaxes, values and properties that Paged UAs must implement (and that are not needed, since the same effect can achieved with the different properties). Therefore I propose that the whole section about footnotes in css3-gcpm be reduced to the addition of "@footnotes" and footnotes magics. Also the section on named flows should be dropped in favour of the move-to property. The latter leads me to the running header. Can those be achieved without adding a new "position" value? Position should express the positioning model, not where the element is actually position, and in many places "positioned elements" are those which have a position different than static: this would break it. I think that adding a keyword to move-to is what we need: move-to: <identifier> once; means elements are appended to the <identifier> and then removed when processing pending() (like footnotes and named flows) move-to: <identifier> running; means that the current elements replaces the content of <identifier> and it is not removed when inserted with pending() (so it may be inserted an arbitrary number of times) Other changes that I would like to propose: 1) named strings are defined in two modules, with different syntaxes (in particular about the page-policy property) I think they're useful also outside of the Paged Media, so they should be inside css3-content 2) hypenation is in the scope of Text module (just copying may be fine) 3) we have a ::line-marker and 4 ::line-number pseudo-element: I think that one of two proposal should be removed I hope that this will be help the discussion Giovanni
Received on Sunday, 8 February 2009 15:31:33 UTC