- From: Cameron McCormack <cam@mcc.id.au>
- Date: Fri, 19 Dec 2014 11:27:50 +1100
- To: www-style list <www-style@w3.org>
I'm working on making Gecko's logical properties behave as proposed in
various mails to this list, where both physical and logical properties
behave like normal properties in declarations but which are resolved at
cascade time (after an initial computation of direction and
writing-mode) to appropriate physical property values.
One question I have is whether logical longhand properties are
considered to be parts of the corresponding shorthand, for example is
margin-inline-start a longhand component of margin? I think the answer
should probably be "no" as you don't know what values to set the logical
properties to:
div { margin: 1px 2px 3px 4px; }
What would be the values of margin-inline-{start,end} in the declaration?
In terms of its effect on the layout of the document, it doesn't really
matter, since margin-{left,right} would override any previous
margin-inline-{start,end} properties in the declaration when we're
resolving them during the cascade. So from that perspective it makes
sense to not set margin-inline-{start,end}.
On the other hand, it could be like other shorthands where if you don't
have values specified for some components then they get set to their
initial values (e.g. like when you leave out some parts of the font
shorthand). So we could have them set to 0.
Now, what if you want to clear the shorthand from script?
<style>
div { margin-inline-start: 1px; margin-inline-end: 2px; }
</style>
<script>
document.styleSheets[0].cssRules.style.margin = "";
</script>
I almost would expect that to clear the margin-inline-{start,end}
properties, but that's not possible if they're not longhand components
of margin.
Received on Friday, 19 December 2014 00:27:49 UTC