Foundation Framework for Web Sites Production
The Foundation framework is
something I discovered by accident browsing through some github project
pages. I really liked how one of the sites looked on my iPad. I was also
pleased to see how HTML crafted, using clear names for classes and HTML5
semantics. As it turned out, that site was using Foundation Framework by
Zurb - design agency in San Francisco Bay
area.
I checked out the
documentation and Foundation
appears to be pretty solid framework for web applications prototyping and
production. It contained everything needed:
Grid Layouts,
Buttons,
Forms and
UI. And of cause, all
of that is open source hosted on github.
During my preparation of project page for
candidate I decided
to try it out. I was really happy of the experience.
Object Oriented CSS
Have you heard of
OOCSS? Initially I
thought that idea is almost non-sense, but I’m changing my opinion now. I
think Foundation fully conforms to OOCSS style of development - each
behavior or UI you want to apply to HTML element is done by applying of
corresponding class.
Great thing is that you see how it’s done in framework and do same in your
code as well. I remember the times I started to do HTML/CSS and I higly used
#id’s, applying the styles by element Id. The code was awful and styles
applied on #id’s were not re-usable at all, so if I needed the same
margin/padding or text color I have to copy the section of CSS and move it
into next #some-id { ... }
.
With OOCSS you rely on classed. Here some example,
<div class="container darker-grey light-border small-padding">
<div class="row smaller-fonts">
<div class="four columns"></div>
<div class="four columns"></div>
<div class="four columns"></div>
</div>
</div>
Look, no #id’s - classes only. With classes I control: position, colors,
borders and margin/paddings. This is really cool, since all of that classes
are easy reusable in any part of page.
Grid system
Grid systems is really cool concept and allows to develop much faster.
Instead of writing own CSS that would position elements, you stick to Grid
System. The classical grid system is probably
960.gs. It’s really great and blown my mind as
I first time tried it, but currently it little outdated: 960px wide is small
for modern monitor and it is not adaptive. Modern web design demands site
looks great both on PC and Mobile devices, adapt it’s content based on
screen size.
Here is a quote of Foundation documentation.
The grid is built around three key elements: containers, rows, and columns.
Containers create base padding for the page; rows create a max-width and
contain the columns; and columns create the final structure. Everything on
your page that you don’t give a specific structural style to should be
within a container, row and column.
You develop the layout based on planned number of row and columns that
compose the row. Again, code is done in OOCSS way with clean classes names,
so you write almost “plain” English in HTML.
<div class="container">
<div class="row">
<div class="eight columns">
Eight columns
</div>
<div class="four columns">
Four columns
</div>
</div>
</div>
After design is ready, you just open it on iPad and.. Surprise, it looks
great there! Text and columns are adaptively fits the screen size.
Buttons and Forms
Buttons and Forms are same important as Colors and Fonts in your web site.
You can’t get good site appearance if buttons and forms are ugly. I usually
spend a lot of time on “beautifying” those, but still unhappy with results
at the end of the day. With Foundation it’s easier. You got nice styles from
the box.
Forms:
Buttons:
Recently, I’ve
submitted green
button style, so I hope it will be available soon.
UI stuff
Besides those primary things you got nice bonus. That’s different UI
elements commonly used through different web sites. It includes: Alerts,
Labels, Warnings, Tooltips, Tabs etc.
For candidate site I
successfully used Pagination UI element.
Conclusions
Currently Bootstrap from
Twitter is obvious leader in that niche. But I really think Foundation will
get it’s place. Easy to use, great documentation
repository is very active,
so we might expected further great features in Foundation.
And by the way.. To payback Foundation, I got idea for small product:
inspired by Bootswatch I’m about to
create bunch of “ready-to-use” Foundation themes, that you just download and
start to use immediately. It will work great for people who are about to
create one page product presentation or simple blog. Hope it will go fine
and I release it soon.
The Foundation framework is
something I discovered by accident browsing through some github project
pages. I really liked how one of the sites looked on my iPad. I was also
pleased to see how HTML crafted, using clear names for classes and HTML5
semantics. As it turned out, that site was using Foundation Framework by
Zurb - design agency in San Francisco Bay
area.
I checked out the
documentation and Foundation
appears to be pretty solid framework for web applications prototyping and
production. It contained everything needed:
Grid Layouts,
Buttons,
Forms and
UI. And of cause, all
of that is open source hosted on github.
During my preparation of project page for
candidate I decided
to try it out. I was really happy of the experience.
Object Oriented CSS
Have you heard of
OOCSS? Initially I
thought that idea is almost non-sense, but I’m changing my opinion now. I
think Foundation fully conforms to OOCSS style of development - each
behavior or UI you want to apply to HTML element is done by applying of
corresponding class.
Great thing is that you see how it’s done in framework and do same in your
code as well. I remember the times I started to do HTML/CSS and I higly used
#id’s, applying the styles by element Id. The code was awful and styles
applied on #id’s were not re-usable at all, so if I needed the same
margin/padding or text color I have to copy the section of CSS and move it
into next #some-id { ... }
.
With OOCSS you rely on classed. Here some example,
<div class="container darker-grey light-border small-padding"> <div class="row smaller-fonts"> <div class="four columns"></div> <div class="four columns"></div> <div class="four columns"></div> </div> </div>
Look, no #id’s - classes only. With classes I control: position, colors,
borders and margin/paddings. This is really cool, since all of that classes
are easy reusable in any part of page.
Grid system
Grid systems is really cool concept and allows to develop much faster.
Instead of writing own CSS that would position elements, you stick to Grid
System. The classical grid system is probably
960.gs. It’s really great and blown my mind as
I first time tried it, but currently it little outdated: 960px wide is small
for modern monitor and it is not adaptive. Modern web design demands site
looks great both on PC and Mobile devices, adapt it’s content based on
screen size.
Here is a quote of Foundation documentation.
The grid is built around three key elements: containers, rows, and columns. Containers create base padding for the page; rows create a max-width and contain the columns; and columns create the final structure. Everything on your page that you don’t give a specific structural style to should be within a container, row and column.
You develop the layout based on planned number of row and columns that
compose the row. Again, code is done in OOCSS way with clean classes names,
so you write almost “plain” English in HTML.
<div class="container"> <div class="row"> <div class="eight columns"> Eight columns </div> <div class="four columns"> Four columns </div> </div> </div>
After design is ready, you just open it on iPad and.. Surprise, it looks
great there! Text and columns are adaptively fits the screen size.
Buttons and Forms
Buttons and Forms are same important as Colors and Fonts in your web site.
You can’t get good site appearance if buttons and forms are ugly. I usually
spend a lot of time on “beautifying” those, but still unhappy with results
at the end of the day. With Foundation it’s easier. You got nice styles from
the box.
Forms:
Buttons:
Recently, I’ve
submitted green
button style, so I hope it will be available soon.
UI stuff
Besides those primary things you got nice bonus. That’s different UI
elements commonly used through different web sites. It includes: Alerts,
Labels, Warnings, Tooltips, Tabs etc.
For candidate site I
successfully used Pagination UI element.
Conclusions
Currently Bootstrap from
Twitter is obvious leader in that niche. But I really think Foundation will
get it’s place. Easy to use, great documentation
repository is very active,
so we might expected further great features in Foundation.
And by the way.. To payback Foundation, I got idea for small product:
inspired by Bootswatch I’m about to
create bunch of “ready-to-use” Foundation themes, that you just download and
start to use immediately. It will work great for people who are about to
create one page product presentation or simple blog. Hope it will go fine
and I release it soon.