- From: Christoph Päper <christoph.paeper@crissov.de>
- Date: Sat, 6 Aug 2011 18:50:33 +0200
- To: "www-style@w3.org Style" <www-style@w3.org>
I suggest to consider six new pseudo elements for the Generated Content module, although I’m not entirely sure they would be all that useful: ‘::top’ Generates a box at the visual top of the anchor box which is generated for ‘x’ with “x::top”. The type (and thereby exact placement) of the box depends on the ‘box-sizing’ property. Normal margin collapsing applies if applicable. Its initial ‘width’ is inherited from the anchor box, all other properties have default initial values. ‘::right’ Like ‘::top’, but at the visual right and it inherits only the ‘height’ from the anchor box. ‘::bottom’ Like ‘::top’, but at the visual bottom. ‘::left’ Like ‘::right’, but at the visual left. ‘::start’ A relative alias for the four absolute pseudo elements above. It depends on block progression for block boxes, (on line progression for line boxes) and on glyph progression for inline boxes. ‘::end’ Like ‘::start’, but at the opposite side. Later levels may also define ‘::top-right’ or ‘::top-corner’ ‘::right-bottom’ or ‘::right-corner’ ‘::bottom-left’ or ‘::bottom-corner’ ‘::left-top’ or ‘::left-corner’ to address the corner areas, and unions ‘::top-side’ or ‘::left-top-right’ := ::left-top, ::top, ::top-right ‘::right-side’ or ‘::top-right-bottom’ := ::top-right, ::right, ::right-bottom ‘::bottom-side’ or ‘::right-bottom-left’ := ::right-bottom, ::bottom, ::bottom-left ‘::left-side’ or ‘::bottom-left-top’ := ::bottom-left, ::left, ::left-top as well as less useful ‘::top-top-right’ := ::top, ::top-right ‘::top-right-right’ := ::top-right, ::right ‘::right-right-bottom’ := ::right, ::right-bottom ‘::right-bottom-bottom’ := ::right-bottom, ::bottom ‘::bottom-bottom-left’ := ::bottom, ::bottom-left ‘::bottom-left-left’ := ::bottom-left, ::left ‘::left-left-top’ := ::left, ::left-top ‘::left-top-top’ := ::left-top, ::top to incorporate them, or, when non-rectangular boxes are supported, ‘::top-right-side’ := ::top, ::top-right, ::right ‘::right-bottom-side’ := ::right, ::right-bottom, ::bottom ‘::bottom-left-side’ := ::bottom, ::bottom-left, ::left ‘::left-top-side’ := ::left, ::left-top, ::top ‘::non-top-side’ := ::right, ::bottom-side, ::left ‘::non-right-side’ := ::bottom, ::left-side, ::top ‘::non-bottom-side’ := ::left, ::top-side, ::right ‘::non-left-side’ := ::top, ::right-side, ::bottom ‘::non-top’ := ::right-side, ::bottom, ::left-side ‘::non-right’ := ::bottom-side, ::left, ::top-side ‘::non-bottom’ := ::left-side, ::top, ::right-side ‘::non-left’ := ::top-side, ::right, ::bottom-side ‘::sides’ := ::top, :non-top (I left out combinations with ‘start’ and ‘end’ for sanity’s sake.) This could (and probably should) be unified with page margin boxes from the Paged Media module <http://dev.w3.org/csswg/css3-page/#margin-boxes> which uses conflicting nomenclature and splits the (small) side boxes into three parts: @page { size: 8.5in 11in; margin: 10%; @top-left {content: "Hamlet";} @top-right {content: "Page " counter(page);} } would become something akin @page {size: 8.5in 11in; margin: 10%;} @page::top::left {content: "Hamlet";} @page::top::right {content: "Page " counter(page);}
Received on Saturday, 6 August 2011 16:51:04 UTC