https://drafts.csswg.org/css-break-4/#break-margins
https://drafts.csswg.org/css-box-4/#propdef-margin-trim
- "are discarded or kept"
- "are trimmed"
- "are truncated"
- "are truncated to zero"
- ("truncate to the remaining fragmentainer extent")
I wonder if such property definitions should either specify the behavior in more detail before using those terms or define the terms somewhere. To me and my colleagues they are not entirely clear. I have collected some of our points of confusion:
- Does "truncate" without a target mean "truncate to zero"?
- Does "truncate to X" mean "set value to X" or "set value to X if it is larger than X" (so "truncate to zero" would not change negative values)?
- Same as 1. and 2. but for "trim"
- Does "discard" mean "set value to zero" (in contrast to things like "skip any processing that requires the value and do some special alternative steps...")?
- If those change the value, can we assume it is the used value (e.g. of margin-top) that is changed, not affecting inheriting children but the resolved style for
getComputedStyle?
Any clarification, here or in the specifications, would be appreciated.