Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Establishing a new formatting context #2597

Closed
wants to merge 5 commits into from
Closed

Conversation

frivoal
Copy link
Collaborator

As discussed in the resolution of #1457 we should add to css-display a linkable definition for establishing a (new) formatting context without explicitely saying which kind, and still have the right thing happen unambiguously when possible, while being explicit that it is a spec bug to invoke this definition in the cases where it's not meaningful/possible.

This PR attempts to add this definition, and to update all the specs that should use it to do so.

I am not particularly attached to the phrasing I am proposing here. I believe it to be correct, but certainly welcome more elegant ways of saying the same thing if anyone has suggestions.

Review from @fantasai or @tabatkins (but particularly @fantasai) appreciated.

Changes in css-contain css-multicol css-align and css-rhythm should be particularly safe, since this is just adding a link without rephrasing anything.

Changes to the other specs are meant to be no-ops that merely unify the way we talk about this, without any normative effect.

@Loirooriol
Copy link
Contributor

Loirooriol commented Apr 20, 2018

I think https://drafts.csswg.org/css-display-3/#transformations should say that blockifying causes the element to establish a new formatting context. Then there would be no need to explicitly say that e.g. flex items are both blockified and establish a new formatting context, the former would imply the later.

Edit: filed #2598

@frivoal
Copy link
Collaborator Author

frivoal commented Apr 20, 2018

@Loirooriol Could you file that as a separate issue? This is kind of related, but it seems to me to be an independent decision to make, so a separate issue seems better (also, this issue that this pull request is based on is already way too long).

without further precision as to the type of formatting context or how to do so.
This operation is not applicable to
non-atomic inline-level boxes
nor to boxes with a layout-internal display-type.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The correct terminology seems "display type" without hyphen. And I reiterate that display types should probably belong only to elements (and pseudo-elements), not boxes, but this problem is all over the spec.

These specs used the "establish a [new] formatting context" terminology.
Link to the exported definition now that there is one.

This change is editorial.

This is a follow up on w3c#1457
Grid and Flexbox used to need a sentence to say what kind of formatting
context grid/flex items would establish. Since that is now part of the
definition of "establishing a [new] formatting context", just link to
it.

This change is editorial.
instead of using correct-but-unique phrasing to do the same thing.

This change is editorial.
@fantasai
Copy link
Collaborator

We had to do some substantial rewriting on this, so closing this PR. (We'll link to it when we commit our results.)

tabatkins added a commit that referenced this pull request May 7, 2018
…ewrite definitions to be more explicit in general, and edit various specs to properly refer to it. Closes #2597. Fixes #1457 properly.
@frivoal frivoal added Commenter Satisfied Commenter has indicated satisfaction with the resolution / edits. Closed as Duplicate and removed Needs Feedback/Review labels May 8, 2018
@frivoal frivoal deleted the establish-fc branch June 5, 2020 01:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Closed as Duplicate Commenter Satisfied Commenter has indicated satisfaction with the resolution / edits. css-display-3 Current Work
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants