- From: Tab Atkins Jr. <jackalmage@gmail.com>
- Date: Mon, 19 Mar 2012 18:18:05 -0700
- To: www-style list <www-style@w3.org>
The element() function currently allows an out-of-document element to be selected and (in some cases) rendered, through a mechanism that is host-language dependent. There is an informative example of this using the CSSElementMap API I proposed to be added to HTML for this purpose. There's been a relatively large amount of discussion and disagreement over multiple aspects of this: 1. Some people don't like having id selectors refer to out-of-document elements, as it's inconsistent with how the same selector would work in other contexts. 2. The behavior of this for SVG fragments is underdefined currently, because CSS in out-of-document trees is underdefined. 3. The existence of the CSSElementMap in HTML is contested. Some suggest that it should be part of CSSOM instead, or have a different name, or have slightly different behavior (such as relying on the element's own @id attribute, rather than using the key in the map as an alternative id. 4. Some people think the current ability is too limited to really be useful, and we should wait and combine it with the ability to reference elements from external documents as well. This would allow things like making a paint-server gallery in an SVG file and then referencing it in your CSS; right now you'd have to insert the SVG into every page, either as direct markup or with script. My proposal is to drop all references to this ability for now, and resolve these issues either in Images 4 or another spec like CSSOM. I'd remove all references to out-of-document elements from the spec. This still leaves in useful abilities, like the ability to use a non-rendered element; it would just require putting the element into the document and giving it display:none. This also lets us avoid the handful of issues around this subject recorded in <http://wiki.csswg.org/spec/css3-images>. Thoughts? ~TJ
Received on Tuesday, 20 March 2012 01:18:54 UTC