- From: Justice <justice360@gmail.com>
- Date: Tue, 31 May 2016 17:51:12 +0800
- To: Florian Rivoal <florian@rivoal.net>
- Cc: www-style list <www-style@w3.org>
- Message-ID: <CAGD6YKV2tEUZoVY6kvhO=bNBNK9mXXtvy-Nn=duw2F2oxQwYYw@mail.gmail.com>
Thanks Florian. Any one of overflow-x and overflow-y being `hidden` will trigger BFC, which don't have to break anything of spec. "BFC in one dimension" doesn't have to exist here. So I don't think it's something prevents `visible` + `hidden`. As you said, scrollbars actually don't break `visible` + `hidden` either (in this combination, we don't need scrollbars). So I assume it's more of a history and compatibility issue? On Tue, May 31, 2016 at 9:10 AM, Florian Rivoal <florian@rivoal.net> wrote: > > > On May 30, 2016, at 18:24, Justice <justice360@gmail.com> wrote: > > > > Hi, > > > > According the spec, for the same element, the computed values of these > two props cannot be visible+hidden at the same time. Does anybody know why > it is designed this way? Or it's just because of compatibilities? > > Besides history and compatibility requirements, I think the two main > reasons are: > > * overflow: hidden does more than just hide the overflow, it also makes > turns the element into a Block Formatting Context (Floats don't escape, > margins of children don't collapse with margins of parents...). Being a BFC > in one dimension only is not a thing that exists. > > * if an element could be overflow-x: visible and overflow-y: scroll, you > would have a vertical scrollbar on the right (typically) side of the > element, overlapping with the visibly overflowing content in the inline > direction, which is terrible. Same for visible + auto. This isn't > necessarily a problem for visible+hidden, but at least it explains why the > other values cannot be combined with visible. > > - Florian
Received on Tuesday, 31 May 2016 09:51:40 UTC