- From: Nicholas Shanks <contact@nickshanks.com>
- Date: Wed, 12 May 2004 00:50:21 +0100
- To: www-style@w3.org
Having been pointed to Ian Hixie's comments on table-column and
table-column-group, and what the reasons are behind the current
limitations, I would like to put forward this proposal for extending
the inheritance model, and how it would apply to table-cell elements.
Any element can inherit from any other element according to the
following list of relationships:
Pass Zero: (XHTML/HTML only)
- all elements are given their default properties.
- properties given in element attributes (style="...") are applied
Pass N: (N = 1 initially)
- element relationship list is (re-)constructed according to current
style
- if there is no relationship N for the element, terminate inheritance
processing
- elements inherit from the element matching relationship N.
- properties given in element attributes (style="...") are applied
- repeat for 'Pass N+1'
Inheritance relationships: (CSS-style specificity)
Element
1. parent
Element[display='table-column-group']
/* none */
Element[display='table-cell']
1. parent
2. parent.parent.getElementsByStyle('display',
'table-column')[position()]
Psudo-function meanings:
getElementsByStyle() is like the DOM method getElementsByTagName(),
returning an ordered NodeList
position() returns the position of the current element (identical to
XPath function of the same name)
the current element being of course ".", not
"parent.parent.getElementsByStyle('display', 'table-column')"
Further relationships can be added as necessary, but for now this would
just be used for tables :-)
Would this work, it looks implementable to me. Any comments?
- Nick.
Received on Tuesday, 11 May 2004 19:50:26 UTC