Re: CSSStyleDeclaration: Setting only a value or a priority



On 8/23/13 1:17 AM, "Simon Pieters" <simonp@opera.com> wrote:
>
>But that's the behavior the spec has and that browsers have as well (I
>can't test IE right now but IIRC it does this also).
>
>http://software.hixie.ch/utilities/js/live-dom-viewer/saved/2480

>
>Note that color is still first in the list.

Same behavior in IE11 Dev Preview.

>
>Now, in the case of margin-left vs margin-start...
>
>http://software.hixie.ch/utilities/js/live-dom-viewer/saved/2481

>
>The order in CSSOM is unchanged in both Gecko and Blink. Gecko uses
>margin-left while Blink uses margin-start. So in this case Gecko ends up
>in a state where the order exposed by CSSStyleDeclaration doesn't match
>what Gecko actually uses.

This doesn't seem testable in IE yet.

>
>It's unclear to me why margin-left vs margin-start depends on the order
>instead of e.g. always letting margin-start win.

I think that'd be surprising; if two properties set the same thing, aren't
authors are used to the last one winning?

>
>
>>> (Relatedly, I think the behavior of
>>>
>>>    p { color: green !important; color; red }
>>>
>>> is surprising and inconsistent with the rest of CSS, and should
>>> probably be changed so the textually-last property clobbers the
>>> !important one.)
>
>We can't change this I think.
>
>> I think CSS1 and CSS2 are both pretty clear that:
>>   p { color: green !important; color: red }
>> is intended to simply be a shorthand for:
>>   p { color: green !important }
>>   p { color: red }
>>
>> http://www.w3.org/TR/CSS1/#grouping

>> http://www.w3.org/TR/CSS2/syndata.html#declaration

>>
>> While what you propose is perhaps a consistent model, it's
>> inconsistent with the stated intent of declaration blocks in CSS.
>
>I'm not convinced that setProperty necessarily needs to be consistent
>with  
>how declarative CSS works.

That seems to be the entire debate.

Received on Friday, 23 August 2013 14:48:18 UTC