- From: Tab Atkins Jr. <jackalmage@gmail.com>
- Date: Sun, 9 May 2010 16:30:22 -0700
- To: robert@ocallahan.org
- Cc: "www-style@w3.org" <www-style@w3.org>
On Sun, May 9, 2010 at 3:33 PM, Robert O'Callahan <robert@ocallahan.org> wrote: > On Mon, May 10, 2010 at 4:46 AM, Tab Atkins Jr. <jackalmage@gmail.com> > wrote: >> >> You can still set min/max-width. Does that address your needs? Using >> flex units means changing from the additive flex model that Flexbox >> currently describes to an absolute flex model. > > This is actually a problem, as David pointed out. > > Maybe we can solve it using calc()? I.e., "width: calc(200px, 2*)"? I assume you mean calc(200px + 2*)? Yeah, that's definitely a possible solution. However, the situation David presents doesn't *necessarily* require additive flex, I believe. The Firefox toolbar is set up something like this: <toolbar> ...stuff... <urlbar> <identifier> <input> <dropdown> </urlbar> <searchbar> <identifier> <input> <dropdown> </searchbar> </toolbar> Now, the way it flexes right now is equivalent to this: urlbar { width: calc(fit-content + 3*); } searchbar { width: calc(fit-content + 1*); } input { width: 1*; } But most of the time, the following will be nearly equivalent: urlbar { width: 3*; min-width: fit-content; } searchbar { width: 1*; min-width: fit-content; } input { width: 1*; } The difference only becomes noticeable for very small sizes if the ratio of the intrinsic widths of the urlbar and searchbar are significantly different from 3:1. In that case, one bar will start to flex before the other one as free space becomes available. Once you've gotten a decent chunk of free space, though, the difference is only a couple of pixels. ~TJ
Received on Sunday, 9 May 2010 23:31:16 UTC