- From: Boris Zbarsky <bzbarsky@MIT.EDU>
- Date: Wed, 12 Jan 2011 21:42:34 -0500
- To: Rob Crowther <robertc@boogdesign.com>
- CC: www-style list <www-style@w3.org>
On 1/12/11 8:45 PM, Rob Crowther wrote:
> In my own case, what I was aiming for was five items:
>
> W | 2Fx | Fx | Fx
>
> Where W is fixed width (in pixels), and 2Fx is twice as wide as the two
> Fx columns, and the whole thing, including margins and padding on each
> element, would fit exactly inside a container which fills the width of
> the body.
Seems like styles like this should do it:
#W { width: 200px; }
.TwoFx { width: calc(0.5 * (100% - 200px)); }
.Fx { width: calc(0.25 * (100% - 200px)); }
Now there's an implementation issue here: Gecko doesn't actually do
anything with percentage widths on flexboxes. But perhaps it should? I
haven't looked at what the spec has to say about this.
> If I explicitly set widths on 2Fx and Fx of 50% and 25% then in works in
> Chromium but still gets out of whack in Firefox (which is possibly a
> Firefox bug? I need to investigate a bit more).
Were they boxes? If so, see above.
> After some experimentation today I think I can get the layout I want
> using display: table, but that means adding an extra wrapper element in
> to support the display: table-row. What I was hoping for, which I admit
> was a partly uninformed hope, was that flexboxes would give table-row ->
> table-cell like fitting properties without having to add extra markup.
I'm not sure I follow. You have the container already, right? So you
could just style that as a table and the things inside as cells....
That runs us into into the various weirdness with table layout, though.
_That_ I'm not sure most people can explain sanely, and it's
definitely not compatible across browsers. I definitely can't explain it.
-Boris
Received on Thursday, 13 January 2011 02:43:08 UTC