- From: Andrew Fedoniouk <news@terrainformatica.com>
- Date: Thu, 2 Aug 2012 00:24:29 -0700
- To: Jon Rimmer <jon.rimmer@gmail.com>
- Cc: www-style@w3.org
On Wed, Aug 1, 2012 at 11:41 PM, Jon Rimmer <jon.rimmer@gmail.com> wrote: > On 2 August 2012 15:22, Andrew Fedoniouk <news@terrainformatica.com> wrote: >> Consider this toolbar rendering: >> >> http://terrainformatica.com/w3/scide-toolbar.png >> >> Its markup is pretty straightforward and looks like this: >> >> <div class="toolbar"> >> <button id="new" /> >> <button id="open" /> >> ... >> <select id="source-type">...</select> >> <button id="help" /> >> </div> >> >> Styles of this toolbar look like below. >> ( Note that I am using my own flex module[1] here. >> I hope its notation is clear enough to understand idea >> of this layout ) >> >> div.toolbar { flow:horizontal; } >> >> div.toolbar > button { >> width:28px; >> min-height:28px; >> height:*; // flex(1) - spans whole height of toolbar >> } >> >> div.toolbar > select { >> margin:* 6px; // vertical margins are flex(1) >> // moving it in the v-middle of toolbar >> } >> >> div.toolbar > button:last-child { >> margin-left: *; // flex(1) - attach #help to the right side >> } >> >> In some circumstances (e.g. large fonts used) intrinsic height >> of the <select> can be greater than 28px (button height). >> In this case too buttons shall span full height of the toolbar. >> height:*; above does this. >> >> Question: is it possible to reproduce this pretty >> basic and typical layout using css3-flexbox in its current incarnation? >> If "yes" then how styles should look like? >> >> Thanks in advance. >> > > As I understand them, this should fulfill your requirements: > http://jsfiddle.net/amtiskaw/h6q9m/1/ > > Tested in Chrome Dev 22.0.1221.0. > > Thanks, > > Jon Rimmer Oh, thanks a lot. Seems like 'auto' margins treatment were added recently. Interesting. Close enough, indeed. Do you know what is flex value of 'auto' in margin-left:auto ? In other words: what would be computed values of margins/width here: .flex > div { margin-left: auto; width: auto; /* or shall it be flex-grow:1 ? */ margin-right: auto; } And things like: margin-left:1*auto; margin-right:2*auto; seem like still not there yet. -- Andrew Fedoniouk. http://terrainformatica.com
Received on Thursday, 2 August 2012 07:24:58 UTC