- From: Guillaume via GitHub <sysbot+gh@w3.org>
- Date: Mon, 31 Oct 2022 13:36:44 +0000
- To: public-css-archive@w3.org
cdoublev has just created a new issue for https://github.com/w3c/csswg-drafts: == [css-logical] Clarify declarations order of `all` londghands == When `all` is declared in `style.cssText`, declarations for its longhand must be inserted in specified order ([CSSOM](https://drafts.csswg.org/cssom-1/#concept-declarations-specified-order)), which is *the same as specified, but with shorthand properties expanded into their longhand properties, in canonical order*, with its ***physical longhands last*** ([CSS Logical](https://drafts.csswg.org/css-logical-1/#box)). Can I assume that *last* means after all logical longhands or all longhands that do not belong to a logical property group, and that these physical declarations are set in alphanumeric order? For example (assuming that the canonical order of `all` longhands is alphanumeric): ``` border-block-* border-image-* border-initial-* // in between: all longhands that are not logical or that do not belong to a logical property group border-bottom-* border-left-* border-right-* border-top-* ``` Note that in practice, physical properties do not need to come after properties that do not belong to a logical property group. But with this definition, 1. *last* does not need to be specific, 2. ordering the longhands of `corners` (mapping to `border-radius-*`, which are also mapped by `border-radius`) or `border` (mapping to reset-only `border-image-*`) is easier. If this is what is expected, I suggest to clarify it at the end of the section in CSS Cascade that I linked above: ```diff - For example, `all: inherit` will set all of the `margin` properties to `inherit`, but since the physical longhands are set last, the child’s margins will inherit from their physical counterparts in the parent. + For example, `all: inherit` will set all of the `margin` properties to `inherit`, but since the physical longhands are set last, the child’s margins will inherit from their physical counterparts in the parent. Furthermore, *last* means that margin declarations will be set after all declarations for longhands that do not belong to a logical property group. ``` Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/7984 using your GitHub account -- Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Monday, 31 October 2022 13:36:46 UTC