- From: Alan Gresley <alan@css-class.com>
- Date: Wed, 16 Jul 2014 16:19:20 +1000
- To: Shane Stephens <shans@google.com>, Dean Jackson <dino@apple.com>
- CC: Dirk Schulze <dschulze@adobe.com>, www-style list <www-style@w3.org>
On 16/07/2014 2:12 PM, Shane Stephens wrote: > On Wed, Jul 16, 2014 at 1:58 PM, Dean Jackson <dino@apple.com> wrote: >> On 16 Jul 2014, at 13:24, Shane Stephens <shans@google.com> wrote: >> Wait, you're not talking about the proposal then. You're making a new >> proposal where the author can only set one of the values. If they can set >> more than one, e.g. rotate AND translate, then there has to be order >> dependency, right? And an author needs to understand what that dependency >> means. >> > > OK, I think this is the crux of the misunderstanding. In the general case, > components of a transform list have an effect that is dependent upon the > components that have preceded them. So for example, a translate(100px) will > actually translate by (70px, 70px) if preceded by a rotate(45deg). This is not true. A box is translated by (100px, 100px) if preceded by a rotate(45deg). It is easier to understand with nested elements. <style type="text/css"> #outer { background: rgba(255,0,0,0.5); margin: 100px; float: left; width: 100px; height: 100px; } #outer div { background: rgba(0,0,255,0.5); width: 100px; height: 100px; } #inner1a { transform: translate(100px, 100px) rotate(45deg); } div#inner1b { transform: translate(100px, 100px); background: rgba(255,255,0,0.5); } #inner1b div { transform: rotate(45deg); background: rgba(0,0,255,0.5); } #inner2a { transform: rotate(45deg) translate(100px, 100px); } div#inner2b { transform: rotate(45deg); background: rgba(255,255,0,0.5); } #inner2b div { transform: translate(100px, 100px); background: rgba(0,0,255,0.5); } </style> <div id="outer"> <div id="inner1a"></div> </div> <div id="outer"> <div id="inner1b"><div></div></div> </div> <div id="outer"> <div id="inner2a"></div> </div> <div id="outer"> <div id="inner2b"><div></div></div> </div> > However, there's an ordering for which this dependency doesn't occur. > Taking just rotate and translate, for example, performing the rotation > after any translation has the same local effect as performing the rotation > alone. The proposal uses this order. I do not follow what you mean here. What is local effect? > So when we talk about 'order dependency', this is what we mean - that a > translation in X can turn into a translation in X and Y if preceded by a > rotation, or that a simple scale and rotate can turn into a skew if applied > in the wrong order. This is not true on several counts. A translation in X does not turn into a translation in X and Y if preceded by a rotation and skew is completely different. Alan
Received on Wednesday, 16 July 2014 06:22:19 UTC