Skip to content

[css-gaps-1] Dropping decorations for suppressed gaps #13754

@kbabbitt

Description

@kbabbitt

In #13663 (comment) we resolved that, when varying gap decorations are assigned to a wrapping flex container, decorations are assigned to gaps in "linear" fashion, such that the sequence continues from one flex line to the next. An open question from that discussion is what to do with the decoration that would have appeared next to the last item in a flex line. Does that decoration get dropped from the sequence, or does it get assigned to the first gap in the following line?

One use case @fantasai brought up was a toolbar with varying decorations to separate items into groups. I constructed a straw example here: https://un5kwkfewf5ju.julianrbryant.com/kevinbcmu/pen/ogzdvgE

Image

In my opinion, it's a little clunky to do this with gap decorations, because you have to keep your markup structure in sync with your decoration sequence. But I can't think of a better way to do it with the tools we currently have. I agree it's a case where dropping the decoration is what the author wants, and I haven't been able to come up with a plausible use case for not dropping it.

The other case where I think we'd want to drop a decoration is a gap suppressed due to fragmentation. Consider this example: https://un5kwkfewf5ju.julianrbryant.com/kevinbcmu/pen/YPyYwBQ?editors=1100

Image

There's an auto repeater to set up dashed decorations for the intermediate rows, followed by a single value to set up solid decorations in the last row gap. If this example were fragmented on that last row gap, the author would not want the solid decoration pushed up to the preceding gap.

A third case worth considering is gaps suppressed due to collapsed tracks in grid. I've considered this a bit but haven't yet been able to construct a use case that points in one direction or the other.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    Not this meeting?

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions