Re: Additional value for the visibility property

On Thu, Jul 10, 2008 at 4:14 PM, Andrew Fedoniouk <news@terrainformatica.com>
wrote:

> Robert O'Callahan wrote:
>
>> On Thu, Jul 10, 2008 at 6:26 AM, Andrew Fedoniouk <
>> news@terrainformatica.com <mailto:news@terrainformatica.com>> wrote:
>>
>>    In this case we shall define something like "rendering is undefined"
>>    for the case when transparent element has not in-flow children.
>>
>>
>> Making rendering "undefined" is unacceptable when there's a perfectly
>> reasonable alternative.
>>
>> You can try to write a spec for exactly what Opera does, but you'll find
>> it's significantly more complicated than just creating a stacking context
>> for the element with 'opacity'. Which is why I would argue that Opera's
>> behaviour is actually *not* more natural.
>>
>>
> Opera does simple thing for elements with opacity:
> It renders only in-flow children on the offscreen buffer (layer).


It's not that simple. Out-of-flow descendants are also affected in Opera;
they're rendered to their own buffers with the same opacity value, and then
the buffers are stacked. But of course an out-of-flow descendant can have
multiple ancestors with opacity, and it seems Opera multiplies the opacity
values up the ancestor chain ... or something like that.

An interesting thing about this approach is that there's no way to take,
say, an absolutely-positioned container with abs-pos children, or a block
formatting context with float children, and render the whole thing including
all its descendants with group opacity. So when you apply opacity to a BFC
with a lot of normal content and a few floats, it's going to look bad.

Anyway, Anne (Opera) already mentioned that they consider this a bug and
will change their behaviour to match what Gecko and Webkit do, so I don't
know why we're still discussing it.

Rob
-- 
"He was pierced for our transgressions, he was crushed for our iniquities;
the punishment that brought us peace was upon him, and by his wounds we are
healed. We all, like sheep, have gone astray, each of us has turned to his
own way; and the LORD has laid on him the iniquity of us all." [Isaiah
53:5-6]

Received on Thursday, 10 July 2008 04:32:42 UTC