Gmail Calendar Documents Reader Web more »
Recently Visited Groups | Help | Sign in
Google Groups Home
Message from discussion Creating liquid layouts using Blueprint
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Willem de Ru  
View profile  
 More options Dec 6 2007, 4:21 am
From: Willem de Ru <willemd...@gmail.com>
Date: Thu, 6 Dec 2007 01:21:52 -0800 (PST)
Local: Thurs, Dec 6 2007 4:21 am
Subject: Re: Creating liquid layouts using Blueprint
Thanks Andrei for all the hard work and sharing it with us! This
really looks good so far! I am looking forward to the blog post as
well :)

Regards
Willem

On Dec 6, 10:54 am, Andrei <and...@involutionstudios.com> wrote:

> Hello folks.

> To get a liquid layout version using Blueprint, check out the sample I
> made based on work some of us had been doing at Involution Studios for
> the past few months:

> http://www.designbyfire.com/liquid_blueprint/tests/liquid.html

> I'll be doing a write up on this example and how to achieve liquid
> layouts using Blueprint on my blog as soon as I get the time. I have
> spoken to Olav regarding this work, and he and the gang are checking
> it out. In the meantime, we also think it's a good idea to get you
> folks looking at it to see what you think and what pitfalls it has
> that would need to be addressed.

> I have yet to test this liquid approach extensively on IE6/7, but I
> know there are some issues. (See below.) Nor have I made all the
> adjustments needed to some of the base CSS files in Blueprint to make
> it bullet-proof.

> You'll have to pour through the XHTML of the example page and the
> liquid.css to see what I changed from grid.css:http://www.designbyfire.com/liquid_blueprint/blueprint/lib/liquid.css

> Or you can wait until I post about it on Design by Fire for all the
> specific details.

> The quick summary:

> I had to make three changes in order for Blueprint to work in liquid
> fashion: A) made the column span <div> styles use percentage values
> instead of pixels, B) added an extra <div> in front of and below each
> column, C) assigned "overlfow: hidden;" to the <div>s. In doing so,
> you get liquid layout.

> Basically, using "overflow: hidden;" on any wrapper or container <div>
> will prevent the column floats inside that column from breaking the
> layout. That's the main trick. Further, in using the extra <div> tags
> in the markup, it allows you to wrap content so there's no need to
> ever use "clear: both;" This is an important point, as using a "clear:
> both;" means the grid structure can never be nested in a larger page
> layout. For example, if you wanted to add a global sidebar, in the
> current Blueprint model, you'd have to make the sidebar part of the
> grid structure. This would prevent you from creating a sidebar like
> panel for a web application that lived on its own and was not part of
> the content or grid structure. (Think the sidebars in Google Mail or
> Google Maps.)

> So in effect, this change allows Blueprint to get a liquid approach
> and it also allows it to work as a component piece inside a larger
> page structure if need be.

> In reality, the only change needed by folks using Blueprint would be
> to use the liquid.css instead of grid.css and change your XHTML markup
> structure to look like:

> <div class="container">

>      <div class="block">
>           <div class="column span-24">
>                <div>
>                     <!-- CONTENT GOES HERE -->
>                </div>
>           </div>
>      </div>

>      <hr />

>      <div class="block">
>           <div class="column span-12">
>                <div>
>                     <!-- CONTENT GOES HERE -->
>                </div>
>           </div>
>           <div class="column span-12">
>                <div>
>                     <!-- CONTENT GOES HERE -->
>                </div>
>           </div>
>      </div>

>      <div class="block">
>           <div class="column span-8">
>                <div>
>                     <!-- CONTENT GOES HERE -->
>                </div>
>           </div>
>           <div class="column span-8">
>                <div>
>                     <!-- CONTENT GOES HERE -->
>                </div>
>           </div>
>           <div class="column span-8">
>                <div>
>                     <!-- CONTENT GOES HERE -->
>                </div>
>           </div>
>      </div>

> <div>

> With this form of liquid layout, you get stretchy columns based on
> window width, but increasing the font size won't increase the column
> widths or otherwise break the layout. Generally speaking, this is the
> preferred behavior for liquid, I think. To get scaling liquid layout,
> you have to use em values instead of percentages. I'll do that later,
> but I find that form of liquid layout to not be very useful as there's
> no way to ever prevent wrapping if the user sets the browser font
> extremely large.

> With the stretch liquid model (of using % instead of px on the span
> styles), the container style has a few key things that can be done to
> it to control the overall layout behavior.

> .container {
>         min-width: 960px;
>         width: 80%;
>         margin: 0 auto;
>         padding: 0;
>         overflow: hidden;

> }

> The first is obvious in that changing the margin from an "em" value to
> "auto" creates centered layouts.

> The second thing is that to make a "fixed" width layout, like the
> current Blueprint model today, simply change the width from a
> percentage value to an em or pixel value. Now you can toggle the
> behavior of liquid or fixed pretty easily with only this one
> parameter. To the degree that creating custom grids that vary off a
> base 24 is probably not needed for the majority of web-based layout
> work.

> Base 12 or base 24 are very good grid numbers as they are divisible by
> so many smaller numbers. If you stick with Base 24, you can literally
> use the exact same liquid.css file with every project and only have to
> toggle the .container width value to switch from fixed to liquid
> layouts.

> Rounding Errors in Safari and IE6/7 with liquid layouts. This is the
> bad news.

> Given the model of making liquid requires using the same x/12 em math
> as the type settings, you'll quickly encounter rounding bugs in both
> Safari and IE6/7 using certain em values. It seems both Safari and
> IE6/7 have some weird logic that toggles rounding up or rounding down
> depending on some variable. The end result of this rounding math
> behavior is that the liquid approach screws both browsers up a little.
> (This is our best guess at the moment. We have to find people on the
> engineer teams of those project to verify this is indeed the problem.)
> Firefox does the right thing... again. Thank goodness for Firefox.

> We're still working on the specific style overrides needed to fix
> these rounding issues for IE6/7 and Safari for an interim solution,
> but it is my hope that if we can get Blueprint using the liquid
> changes in my example and enough blog posts pointing these weird
> rounding and layout issues out, that we can somehow light a fire under
> Apple and Microsoft to fix their rounding errors or whatever logic
> they are using to determine when to round up or when to round down.
> The Firefox team did the right thing as whatever Firefox is doing
> makes all the "em" math work rock solid.

> So to fix the rounding errors for IE6/7, you have to add override
> classes that drop the 'em' value by 0.01 or 0.001 or so. This will
> force the IE6/7 engine to force round down in the same way that
> Firefox does. I'll get those to folks once I have them all locked
> down.

> More to come on DxF about Liquid Blueprint when I blog about it.
> Please feel free to rip it apart and let me or Olav know where the
> model completely breaks down. It's still a work in progress.

> --
> Andrei Herasimchuk

> Principal, Involution Studios
> innovating the digital world

> e. andrei (at) involutionstudios (dot) com


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.

Create a group - Google Groups - Google Home - Terms of Service - Privacy Policy
©2009 Google