w3c / csswg-drafts

CSS Working Group Editor Drafts
https://drafts.csswg.org/
Other
4.46k stars 658 forks source link

[css-page-floats] inline alignment of block-end floats #1236

Open frivoal opened 7 years ago

frivoal commented 7 years ago

the definition of float: block-end calls for

a box that is floated to the block-end and line-end outer edges of the float reference.

This is what Vivliostyle implements, but is different from what prince and antena house do: they float to block-end and line-start.

Later version of the spec should definitely make this an author selectable choice (e.g. float: bottom right), but until then, we think it may be preferable to align on these existing implementations.

frivoal commented 7 years ago

live example

MurakamiShinyu commented 7 years ago

Antenna House and Prince's page floats are different from our current draft. AH/Prince's top/bottom floats are 1-dimensional, i.e., inline alignment of block-top/end floats are like normal blocks, and not floating in inline direction.

johanneswilm commented 7 years ago

You are right, but the proposed change is still ok though, isn't it, @MurakamiShinyu ? I think the main reason we combined block-start/inline-start and block-end/inline-end was for reasons of symmetry. But this ends up being wierd: we allow floating only into two of four corners. So if we want to have true two-dimensional floats, we need to find the time and make the changed proposed a year ago.

But as long as we only support two corners, it can just as well be the block-end/line-start corner instead of the block-end/line-end corner. Most use-cases will probably anyway center around floats that fill the entire line-width if users cannot float into all corners (and stack into all directions).