On 2011-04-06 03:36, Tab Atkins Jr. wrote:
I like the idea of using display:list-item for the<summary>. It has some unfortunate weaknesses due to the way that display:list-item is defined; in particular, you can't get an inline summary without losing the disclosure marker, since there's no way to make an inline list-item right now.
If authors want to do that now, it's not such a big deal for them to provide their own disclosure icon as a background image in the padding area, or to use this in their own styles:
[open]>summary::before { content: url(open.png); } summary::before { content: url(closed.png); }.
I expect this to be fixed on the CSS side in due time, with the 'display' property split into some subproperties such that ::marker generation is independent of the list item being inline or block.
Yes, that will be useful.
I also like the display:transparent idea for handling the wrapper around the rest of the contents.
:-)
Swapping out bindings (the second solution) feels hacky and bad. Using a <details>-specific pseudo-element (the third solution) doesn't actually solve the problem - it's still a box surrounding the extra content, so it would suffer from the same problem that was previous cited, where setting display:table-cell on an element in the contents wouldn't work as intended. Its only good side is that you can style the pseudoelement directly, which would make *some* use-cases salvageable.
Agreed, that's why I said it only provides a workaround, and we are not taking that approach internally.
Our implementation will be black-box-equivalent to the first two alternatives, minus the XBL bindings, and our UA stylesheet will be exactly as I described in the proposed solution.
So either of those approaches should be acceptable, though I do prefer the more elegant display:transparent; approach.
-- Lachlan Hunt - Opera Software http://lachy.id.au/ http://www.opera.com/