Friday, July 30, 2010

Making the must have stylesheet

A stylesheet is like pastel in canvas! It fills effectiveness in the html structure. When i started with front-end development i felt a need for a stylesheet that i can refer every time. A designer must believe in smart work rather than hard work.
There was a need for a stylesheet that is perfect enough to avoid starting from scratch, that serves purpose for all kind of media (be it print or cross-browser) and that meets the W3C recommendations. When the search for such a framework began, I came across a few but personally i found the listed below as worth jotting down. Each one has its pros and cons.

  1. 960 grid system
  2. Yahoo! UI Library CSS Foundation
  3. Blueprint
 Every front-end developer must have his own stylesheet. I have two. One purely for wordpress and the other for other static html. I am also making one for Joomla too. This saves my valuable time and efforts.
Lets start making our framework

1. Styles related to reset
To me the idea of resetting all browser style came from the blueprint framework. Every time I use this, I can be assured that my site will look more or less similar on most browsers.

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td
 {
margin: 0;
padding: 0;
border: 0;
outline: 0;
font-size: 100%;
vertical-align: baseline;
background: transparent;
}
body {line-height: 1.5; }
Include this stylesheet on the top of other stylesheet thus it can be overridden. One can also include styles related to tables or list that are included in most designs.
Say for example
a img { border: none; }
ol, ul { list-style: none; }
blockquote, q { quotes: none; }
table { border-collapse: collapse; border-spacing: 0; }
2. Styles related to structure
The structure style sheet must include the styles that are related to HTML tags / IDs that determine the layout. For example this layout has 5 basic structures so our stylesheet will have width height and float for them.

Also styles to be given for FORMS, LISTS, TABLE, IMAGES, LINK and other tags like pre, code, caption, address, blockquote etc. These styles should be well organized as they will be used frequently.

/* Begin of form styles
---------------------------*/

These indication also help other developers to refer to styles easily. I once made different stylesheets for each element like forms , tables for my company’s admin-side framework. Although that doesn’t increase the file size but it does increase the code accessibility.

3. Styles related to print
Printer friendly pages can be styled by removing the unnecessary padding and margin, using the display:none; option for header, navigation links that need nt be printed.
Also the font size must have value in pt and not pixel or em ( eg font-size:7pt ) As the output of the content appears different while we print. One can check the print preview through the browser option FILE > PRINT PREVIEW

4. Styles related to typography
This stylesheet must consist of heading and paragraph related styles. Their line-height, letter spacing, font-size, font-family should be preferably in em units to maintain consistancy over browsers. Also the body tag should be given font-size as 62.5% as it resets 1em to 10px.

No comments:

Post a Comment