W3C home > Mailing lists > Public > public-fx@w3.org > July to September 2016

Re: [css-transforms] CSS3D issue with opacity in Chrome 53

From: Tab Atkins Jr. <jackalmage@gmail.com>
Date: Thu, 29 Sep 2016 11:29:18 -0700
Message-ID: <CAAWBYDB66p5dsK9RQR2h3uYpGtMwc4mj-y38VqgOyavvCPikag@mail.gmail.com>
To: Andrew Prendergast <ap@vizdynamics.com>
Cc: "public-fx@w3.org" <public-fx@w3.org>
On Sat, Sep 24, 2016 at 4:15 PM, Andrew Prendergast <ap@vizdynamics.com> wrote:
> Hi TJ,
>
> Thanks for the note.
>
> I looked over the various threads myself and I think the core issue is best
> summarised as follows:
>
> Setting opacity is causing the side effect of modifying the transformation
> of child nodes and is highly unexpected.
>
> Those working with SVG and CSS3D have provided detailed examples of why this
> is a problem.
>
> The fix is straightforward - setting opacity should only affect opacity.

As I explained in the linked thread, "only affect opacity" is
impossible while maintaining the concept of "group opacity". If you
push the opacity effect down to the leaves of the rendering tree, you
can "only affect opacity", but then you lose the useful "group"
effects, like having one element occlude another (resulting in the
"screaming skull effect" I reference in the linked thread.  If you're
okay with those effects, you can get them yourself, by applying
opacity further down the tree, rather than high up on an ancestor.

There are fundamental tradeoffs here, tho. You can't have both group
opacity and avoid flattening, by definition.

~TJ
Received on Thursday, 29 September 2016 18:30:08 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 19:49:57 UTC