[css-overflow] Add mechanism for disabling scrollbars #419
Split from the discussion of overfay scrollbars.
Note that the two discussions may still need to influence eachother, as if we end up wanting both, they may (or not) end up in the same property, and influence its name and the name of its values.
But, personally my preference would be to just have a value3 that hides any scrollbar entirely and reserves no space, as I think having a rational platform is most important here
Note that we have that value; it's called hidden. It's not pannable, but you can scroll via script. So we're not trying to explain anything fundamental here, we're trying to give a more convenient shorthand for some case that might be common enough to be worth simplifying - making something scrollable but not showing scrollbars (at least, on devices that make it easy to scroll via some direct gesture).
I don't agree this proposal amounts to a "convenient shorthand". We need this property to have a rational layered platform.
There are two completely distinct underlying primitives, hiding the scrollbar UI and disabling user panning. "overflow: hidden" opinionatedly conflates them. As I said, the only two ways to change the look/functionality of the scrolling UI otherwise are A) small-clip-box-containing-larger-scroll-viewport madness, or B) reinvent touch gesture handlers in JS. That's a sign this is not simply a "convenience".
Split from the discussion of overflay scrollbars. Key bits of the argument:
I said:
@tabatkins said:
I said:
@tabatkins said:
@alexelias added:
I'd add that the concerns about misuse apply to all the extensible-web things we're doing (Houdini etc.). If we're every going to have a rational layered platform (eg. where scrollbars can be explained as a feature built on top of lower-level primitives), then we need to have knobs that let developers disable built-in behavior if favor of their own custom behavior. To minimize the risk we should just do our absolute best to ensure that all the common use cases are best solved by the built-in behavior.