<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Tony Thomas &#187; 960 Grid System</title>
	<atom:link href="http://anthonygthomas.com/tag/960-grid-system/feed/" rel="self" type="application/rss+xml" />
	<link>http://anthonygthomas.com</link>
	<description>Father to two, husband to one, web developer and musician.</description>
	<lastBuildDate>Fri, 11 Nov 2011 14:00:07 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Why Use Blueprint and the 960 Grid System in the Baseline Theme?</title>
		<link>http://anthonygthomas.com/2010/02/14/why-use-blueprint-and-the-960-grid-system-in-the-baseline-theme/</link>
		<comments>http://anthonygthomas.com/2010/02/14/why-use-blueprint-and-the-960-grid-system-in-the-baseline-theme/#comments</comments>
		<pubDate>Sun, 14 Feb 2010 15:55:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blueprint Framework]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[960 Grid System]]></category>

		<guid isPermaLink="false">http://anthonygthomas.com/?p=256</guid>
		<description><![CDATA[An Inventory of Blueprint&#8217;s Style Resets and Useful Classes A friend contacted me about using the Baseline WordPress theme, but asked why I included both Blueprint and the 960 Grid System. The short answer is that Blueprint has a number of browser resets that I like to take advantage of and 960 GS offers greater [...]]]></description>
			<content:encoded><![CDATA[<h3>An Inventory of Blueprint&#8217;s Style Resets and Useful Classes</h3>
<p>A friend contacted me about using the <a title="Baseline WordPress Theme" href="http://baseline.truetoneenterprises.com" onclick="pageTracker._trackPageview('/outgoing/baseline.truetoneenterprises.com?referer=');">Baseline WordPress theme</a>, but asked why I included both <a href="http://www.blueprintcss.org/" onclick="pageTracker._trackPageview('/outgoing/www.blueprintcss.org/?referer=');">Blueprint</a> and the <a href="http://960.gs" onclick="pageTracker._trackPageview('/outgoing/960.gs?referer=');">960 Grid System</a>. The short answer is that Blueprint has a number of browser resets that I like to take advantage of and 960 GS offers greater flexibility in terms of the width of columns and their gutter widths. Especially if you want to adhere to the <a href="http://net.tutsplus.com/tutorials/other/the-golden-ratio-in-web-design/" onclick="pageTracker._trackPageview('/outgoing/net.tutsplus.com/tutorials/other/the-golden-ratio-in-web-design/?referer=');">Golden Ratio</a> for design. 960 pixels divides very neatly into 3.</p>
<p>Let&#8217;s take a look at what Blueprint does to reset some things to establish a cross-browser baseline. <span id="more-256"></span>First of all, all browsers have their own default style sheet for styling HTML elements. For example, here is <a href="http://anthonygthomas.com/firefoxs-default-style-sheet/">Firefox&#8217;s style sheet</a> that defines how the browser will render HTML if you don&#8217;t define any styles. Unfortunately, all browser&#8217;s default style sheets vary. Blueprint resets everything to level the field. Let&#8217;s take a look at <code>src/reset.css</code> in your Blueprint directory.</p>
<pre class="brush: css; first-line: 8; title: ; notranslate">/* --------------------------------------------------------------

   reset.css
   * Resets default browser CSS.

-------------------------------------------------------------- */

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, code,
del, dfn, em, img, q, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

body {
  line-height: 1.5;
}

/* Tables still need 'cellspacing=&quot;0&quot;' in the markup. */
table { border-collapse: separate; border-spacing: 0; }
caption, th, td { text-align: left; font-weight: normal; }
table, td, th { vertical-align: middle; }

/* Remove possible quote marks (&quot;) from &lt;q&gt;, &lt;blockquote&gt;. */
blockquote:before, blockquote:after, q:before, q:after { content: &quot;&quot;; }
blockquote, q { quotes: &quot;&quot; &quot;&quot;; }

/* Remove annoying border on linked images. */
a img { border: none; }
</pre>
<p>I don&#8217;t want to spend tons of time going over this except to say that the cascading nature of cascading styles means that no matter what your browser&#8217;s default style sheet is, all of the tags above have now been reset.</p>
<p>Just as important is Blueprint&#8217;s treatment of type. If we look at <code>src/typography.css</code>, we&#8217;ll find that all of the font sizes have been reset. This is very important and saves lots of time getting things to look the same across browsers. First it resets font size for the body and sets the default font families to sans-serif:</p>
<pre class="brush: css; first-line: 8; title: ; notranslate">/* Default font settings.
   The font-size percentage is of 16px. (0.75 * 16px = 12px) */
body {
  font-size: 75%;
  color: #222;
  background: #fff;
  font-family: &quot;Helvetica Neue&quot;, Arial, Helvetica, sans-serif;
}</pre>
<p>Next the headings are all reset. First the font weight (curiously) is set to &#8220;normal&#8221; and the color set to #111 (black):</p>
<pre class="brush: css; first-line: 21; title: ; notranslate">h1,h2,h3,h4,h5,h6 { font-weight: normal; color: #111; }</pre>
<p>Then the sizes and bottom margins are set:</p>
<pre class="brush: css; first-line: 23; title: ; notranslate">
h1 { font-size: 3em; line-height: 1; margin-bottom: 0.5em; }
h2 { font-size: 2em; margin-bottom: 0.75em; }
h3 { font-size: 1.5em; line-height: 1; margin-bottom: 1em; }
h4 { font-size: 1.2em; line-height: 1.25; margin-bottom: 1.25em; }
h5 { font-size: 1em; font-weight: bold; margin-bottom: 1.5em; }
h6 { font-size: 1em; font-weight: bold; }</pre>
<p>After that, margins are removed from any images within headings:</p>
<pre class="brush: css; first-line: 30; title: ; notranslate">
h1 img, h2 img, h3 img,
h4 img, h5 img, h6 img {
  margin: 0;
}</pre>
<p>After headings, we come to the <code>p</code> tag. Zero margin on top, left and right with a 1.5 em margin at the bottom of each paragraph:</p>
<pre class="brush: css; first-line: 39; title: ; notranslate">p           { margin: 0 0 1.5em; }</pre>
<p>Next, alignment classes for images with 1.5 em margins and 0 padding:</p>
<pre class="brush: css; first-line: 40; title: ; notranslate">p img.left  { float: left; margin: 1.5em 1.5em 1.5em 0; padding: 0; }
p img.right { float: right; margin: 1.5em 0 1.5em 1.5em; }</pre>
<p>Anchors come after that with a default blue color and black <code>hover</code> and <code>focus</code> pseudoclasses:</p>
<pre class="brush: css; first-line: 43; title: ; notranslate">a:focus,
a:hover     { color: #000; }
a           { color: #009; text-decoration: underline; }</pre>
<p><code>blockquote</code> get&#8217;s a margin, gray color and italics:</p>
<pre class="brush: css; first-line: 47; title: ; notranslate">blockquote  { margin: 1.5em; color: #666; font-style: italic; }</pre>
<p>The <code>strong</code> tag is bold&#8211;as it should be:</p>
<pre class="brush: css; first-line: 48; title: ; notranslate">strong      { font-weight: bold; }</pre>
<p>The <code>em</code> and <code>dfn</code> tags are italicized and <code>dfn</code> is bold:</p>
<pre class="brush: css; first-line: 49; title: ; notranslate">em,dfn      { font-style: italic; }
dfn         { font-weight: bold; }</pre>
<p>The <code>sup</code> and <code>sub</code> tags get a line height of zero:</p>
<pre class="brush: css; first-line: 51; title: ; notranslate">sup, sub    { line-height: 0; }</pre>
<p>The <code>abbr</code> and <code>acronym</code> tags are gray and get a dotted bottom border (which I find a little curious):</p>
<pre class="brush: css; first-line: 53; title: ; notranslate">abbr,
acronym     { border-bottom: 1px dotted #666; }</pre>
<p><code>address</code> tags get the same margin as paragraphs but with italics:</p>
<pre class="brush: css; first-line: 55; title: ; notranslate">address     { margin: 0 0 1.5em; font-style: italic; }</pre>
<p>The <code>del</code> tag (which you should be using instead of strike) gets a gray color:</p>
<pre class="brush: css; first-line: 56; title: ; notranslate">del         { color:#666; }</pre>
<p>Preformatted (<code>pre</code>) tags get at 1.5 em top and bottom margin and a zero right and left margin. Also, <code>pre</code>, <code>code</code> &amp; <code>tt</code> are set to monospace fonts at 1 em with a line-height of 1.5 em:</p>
<pre class="brush: css; first-line: 58; title: ; notranslate">pre 				{ margin: 1.5em 0; white-space: pre; }
pre,code,tt { font: 1em 'andale mono', 'lucida console', monospace; line-height: 1.5; }</pre>
<p>After that we move on to lists. Nested lists (<code>ol</code> &amp; <code>ul</code>) get a zero top and bottom margin with a 1.5 em right and left margin:</p>
<pre class="brush: css; first-line: 65; title: ; notranslate">li ul,
li ol       { margin:0 1.5em; }</pre>
<p>All lists get a zero top margin, 1.5 em right margin, 1.5 em bottom margin and a 1.5 em left margin:</p>
<pre class="brush: css; first-line: 67; title: ; notranslate">ul, ol      { margin: 0 1.5em 1.5em 1.5em; }</pre>
<p>Unordered lists default to a disc style and ordered lists are set to decimal for their list style:</p>
<pre class="brush: css; first-line: 69; title: ; notranslate">ul          { list-style-type: disc; }
ol          { list-style-type: decimal; }</pre>
<p>Definition list margins are set. <code>dl</code> and <code>dt</code> tags are set to bold:</p>
<pre class="brush: css; first-line: 72; title: ; notranslate">dl          { margin: 0 0 1.5em 0; }
dl dt       { font-weight: bold; }
dd          { margin-left: 1.5em;}</pre>
<p>Tables are up next. Tables themselves get a 1.4 em bottom margin and 100% width. Table headers (<code>th</code>) are bold with #c3d9ff background color. Table headings, table data (<code>td</code>) and caption get some padding. A table row (<code>tr</code>) &#8220;even&#8221; class is established with a different background color. Table footers (<code>tfoot</code>) are italicized and finally, <code>caption</code> is given a background color of #eee.</p>
<pre class="brush: css; first-line: 80; title: ; notranslate">table       { margin-bottom: 1.4em; width:100%; }
th          { font-weight: bold; }
thead th 		{ background: #c3d9ff; }
th,td,caption { padding: 4px 10px 4px 5px; }
tr.even td  { background: #e5ecf9; }
tfoot       { font-style: italic; }
caption     { background: #eee; }</pre>
<p>Finally we get to &#8220;Miscellaneous Classes&#8221;. <code>small</code>, <code>large</code> and <code>hide</code> classes are pretty self explanatory:</p>
<pre class="brush: css; first-line: 92; title: ; notranslate">.small      { font-size: .8em; margin-bottom: 1.875em; line-height: 1.875em; }
.large      { font-size: 1.2em; line-height: 2.5em; margin-bottom: 1.25em; }
.hide       { display: none; }</pre>
<p>Some useful classes are established next with <code>loud</code>, <code>highlight</code>, <code>added</code> and <code>removed</code>. The <code>quiet</code> class is simple set to gray.:</p>
<pre class="brush: css; first-line: 96; title: ; notranslate">.quiet      { color: #666; }</pre>
<p><code>loud</code> is set to black:</p>
<pre class="brush: css; first-line: 97; title: ; notranslate">.loud       { color: #000; }</pre>
<p><code>highlight</code> has a yellow background:</p>
<pre class="brush: css; first-line: 98; title: ; notranslate">.highlight  { background:#ff0; }</pre>
<p><code>added</code> has a green background with white text:</p>
<pre class="brush: css; first-line: 99; title: ; notranslate">.added      { background:#060; color: #fff; }</pre>
<p>And <code>removed</code> has a dark red background with white text:</p>
<pre class="brush: css; first-line: 100; title: ; notranslate">.removed    { background:#900; color: #fff; }</pre>
<p>Finally, there are <code>first</code>, <code>last</code>, <code>top</code> and <code>bottom</code> classes. First just makes sure there is no margin or padding on the left:</p>
<pre class="brush: css; first-line: 102; title: ; notranslate">.first      { margin-left:0; padding-left:0; }</pre>
<p><code>last</code> does the same, but on the right:</p>
<pre class="brush: css; first-line: 103; title: ; notranslate">.last       { margin-right:0; padding-right:0; }</pre>
<p><code>top</code> does what first and last did, but on the top (of course):</p>
<pre class="brush: css; first-line: 104; title: ; notranslate">.top        { margin-top:0; padding-top:0; }</pre>
<p>And <code>bottom</code> does what first, last and top did, but does it on the bottom:</p>
<pre class="brush: css; first-line: 105; title: ; notranslate">.bottom     { margin-bottom:0; padding-bottom:0; }</pre>
<p>Finally, we&#8217;re going to take a look at what Blueprint offers for forms. Let&#8217;s take a look at src/forms.css. The first thing we have is some styling for <code>label</code>, <code>fieldset</code> and <code>legend</code> tags.</p>
<p>Labels are bold, <code>fieldset</code> has a 1.4 em padding and a 1.5 em bottom margin with a gray border. <code>legend</code> is also bold with a 1.2 em font-size:</p>
<pre class="brush: css; first-line: 12; title: ; notranslate">label       { font-weight: bold; }
fieldset    { padding:1.4em; margin: 0 0 1.5em 0; border: 1px solid #ccc; }
legend      { font-weight: bold; font-size:1.2em; }</pre>
<p>Next <code>text</code> and <code>title</code> classes are established for input tags and they are given the same formatting as <code>textarea</code> and <code>select</code> tags:</p>
<pre class="brush: css; first-line: 20; title: ; notranslate">input.text, input.title,
textarea, select {
  margin:0.5em 0;
  border:1px solid #bbb;
}</pre>
<p>Next pseudoclasses are formatted for <code>focus</code> on form elements to change the border to black.</p>
<pre class="brush: css; first-line: 26; title: ; notranslate">input.text:focus, input.title:focus,
textarea:focus, select:focus {
  border:1px solid #666;
}</pre>
<p>Next up <code>input</code> <code>text</code> classes are set to 300px wide with 5px padding. The <code>input</code> <code>title</code> class is also given a 1.5 em font size. <code>textarea</code> is a little wider and higher with 5px of padding:</p>
<pre class="brush: css; first-line: 31; title: ; notranslate">input.text,
input.title   { width: 300px; padding:5px; }
input.title   { font-size:1.5em; }
textarea      { width: 390px; height: 250px; padding:5px; }</pre>
<p>Last but absolutely not least are some nice form validation classes you can take advantage of. The <code>notice</code>, <code>success</code> and <code>error</code> classes function for just what their names suggest. By now I&#8217;m going to assume you can read the styles so I won&#8217;t inventory these one by one except to say that they&#8217;re nice, intuitive classes for form validation.</p>
<pre class="brush: css; first-line: 40; title: ; notranslate">.error,
.notice,
.success    { padding: .8em; margin-bottom: 1em; border: 2px solid #ddd; }

.error      { background: #FBE3E4; color: #8a1f11; border-color: #FBC2C4; }
.notice     { background: #FFF6BF; color: #514721; border-color: #FFD324; }
.success    { background: #E6EFC2; color: #264409; border-color: #C6D880; }
.error a    { color: #8a1f11; }
.notice a   { color: #514721; }
.success a  { color: #264409; }</pre>
<p>The point of all of this is that <em>none</em> of these are reset by the 960 grid established in the Baseline theme. Blueprint does a really nice job of resetting your styles and also includes a handful of other useful classes. What it <em>doesn&#8217;t</em> offer that the 960 Grid System <em>does</em> is flexibility with design width, column width and gutter width. <em>That&#8217;s</em> why I decided to rely on the 960 Grid System for establishing the columns and combine it with Blueprint for it&#8217;s wonderful job of resetting the styles.</p>
<p>Plus, I&#8217;ve been meaning to document all of these styles in Blueprint for a while now. If you don&#8217;t use my <a href="http://baseline.truetoneenterprises.com/" onclick="pageTracker._trackPageview('/outgoing/baseline.truetoneenterprises.com/?referer=');">Baseline theme</a>, this may also provide useful in terms of documenting what Blueprint is doing for you. <a href="http://anthonygthomas.com/articles/a-demo-of-some-of-blueprints-classes/">Take a look at this page to see what some of the classes like <code>error</code> or <code>success</code> look like</a>.<strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://anthonygthomas.com/2010/02/14/why-use-blueprint-and-the-960-grid-system-in-the-baseline-theme/" rel="bookmark" title="February 14, 2010">Why Use Blueprint and the 960 Grid System in the Baseline Theme?</a></li>
<li><a href="http://anthonygthomas.com/2010/02/15/blueprint-optional-fancy-type-plugin/" rel="bookmark" title="February 15, 2010">Blueprint Optional Fancy-Type Plugin</a></li>
<li><a href="http://anthonygthomas.com/2009/11/09/blueprint-taking-a-close-look-at-grid-css/" rel="bookmark" title="November 9, 2009">Blueprint: Taking a Close Look at grid.css</a></li>
<li><a href="http://anthonygthomas.com/2008/11/22/blueprint-css-tutorial-file/" rel="bookmark" title="November 22, 2008">Blueprint CSS Tutorial File</a></li>
<li><a href="http://anthonygthomas.com/2011/04/18/css-scaffolding/" rel="bookmark" title="April 18, 2011">CSS Scaffolding</a></li>
</ul>
<p><!-- Similar Posts took 16.960 ms --></p>
]]></content:encoded>
			<wfw:commentRss>http://anthonygthomas.com/2010/02/14/why-use-blueprint-and-the-960-grid-system-in-the-baseline-theme/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

