- From: Florian Rivoal <florian@rivoal.net>
- Date: Thu, 30 Jul 2015 17:00:56 +0200
- To: "Tab Atkins Jr." <jackalmage@gmail.com>
- Cc: Daniel Holbert <dholbert@mozilla.com>, www-style list <www-style@w3.org>
> My take is that we have a 3 potential ways forward: > > > A) "overflow: clip" is a paint only operation, it does not (on its own) create a BFC, and if "contain" is not "paint", you can have "overflow-x:clip" in one dimension and "overflow-y:visible" (and vice versa). Amend the definition of "resize" and "text-overflow" (and anything else that depends on "overflow") to deal with the new possibility of being visible in one dimension only. > > B) Rename to "overflow: hidden no-scroll". It creates a BFC. If you specify it in one dimension only and leave the other visible, the visible one computes to auto. > > C) Don't introduce a new value to overflow, make "contain:paint" cause "overflow:visible" to compute to "overflow:hidden", and implement heuristics to detect when browsers should avoid allocating the resources needed to do the scrolling. So we resolved on B, modulo bikesheding. Top alternatives for now are: - overflow: clip - overflow: hidden no-scroll - overflow: none The spec currently says clip, but I'm happy to change to one of the other 2 (or other suggestions) if people think that will lead to confusion with the clip / clip-path properties, or just like another name better. We're left with this question: > Should contain:paint cause overflow:visible to compute to overflow:auto, making sure that no overflowing content gets lost, but requiring the author to explicitly activate overflow:clip in order to get all optimizations, or should it cause overflow:visible to compute to overflow:hidden no-scroll, giving maximum optimizations in a single switch, but at the risk of dropping content if the author had not anticipated that his element might overflow? I favor auto, Tab "STRONGLY disagree"d. And, if we don't pick "computes to auto" as the answer to that question, we also need to answer this one. > We need to decide between 2 variants, If we have "contain:paint; overflow-x:visible; overflow-y:something-else;" > > B1 => overflow-y:something else acts first, and overflow-x is auto > > B2 => contain:paint acts first, and overflow-x is "hidden no-scroll" To avoid loosing content accidentally when the author did not anticipate overflowing, I strongly favor B1. Tab agreed. - Florian
Received on Thursday, 30 July 2015 15:01:34 UTC