Re: "display:transparent" or "display:nobox" (RE: thoughts on page templates)

On Thu, Feb 2, 2012 at 9:52 AM, Charles Pritchard <chuck@jumis.com> wrote:
> On 2/2/12 2:15 AM, Tab Atkins Jr. wrote:
>> On Wed, Feb 1, 2012 at 7:08 PM, Alex Mogilevsky<alexmog@microsoft.com>
>>  wrote:
>>>> From: Alex Mogilevsky
>>>> Sent: Wednesday, February 01, 2012 10:53 AM
>>>>
>>>>>> 1.1. ‘flow-into’: element vs. content
>>>>>>
>>>>>> The issue of nested containers in regions (“region-type:box” vs.
>>>>>> “region-type:slot”) can also be addressed by named flow source
>>>>>> element sending its content to the flow, e.g. like this:
>>>>>
>>>>> I like the idea of having a display value that takes the element out of
>>>>> the box tree but leaves its children.  This was previous suggested by
>>>>> me (and maybe others? I forget now) as "display: transparent".
>>>>
>>>> Interesting. "display:noblock" maybe? That would solve box/slot
>>>> difference
>>>> too.
>>>
>>> How about "display:nobox" ?
>>>
>>> That would mean "for the purposes of layout, ignore the element and
>>> consider its child nodes to be direct children of its parent node"
>>>
>>> Would it be intuitive that 'nobox' means that?
>>>
>>> (display:nonode" would be another naming option).
>>>
>>> It think it is pretty cool. Not only this allows to create placeholder
>>> regions for stuff sensitive to structure (table rows, replaced elements), it
>>> also would allow to strip off semantic elements that don't have meaning for
>>> presentation.
>>>
>>> For implementation, this seems similar to pulling together a flow from
>>> unrelated elements (could be hidden tricky issues but I don't see any yet).
>>
>> Ooh, just got a good idea - display:contents
>
>
> Is this something that will work for showing fallback content?
>
> It seems like it would.
> <canvas style="display: contents"><div>This is fallback
> content</div></canvas>
> <audio style="display: contents">I am fallback content too!</audio>

This depends on implementation.  In WebKit, these are at least
somewhat implemented with shadow DOM internally.  display:contents
would suppress the box generated by the <audio> element itself, but
the 'contents' of it is still the shadow subtree.  You would instead
need to apply a fresh shadow subtree that just grabbed the light-DOM
children.

~TJ

Received on Thursday, 2 February 2012 18:13:56 UTC