[csswg-drafts] [css-box][css-shapes][css-masking] `half-border-box` in Box-Edge Keywords (#12965)

Crissov has just created a new issue for https://github.com/w3c/csswg-drafts:

== [css-box][css-shapes][css-masking] `half-border-box` in Box-Edge Keywords ==
The [Box module](https://drafts.csswg.org/css-box-4/#keywords) specifies several value types of box-edge keyword sets to be used in other specifications:

>- `<visual-box> = content-box | padding-box | border-box`
>- `<layout-box> = <visual-box> | margin-box`
>- `<paint-box> = <visual-box> | fill-box | stroke-box`
>- `<coord-box> = <paint-box> | view-box`

Some modules still need to extend these. In particular, [css-shapes](https://drafts.csswg.org/css-shapes-1/#typedef-shape-box) adds one type that [css-masking](https://drafts.fxtf.org/css-masking-1/#typedef-geometry-box) extends to another one:

>- `<shape-box> = <visual-box> | margin-box | half-border-box`
>- `<geometry-box> = <shape-box> | fill-box | stroke-box | view-box`

However, both of these differ only by the addition of the peculiar [`half-border-box` keyword](https://drafts.csswg.org/css-shapes-1/#valdef-shape-box-half-border-box) from one of the predefined subsets of `<box>`:

* `<shape-box> = <layout-box> | half-border-box`
* `<geometry-box> = <coord-box> | half-border-box`

Therefore, I wonder whether that box-edge keyword and the value sets using it should be backported to [css-box] or if those two specialized set definitions should be simplified as shown above. 

By the way, [css-display’s](https://drafts.csswg.org/css-display-4/#box-generation) `<display-box> = contents | none` is unrelated.

Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/12965 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Friday, 17 October 2025 01:50:08 UTC