Re: [svgwg] Opacity properties should affect nothing but opacity

Also, the solution isn't to simply apply opacity to the leaf nodes, 
because in reality non-leaf nodes are also rendered.

f.e. the following is a hypothetical 3D scene where each item is 
placed and rotated (using `matrix3d`) relative to it's parent (for 
convenience, rather than calculating world transforms manually from a 
virtual tree):

```js
<style>
    ...
    div {
        transform-style: preserve-3d;
    }
    ...
</style>

...
<div style="transform: matrix3d(...)">
    this is content

    <div style="transform: matrix3d(...)">
        this is content

        <div style="transform: matrix3d(...)">
            this is content
        </div>
    </div>
</div>
...
```

You, and people in the public-fx thread, propose that in order to make
 everything transparent we should apply opacity to the elements 
directly.

1. that is impossible in the above example without changing the 
markup, otherwise the whole object will be flattened as soon as the 
parent-most div has opacity applied to it.
2. the opacities will be inherited and multiplied anyways according to
 new spec.
3. someone who has no access to the HTML and can only modify the CSS 
is out of luck, because this requires a markup change.
4. After making the markup change (using the non-nested approach for 
CSS3D), the opacities will no longer be multiplied which will require 
JavaScript in order to do the multiplication.

This is no good.

-- 
GitHub Notification of comment by trusktr
Please view or discuss this issue at 
https://github.com/w3c/svgwg/issues/264#issuecomment-249320033 using 
your GitHub account

Received on Friday, 23 September 2016 22:48:23 UTC