- From: Lea Verou <lea@verou.me>
- Date: Sun, 13 Jul 2014 21:04:13 +0300
- To: Dirk Schulze <dschulze@adobe.com>
- Cc: "Tab Atkins Jr." <jackalmage@gmail.com>, www-style list <www-style@w3.org>
On Jul 13, 2014, at 17:04, Dirk Schulze <dschulze@adobe.com> wrote: > > On Jul 13, 2014, at 5:13 AM, Tab Atkins Jr. <jackalmage@gmail.com> wrote: > >> transform: <perspective> <translateX> <translateY> <translateZ> >> <rotateX> <rotateY> <rotateZ> <rotate3d> <scaleX> <scaleY> <skaleZ> >> <skewX> <skewY> <skew> <transform-list>; > > Not be able to change the order transformations apply is a huge limitation of the proposal. Very often translate and rotate need to change places in the multiplication hierarchy. With a fixed order you are often forced to use ’transform’ anyway. This gets especially clear when you take your ’scale’ example. While I understand that we need independent levels of transformations (to avoid the use of pseudo elements), I am much more supportive to add ‘auto’ and grouping to the transform property than adding more complexity to the platform. (The complexity comes when we speak about the details.) > > Furthermore, it is a huge burden to support multiple shorthand “inheritances” (transform <- translate <- translateX) and adding 21 *NEW* CSS properties to implementations. This burden affects performance, memory consumption and therefore everyone. > > If we must have new properties to handle author mistakes (not speaking about the current limitations from above that we need to fix anyway) then: > > 1) Have a default order for applying transformations. Do not introduce short-/ or longhands. > 2) Add a property to influence the order of the transformation > > transformation-order: rotate || translate || scale || transform > > 3) Just expose the most common used transformations as properties: > > scale: <number>{1,3} > translate: <length>{1,3} > rotate: <angle> > transform: <transform-list> > > However, this does not explain how to apply an individual transform-origin for each of the transformation properties. Scale and rotate depend on influencing the transform-origin. This is especially true if you can not use translate(offset, offset) scale(factor) translate(-offset, -offset). > > I can just repeat that author mistakes like rotate: 45deg; can easily be detected by authors themselves and therefore don’t require us adding more complexity to the platform. > > Greetings, > Dirk These transform properties are to address really common SIMPLE cases like the ones Tab mentioned. They don’t need to do everything (for more low-level control, there’s always transform-list), so they don’t need that kind of complexity. They don’t need to be able to accomplish everything transform does today, or even a large percentage of it. ~Lea
Received on Sunday, 13 July 2014 18:04:39 UTC