skip to main | skip to sidebar
Showing posts with label design. Show all posts
Showing posts with label design. Show all posts

Thursday, May 7, 2009

making modular layout system

By Jason Santa Maria

For all of the advantages the web has with distribution of content, I’ve always lamented the handiness of the WYSIWYG design tools from the print publishing world. When I set out to redesign my personal website, I wanted to have some of the same abilities that those tools have, laying out pages how I saw fit, and that meant a flexible system for dealing with imagery.

Building on some of the CSS that Eric Meyer employed a few years back on the A List Apart design, I created a set of classes to use together to achieve the variety I was after. Employing multiple classes isn’t a new technique, but most examples aren’t coming at this from strictly editorial and visual perspectives; I wanted to have options to vary my layouts depending on content.

If you want to skip ahead, you can view the example first.

Laying the Foundation

We need to be able to map out our page so that we have predictable canvas, and then create a system of image sizes that work with it. For the sake of this article, let’s use a simple uniform 7-column grid, consisting of seven 100px-wide columns and 10px of space between each column, though you can use any measurements you want as long as they remain constant.

All of our images will have a width that references the grid column widths (in our example, 100px, 210px, 320px, 430px, 540px, 650px, or 760px), but the height can be as large as needed.

Once we know our images will all have one of those widths, we can setup our CSS to deal with the variations in layout. In the most basic form, we’re going to be dealing with three classes: one each that represent an identifier, a size, and a placement for our elements.

This is really a process of abstracting the important qualities of what you would do with a given image in a layout into separate classes, allowing you to quickly customize their appearance by combining the appropriate classes. Rather than trying to serve up a one-size-fits-all approach to styling, we give each class only one or two attributes and rely on the combination of classes to get us there.

Identifier

This specifies what kind of element we have: usually either an image (pic) or some piece of text (caption).

Size

Since we know how our grid is constructed and the potential widths of our images, we can knock out a space equal to the width of any number of columns. In our example, that value can be one, two, three, four, five, six, or seven.

Placement

This tells the element where to go. In our example we can use a class of left or right, which sets the appropriate floating rule.

Additions

I created a few additions that be tacked on after the “placement” in the class stack: solo, for a bit more space beneath images without captions, frame for images that need a border, and inset for an element that appears inside of a block of text. Outset images are my default, but you could easily switch the default concept to use inset images and create a class of outset to pull them out of the content columns.

The CSS

  1. /* I D E N T I F I E R */
  2. .pic p, .caption {
  3. font-size: 11px;
  4. line-height: 16px;
  5. font-family: Verdana, Arial, sans-serif;
  6. color: #666;
  7. margin: 4px 0 10px;
  8. }

  9. /* P L A C E M E N T */
  10. .left {float: left; margin-right: 20px;}
  11. .right {float: right; margin-left: 20px;}
  12. .right.inset {margin: 0 120px 0 20px;} /* img floated right within text */
  13. .left.inset {margin-left: 230px;} /* img floated left within text */

  14. /* S I Z E */
  15. .one {width: 100px;}
  16. .two {width: 210px;}
  17. .three {width: 320px;}
  18. .four {width: 430px;}
  19. .five {width: 540px;}
  20. .six {width: 650px;}
  21. .seven {width: 760px;}
  22. .eight {width: 870px;}

  23. /* A D D I T I O N S */
  24. .frame {border: 1px solid #999;}
  25. .solo img {margin-bottom: 20px;}
  26. Source: /code/modular-layout-systems/1.txt

In Use

You can already see how powerful this approach can be. If you want an image and a caption on the left to stretch over half of the page, you would use:

Or, for that same image with a border and no caption:

You just tack on the classes that contain the qualities you need. And because we’ve kept each class so simple, we can apply these same stylings to other elements too:

Caveats

Obviously there are some potential semantic hang-ups with these methods. While classes like pic and caption stem the tide a bit, others like left and right are tougher to justify. This is something that you have to decide for yourself; I’m fine with the occasional four or left class because I think there’s a good tradeoff. Just as a fully semantic solution to this problem would likely be imperfect, this solution is imperfect from the other side of the semantic fence. Additionally, IE6 doesn’t understand the chain of classes within a CSS selector (like .right.inset). If you need to support IE6, you may have to write a few more CSS rules to accommodate any discrepancies.

Opportunities

This is clearly a simple example, but starting with a modular foundation like this leaves the door open for opportunity. We’ve created a highly flexible and human-readable system for layout manipulation. Obviously, this is something that would need to be tailored to the spacing and sizes of your site, but the systematic approach is very powerful, especially for editorial websites whose articles might have lots of images of varying sizes. It may not get us fully to the flexibility of WYSIWYG print layouts, but methods like this point us in a direction of designs that can adapt to the needs of the content.

View the example: without grid and with grid.

PS - This article reminds me of The Grid System Leon talked about the other day.

Posted by at No comments:
Labels: ,

bam creative

Found out about Bam Creative when I was reading through the reviews for The Principles of Successful Freelancing. The author Miles Burke is the creator of Bam. How inspiring! Plus I want the book. Plan to order it from Amazon today to add to a long list of books I want to read, but not yet have time to. But stacking them up anway!
Posted by at No comments:
Labels: ,

Wednesday, April 29, 2009

gr0w.com

Can you find a more restful place to feast your eyes? Grow Collective is a web design studio based in Bristol, UK. Love their simple clean interface!
Posted by at No comments:
Labels: ,

Tuesday, April 28, 2009

orderedlist.com

I'm always on the hunt for beautiful designs, and this site by the folks at orderedlist.com is definitely one! Love the grid work and even though I'm not a huge fan of dark backgrounds, somehow on here it works like a charm!

Inspired! :)
Posted by at No comments:
Labels: ,

Saturday, April 18, 2009

forabeautifulweb.com


I usually love clean sites on a white(ish) background but do love this chocolate background "For a Beautiful Web" site so much. To top it all of, it's also a wonderful resource for us webbies!
Posted by at No comments:
Labels: ,

Monday, March 30, 2009

30 Creative Hand Drawn Styles in Web Design



I love this compilation. Not only are these designers so very talented, they are artists in their own right! So inspirational!
Posted by at No comments:

Wednesday, March 25, 2009

chriscmerritt.com

Talk about inspirational website intros! Check out these 50 Inspirational Website Intros. Love them all, but especially Chris Merritt's! :)

On the personal front, I'm now (again) a proud auntie! My baby niece Sydney was born yesterday, weighing in perfectly at 7 lbs and 3 ounces. She looks just like her mommie (and a bit like her daddy too I think). And since I'm her mommie's cousin, in a roundabout way she look a teeny weeny bit like me! Yay!
Posted by at No comments:
Labels: ,

Monday, March 23, 2009

IE8


Haven't been posting much being on travel these past ten days, but now I'm back and trying to catch-up on things. Meanwhile, IE8 is here and I just finished downloading it onto the desktop to try out. Will let you know how it goes!
Posted by at No comments:
Labels: ,

Tuesday, March 10, 2009

carsonified.com

[埋込みオブジェクト:http://www.youtube.com/v/xDY0aLzj62A&color1=0xb1b1b1&color2=0xcfcfcf&feature=player_embedded&fs=1]
Love to follow the talented Carsonified. His pick for the new branding is one of my most favorite whimsical fonts: Candy Script.

Btw, their Hug-A-Mac project is so cute!

Posted by at No comments:

Thursday, March 5, 2009

Hot Studio

Posted by at No comments:
Labels:

Wednesday, February 25, 2009

40 Super Sleek Fonts for Clean Web Design

It's impossible to love design and not love typography. Here's a list of 40 Super Sleek Fonts For Clean Web Design from Web Design Ledger.

You'll see some used on this blog soon, I bet! :)
Posted by at No comments:
Labels: ,

Tuesday, February 24, 2009

The Four Basic Principles of Design

I'm reading this wonderful book by Robin Williams. It's definitely a must have for your bookshelves! And the best thing about this book is its slimness. You can finish it on your plane ride to the next An Event Apart conference! ;)

Here's a brief excerpt from Chapter One:



The Four Basic Principles

The following is a brief overview of the basic principles of design that appear in every well-designed piece of work. Although I discuss each one of these principles separately, keep in mind they are really interconnected. Rarely will you apply only one principle.

Contrast

The idea behind contrast is to avoid elements on the page that are merely
similar. If the elements (type, color, size, line, thickness, shape, space, etc.) are not the same, then make them very different. Contrast is often the most important visual attraction on a page -- it's what makes a reader look at the page in the first place.

Repetition

Repeat visual elements of the design throughout the piece. You can repeat colors, shapes, textures, spatial relationships, line thicknesses, fonts, sizes, graphic concepts, etc. This develops the organization and strengthens the unity.

Alignment

Nothing should be placed on the page arbitrarily. Every element should have some visual connection with another element on the page. This creates a clean, sophisiticated, fresh look.

Proximity

Items relating to each other should be grouped close together. When several items are in close proximity to each other, they become one visual unit rather than several separate units. This helps organize information, reduces clutter, and gives the reader a clear structure.




Excerpt from The Non-Designer's Design Book, Third Edition, by Robin Williams.
Posted by at No comments:
Labels: ,

Real Simple's New Face

Ahh finally! One of my favorite magazines ... Real Simple ... is getting a much needed online facelift. It's now simpler and prettier than ever! Thanks to the alert I got today from the always-so-informative Twitter updates of Guy Kawasaki.

Speaking of magazines, I'm trying to cancel 2/3 of my magazine subscriptions since I barely have enough time to read them all. Having a few extra miles with your airlines brings home a few extra dozen magazines that you normally would not even subscribe to.

Mission #1 this spring: to declutter my life. Any tips on this anyone? :)
Posted by at No comments:
Labels:

Monday, February 23, 2009

simple.art

I have so much admiration for illustrators! Check out simple.art!
Posted by at No comments:

uppercasegallery.ca

E-commerce sites don't have to look busy and overwhelming. Just take a look at this beautiful collection put together by Vanderlay. And yes, Uppercase is one of my personal faves. Not only is their site clean and beautiful, I love their whimsical creations as well.
Posted by at No comments:

Thursday, February 19, 2009

Victor Lourenco ... talent talent talent + style

My huge inspiration for today! Isn't his work amazing?
Posted by at No comments:
Labels: ,

Wednesday, February 18, 2009

nigella.com & the grid system


Love Nigella's website. It's clean, fresh, fun and again makes me believe wholeheartedly in the grid system.

But then as Molly Holzschlag has eloquently written, London doesn't follow a grid system and look how we all love to navigate that city! Life is full of contradictions!

PS - It's snowing outside as I'm typing! :)
Posted by at No comments:
Labels: ,

Friday, February 13, 2009

veboolabs.com

I almost went through the day without posting. {Gasp!} It's been crazy busy at work and I haven't had much time for anything else. Here's Veboo Labs ... my favorite site of the day. Vector-based arts are awesome, aren't they? Being a photographer, I wish I could draw like this, meanwhile there is help, here is where we can find lots of good free vector graphics.

Enjoy the weekend, folks! I'm hoping to go on a roadtrip for some much-needed photo shoots. Perhaps squeeze in a movie also!
Posted by at No comments:
Labels: ,

Thursday, February 12, 2009

Wireframe, the Crucial First Step to Designing Websites


Before you can start designing a site, it's definitely recommended that you create a wireframe for the site to give yourself and your client an idea of how contents will be organized. Your client would appreciate seeing your ideas visually also. This can be done using Photoshop, Illustrator, or with just pencil/paper, but there are also specialized software programs to help you do it seamlessly and easily, an example of one is OmniGraffle and its free to download custom graphic sets at Graffletopia.


PS - The above images are from about.com.
Posted by at No comments:
Labels:
Subscribe to: Comments (Atom)
 

AltStyle によって変換されたページ (->オリジナル) /