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/

Reply via email to