Last Comment Bug 598609 - Add longhand transform properties for ease of use
: Add longhand transform properties for ease of use
Product: Core
Classification: Components
Component: CSS Parsing and Computation (show other bugs)
: unspecified
: All All
-- enhancement (vote)
: ---
Assigned To: Nobody; OK to take it and work on it
: Jet Villegas (:jet)
: 548378 (view as bug list)
Depends on:
  Show dependency treegraph
Reported: 2010-09-22 05:45 PDT by Sam Shull
Modified: 2012-02-14 10:02 PST (History)
4 users (show)
See Also:
Crash Signature:
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Description User image Sam Shull 2010-09-22 05:45:38 PDT
User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv: Gecko/20100914 Firefox/3.6.10 (.NET CLR 3.5.30729)
Build Identifier: 

-moz-transform should be extended with additional longhand properties similar to all other CSS modules. Such that each of the supported transform functions should be accessible in a separate property, examples:

-moz-transform-scale-x: .3;
-moz-transform-scale-y: .6;
-moz-transform-rotate: 30deg;
-moz-transform-translate: 10%, 12px;

This would be in keeping with the traditional CSS syntax and make extending transform easier for the user.

Reproducible: Couldn't Reproduce

Steps to Reproduce:
1. Add properties to CSS declarations block
2. Properties are included in the rendering of the style for the selected element(s)
Actual Results:  

Expected Results:  
Element is transformed using transform functions from existing implementation
Comment 1 User image Boris Zbarsky [:bz] (still a bit busy) 2010-09-22 07:50:33 PDT
This sounds like a nightmare, since the meaning of this:

  transform: translate(12px) rotate(30deg);

and this:

  transform: rotate(30deg) translate(12px);

is different.  So are you proposing that the order of the longhands would affect the result?  That's pretty broken in terms of how the rest of CSS works, and not at all in keeping with "traditional CSS syntax".
Comment 2 User image Sam Shull 2010-09-22 08:04:48 PDT
By "traditional CSS syntax" I mean in the same syntax as 

border-top-width: 10px;


border-bottom-width: 5px; 

And yes I understand that functions are to be applied in the order in which they are given. Would that not be similar to overriding a property that existed before? Such as overriding a color with an rgba if rgba is supported:

#id {
color: #080808;
color: rgba(8,8,8,.8);
Comment 3 User image Boris Zbarsky [:bz] (still a bit busy) 2010-09-22 08:28:00 PDT
That's not the same thing.  Conceptually, CSS declarations are just an unordered set of longhands after parsing; parsing simply throws away the old value and uses the new one if you parse the same property twice.

You're suggesting totally changing the conceptual model of CSS declarations, on the other hand, since now the order of different unrelated longhands would matter.
Comment 4 User image David Baron :dbaron: ⌚️UTC-8 2010-09-22 08:59:41 PDT
I also don't think this makes sense.
Comment 5 User image Aryeh Gregor (:ayg) (next working March 28-April 26) 2012-02-14 10:02:03 PST
*** Bug 548378 has been marked as a duplicate of this bug. ***

Note You need to log in before you can comment on or make changes to this bug.