Comments (1)
To expand on the difficulties found when trying not to establish an IFC:
-
The main feature of
continue: discard
is that it turns a box into a fragmentainer. The other existing fragmentainers are always an IFC from the perspective of the outside (not of the content flowing inside them): for multi-column (and regions) this is explicitly specified as such, and for paged media this is necessary because there is no content outside of the fragmentainer.While this precedent by itself is not a reason to force
continue: discard
to establish an IFC, it means that existing layout engines might implement fragmentation in ways that assume an IFC (as Chromium does). And the possibility that fragmentainers are not always IFCs would open a number of spec questions that would need to be answered (e.g. what happens when a non-IFCcontinue: discard
contains a float with a break inside it? Would it affect the positions of floats and the clearance of boxes in the same BFC but outside the fragmentainer?) -
For
continue: collapse
, the main difficulty is floats. The way I conceptualize this variant as working, the rendered result should behave as if none of the content after the clamp point in the layout tree existed (modulo the ellipsis). Therefore, floats before the clamp point should be able to affect the position of floats and the clearance outside of thecontinue: collapse
container, but floats after the clamp point should not.However, the geometry of boxes after the clamp point should be queryable from JS APIs. If we want that to give any kind of meaningful result, then the positioning of floats and the clearance of boxes after the clamp point should depend on the floats before and after the clamp point.
So while I don't think this is a no go for the Chromium implementation, it certainly adds complexity that might not be needed for any actual use cases.
from csswg-drafts.
Related Issues (20)
- [css-anchor-position] Flat tree vs. anchor-scope HOT 3
- [css-color-5] Should relative `rgb()`/`rgba()` and relative `hsl()`/`hsla()` serialize exactly as declared? HOT 2
- [css-color-5] Should colors nested in a parent color function (RCS, color-mix, light-dark, color-contrast) serialize in their most precision saving form HOT 10
- [css-pseudo-4] system colors for ::search-text HOT 1
- [css-will-change] new property will-change-to
- [mediaqueries-5] SVG images referenced by img elements do not respect prefers-color-scheme in forced-colors mode
- [css-ui] How do `appearance: none` and `appearance: auto` render the rich `<select>` markup? HOT 3
- [css-ui] New value(s) for the appearance property to support `<select>` stylability HOT 2
- [css-view-transitions-2] Proposal for a view-transition-tree property (name tbd) HOT 24
- [mediaqueries] CSS Media Feature for Color Vision Adjustments
- [css-cascade-6] reusable named scopes HOT 3
- [css-values-5] Should an arbitrary substitution nested within another be accepted in context?
- [css-values-5] Should `<whole-value>` functions be parsed before the declaration value range? HOT 2
- [css-anchor-position-1] position-try-options interaction with position-visibility
- [css-animation-1] Should non-animatable properties be accepted in keyframe rules?
- [css-ui] Proposal: allow multiple outlines per element HOT 2
- [cssom-view] Change `document.caretPositionFromPoint`'s `shadowRoots` parameter from rest parameter to an array HOT 9
- [cssom-1] A more direct method than `caretPositionFromPoint()` HOT 2
- [css-contain] content-visibility: auto and SVG-as-image HOT 10
- repo name nit: it'd be nice if this were simply w3c/csswg HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from csswg-drafts.