<?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; Blueprint Framework</title>
	<atom:link href="http://anthonygthomas.com/category/web-development/css/blueprint-framework/feed/" rel="self" type="application/rss+xml" />
	<link>http://anthonygthomas.com</link>
	<description>This is my blog.</description>
	<lastBuildDate>Sat, 20 Mar 2010 20:24:01 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Blueprint Optional Fancy-Type Plugin</title>
		<link>http://anthonygthomas.com/2010/02/15/blueprint-optional-fancy-type-plugin/</link>
		<comments>http://anthonygthomas.com/2010/02/15/blueprint-optional-fancy-type-plugin/#comments</comments>
		<pubDate>Mon, 15 Feb 2010 19:58:38 +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[baseline theme]]></category>

		<guid isPermaLink="false">http://anthonygthomas.com/?p=312</guid>
		<description><![CDATA[The Baseline Development Wordpress Theme has Blueprint plugged in already. There are some optional Blueprint plugins you can take advantage of. We&#8217;ll take a look at the fancy-type plug-in.
First of all, to link it in just add this to header.php:
&#60;link rel=&#34;stylesheet&#34; href=&#34;&#60;?php bloginfo('stylesheet_directory'); ?&#62;/blueprint/plugins/fancy-type/screen.css&#34; type=&#34;text/css&#34; media=&#34;screen, projection&#34; /&#62;
The first thing this will do for you [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://baseline.truetoneenterprises.com" onclick="pageTracker._trackPageview('/outgoing/baseline.truetoneenterprises.com?referer=');">Baseline Development Wordpress Theme</a> has <a href="http://blueprintcss.org/" onclick="pageTracker._trackPageview('/outgoing/blueprintcss.org/?referer=');">Blueprint</a> plugged in already. There are some optional Blueprint plugins you can take advantage of. We&#8217;ll take a look at the fancy-type plug-in.<span id="more-312"></span></p>
<p>First of all, to link it in just add this to header.php:</p>
<pre class="brush: php; html-script: true;">&lt;link rel=&quot;stylesheet&quot; href=&quot;&lt;?php bloginfo('stylesheet_directory'); ?&gt;/blueprint/plugins/fancy-type/screen.css&quot; type=&quot;text/css&quot; media=&quot;screen, projection&quot; /&gt;</pre>
<p>The first thing this will do for you is indent your paragraphs:</p>
<pre class="brush: css;">/* Indentation instead of line shifts for sibling paragraphs. */
   p + p { text-indent:2em; margin-top:-1.5em; }
   form p + p  { text-indent: 0; } /* Don't want this in forms. */</pre>
<p>Next up is the <code>alt</code> class for some fancy type:</p>
<pre class="brush: css; first-line: 15;">
/* For great looking type, use this code instead of asdf:
   &lt;span class=&quot;alt&quot;&gt;asdf&lt;/span&gt;
   Best used on prepositions and ampersands. */

.alt {
  color: #666;
  font-family: &quot;Warnock Pro&quot;, &quot;Goudy Old Style&quot;,&quot;Palatino&quot;,&quot;Book Antiqua&quot;, Georgia, serif;
  font-style: italic;
  font-weight: normal;
}</pre>
<p>You also get a class for fancy quote marks:</p>
<pre class="brush: css; first-line: 27;">/* For great looking quote marks in titles, replace &quot;asdf&quot; with:
   &lt;span class=&quot;dquo&quot;&gt;&amp;#8220;&lt;/span&gt;asdf&amp;#8221;
   (That is, when the title starts with a quote mark).
   (You may have to change this value depending on your font size). */

.dquo { margin-left: -.5em; } </pre>
<p>Reduced size type with incremental leading:</p>
<pre class="brush: css; first-line: 35;">/* Reduced size type with incremental leading
   (http://www.markboulton.co.uk/journal/comments/incremental_leading/)

   This could be used for side notes. For smaller type, you don't necessarily want to
   follow the 1.5x vertical rhythm -- the line-height is too much.

   Using this class, it reduces your font size and line-height so that for
   every four lines of normal sized type, there is five lines of the sidenote. eg:

   New type size in em's:
     10px (wanted side note size) / 12px (existing base size) = 0.8333 (new type size in ems)

   New line-height value:
     12px x 1.5 = 18px (old line-height)
     18px x 4 = 72px
     72px / 5 = 14.4px (new line height)
     14.4px / 10px = 1.44 (new line height in em's) */

p.incr, .incr p {
	font-size: 10px;
	line-height: 1.44em;
	margin-bottom: 1.5em;
}</pre>
<p>And finally the <code>caps</code> class:</p>
<pre class="brush: css;">/* Surround uppercase words and abbreviations with this class.
   Based on work by Jørgen Arnor Gårdsø Lom [http://twistedintellect.com/] */

.caps {
  font-variant: small-caps;
  letter-spacing: 1px;
  text-transform: lowercase;
  font-size:1.2em;
  line-height:1%;
  font-weight:bold;
  padding:0 2px;
}</pre>
<p><a href="http://anthonygthomas.com/articles/blueprint-fancy-type-classes/">Go here to take a look at what these classes do in practice</a>.<strong>Similar Posts:</strong>
<ul class="similar-posts">
<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/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/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/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-readme-file/" rel="bookmark" title="November 22, 2008">Blueprint CSS Readme File</a></li>
</ul>
<p><!-- Similar Posts took 5.533 ms --></p>
]]></content:encoded>
			<wfw:commentRss>http://anthonygthomas.com/2010/02/15/blueprint-optional-fancy-type-plugin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<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 flexibility [...]]]></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;">/* --------------------------------------------------------------

   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;">/* 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;">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;">
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;">
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;">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;">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;">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;">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;">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;">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;">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;">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;">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;">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;">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;">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;">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;">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;">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;">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;">.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;">.quiet      { color: #666; }</pre>
<p><code>loud</code> is set to black:</p>
<pre class="brush: css; first-line: 97;">.loud       { color: #000; }</pre>
<p><code>highlight</code> has a yellow background:</p>
<pre class="brush: css; first-line: 98;">.highlight  { background:#ff0; }</pre>
<p><code>added</code> has a green background with white text:</p>
<pre class="brush: css; first-line: 99;">.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;">.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;">.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;">.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;">.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;">.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;">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;">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;">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;">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;">.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/2008/12/16/when-using-a-grid-layout-css-framework-do-the-math/" rel="bookmark" title="December 16, 2008">When Using a Grid Layout CSS Framework, Do the Math</a></li>
</ul>
<p><!-- Similar Posts took 11.009 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>
		<item>
		<title>Introducing the Baseline Development Wordpress Theme</title>
		<link>http://anthonygthomas.com/2010/02/08/introducing-the-baseline-development-wordpress-theme/</link>
		<comments>http://anthonygthomas.com/2010/02/08/introducing-the-baseline-development-wordpress-theme/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 01:53:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blueprint Framework]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[themes]]></category>

		<guid isPermaLink="false">http://anthonygthomas.com/?p=233</guid>
		<description><![CDATA[I&#8217;ve come up with some habits that I&#8217;ve developed from building themes for Wordpress over the years. One, is to start with a nearly blank style sheet. I also like to hook in several JavaScript libraries and CSS frameworks from the start to take advantage of things like JQuery, Blueprint&#8217;s CSS reset and Superfish menus.
I&#8217;ve [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve come up with some habits that I&#8217;ve developed from building themes for Wordpress over the years. One, is to start with a nearly blank style sheet. I also like to hook in several JavaScript libraries and CSS frameworks from the start to take advantage of things like JQuery, Blueprint&#8217;s CSS reset and Superfish menus.<span id="more-233"></span></p>
<p>I&#8217;ve decided to build and release an XHTML 1.0 version and release it as a springboard for others who may want to take advantage of the same sets of tools. The theme isn&#8217;t much to look at (that&#8217;s the point), but it includes:</p>
<ul>
<li><a href="http://blueprintcss.org/" onclick="pageTracker._trackPageview('/outgoing/blueprintcss.org/?referer=');">Blueprint CSS framework</a></li>
<li><a href="http://blueprintcss.org/" onclick="pageTracker._trackPageview('/outgoing/blueprintcss.org/?referer=');"></a><a href="http://960.gs/" onclick="pageTracker._trackPageview('/outgoing/960.gs/?referer=');">960 Grid System</a></li>
<li><a href="http://960.gs/" onclick="pageTracker._trackPageview('/outgoing/960.gs/?referer=');"></a><a href="http://jquery.com/" onclick="pageTracker._trackPageview('/outgoing/jquery.com/?referer=');">JQuery 1.4.0</a></li>
<li><a href="http://jqueryui.com/" onclick="pageTracker._trackPageview('/outgoing/jqueryui.com/?referer=');">JQuery UI 1.7.1</a></li>
<li><a href="http://jquery.com/" onclick="pageTracker._trackPageview('/outgoing/jquery.com/?referer=');"></a><a href="http://users.tpg.com.au/j_birch/plugins/superfish/" onclick="pageTracker._trackPageview('/outgoing/users.tpg.com.au/j_birch/plugins/superfish/?referer=');">Superfish JQuery menu</a> (with <a href="http://cherne.net/brian/resources/jquery.hoverIntent.html" onclick="pageTracker._trackPageview('/outgoing/cherne.net/brian/resources/jquery.hoverIntent.html?referer=');">HoverIntent.js</a>)</li>
<li><a href="http://code.google.com/p/ie7-js/" onclick="pageTracker._trackPageview('/outgoing/code.google.com/p/ie7-js/?referer=');">IE8 JavaScript Library</a></li>
<li><a href="http://users.tpg.com.au/j_birch/plugins/superfish/" onclick="pageTracker._trackPageview('/outgoing/users.tpg.com.au/j_birch/plugins/superfish/?referer=');"></a>Widget-enabled sidebar</li>
<li><a href="http://wpcandy.com/articles/easier-theme-development-with-the-sample-post-collection.html" onclick="pageTracker._trackPageview('/outgoing/wpcandy.com/articles/easier-theme-development-with-the-sample-post-collection.html?referer=');">Test Content file from WP-Candy</a></li>
<li><a href="http://validator.w3.org/check?uri=http%3A%2F%2Fbaseline.truetoneenterprises.com%2F" onclick="pageTracker._trackPageview('/outgoing/validator.w3.org/check?uri=http_3A_2F_2Fbaseline.truetoneenterprises.com_2F&amp;referer=');">Valid XHTML 1.0</a></li>
</ul>
<p><a href="http://baseline.truetoneenterprises.com" onclick="pageTracker._trackPageview('/outgoing/baseline.truetoneenterprises.com?referer=');">More information here</a>.</p>
<p>If you want to use all of these tools, you&#8217;re all set. If you want to use a few, it&#8217;s just a matter of removing them from header.php.</p>
<p>First off, I really like Blueprint&#8217;s browser reset, so I wanted to include that here. I also like the flexibility the 960 Grid System offers in terms of column width. As a result, I&#8217;ve included them both.</p>
<pre class="brush: php; first-line: 9; html-script: true;">&lt;link rel=&quot;stylesheet&quot; href=&quot;&lt;?php bloginfo('stylesheet_directory'); ?&gt;/blueprint/screen.css&quot; type=&quot;text/css&quot; media=&quot;screen, projection&quot; /&gt;
&lt;link rel=&quot;stylesheet&quot; href=&quot;&lt;?php bloginfo('stylesheet_directory'); ?&gt;/960.css&quot; type=&quot;text/css&quot; media=&quot;screen, projection&quot; /&gt;
&lt;link rel=&quot;stylesheet&quot; href=&quot;&lt;?php bloginfo('stylesheet_directory'); ?&gt;/blueprint/print.css&quot; type=&quot;text/css&quot; media=&quot;print&quot; /&gt;</pre>
<p>If you don&#8217;t wish to use any of these, simply remove them from header.php. Next up is the Superfish CSS:</p>
<pre class="brush: php; first-line: 12; html-script: true;">&lt;link rel=&quot;stylesheet&quot; href=&quot;&lt;?php bloginfo('stylesheet_directory'); ?&gt;/superfish/css/superfish.css&quot; type=&quot;text/css&quot; media=&quot;screen, projection&quot; /&gt;</pre>
<p>You must keep this if you&#8217;re using Superfish. If you&#8217;re not going to use Superfish, you should remove these lines too:</p>
<pre class="brush: php; first-line: 29; html-script: true;">&lt;script type=&quot;text/javascript&quot; src=&quot;&lt;?php bloginfo('stylesheet_directory'); ?&gt;/superfish/js/superfish.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;&lt;?php bloginfo('stylesheet_directory'); ?&gt;/superfish/js/hoverIntent.js&quot;&gt;&lt;/script&gt;</pre>
<pre class="brush: jscript; first-line: 32; html-script: true;">&lt;script type=&quot;text/javascript&quot;&gt;

    $(document).ready(function() {
        $('ul.sf-menu').superfish();
    });

&lt;/script&gt;</pre>
<p>Next is Blueprint&#8217;s Internet Explorer CSS reset:</p>
<pre class="brush: php; first-line: 13; html-script: true;">&lt;!--[if IE]&gt;
&lt;link rel=&quot;stylesheet&quot; href=&quot;&lt;?php bloginfo('stylesheet_directory'); ?&gt;/blueprint/ie.css&quot; type=&quot;text/css&quot; media=&quot;screen, projection&quot; /&gt;
&lt;![endif] --&gt;</pre>
<p>I&#8217;ve also had good luck using the IE8 JavaScript library, so that&#8217;s included next:</p>
<pre class="brush: xml; first-line: 17;">&lt;!--[if lt IE 8]&gt;
&lt;script src=&quot;http://ie7-js.googlecode.com/svn/version/2.0(beta3)/IE8.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
&lt;![endif]--&gt;</pre>
<p>Then JQuery and JQuery UI libraries:</p>
<pre class="brush: xml; first-line: 21;">&lt;script src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.1/jquery-ui.min.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;</pre>
<p>That&#8217;s it. All the frameworks and libraries are loaded. If you don&#8217;t think you&#8217;ll need any one of them, you can just take them out. WARNING: The layout of the columns does rely on the 960 Grid System CSS file. If you take that out of the head the columns won&#8217;t work and you&#8217;ll break the layout.</p>
<p>Otherwise this should give you a good start that will allow you to take advantage of tons of cool JQuery stuff and leverages a very popular CSS Grid System for laying out columns. It should be easy to modify this theme to fit your own design.</p>
<p><a href="http://baseline.truetoneenterprises.com" onclick="pageTracker._trackPageview('/outgoing/baseline.truetoneenterprises.com?referer=');">Download the theme here</a>.<strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://anthonygthomas.com/2010/02/08/introducing-the-baseline-development-wordpress-theme/" rel="bookmark" title="February 8, 2010">Introducing the Baseline Development Wordpress Theme</a></li>
<li><a href="http://anthonygthomas.com/2008/11/23/incorporating-blueprint-css-into-your-new-wordpress-theme/" rel="bookmark" title="November 23, 2008">Incorporating Blueprint CSS Into Your New Wordpress Theme</a></li>
<li><a href="http://anthonygthomas.com/2010/02/16/baseline-theme-version-1-0-1/" rel="bookmark" title="February 16, 2010">Baseline Theme Version 1.0.1</a></li>
<li><a href="http://anthonygthomas.com/2008/11/26/getting-blueprint-css-javascript-libraries-into-your-cakephp-layout/" rel="bookmark" title="November 26, 2008">Getting Blueprint CSS &#038; JavaScript Libraries Into Your CakePHP Layout</a></li>
<li><a href="http://anthonygthomas.com/2008/11/22/blueprint-css-readme-file/" rel="bookmark" title="November 22, 2008">Blueprint CSS Readme File</a></li>
</ul>
<p><!-- Similar Posts took 4.852 ms --></p>
]]></content:encoded>
			<wfw:commentRss>http://anthonygthomas.com/2010/02/08/introducing-the-baseline-development-wordpress-theme/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Blueprint: Taking a Close Look at grid.css</title>
		<link>http://anthonygthomas.com/2009/11/09/blueprint-taking-a-close-look-at-grid-css/</link>
		<comments>http://anthonygthomas.com/2009/11/09/blueprint-taking-a-close-look-at-grid-css/#comments</comments>
		<pubDate>Tue, 10 Nov 2009 02:31:23 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blueprint Framework]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[blueprint]]></category>

		<guid isPermaLink="false">http://anthonygthomas.com/?p=191</guid>
		<description><![CDATA[About Blueprint
Blueprint is a CSS framework, which aims to cut down on your development time. It gives you a solid foundation to build your project on top of, with an easy-to-use grid, sensible typography, useful plugins, and even a stylesheet for printing.
.container
/* A container should group all your columns. */
.container {
width: 950px;
margin: 0 auto;
}

container is [...]]]></description>
			<content:encoded><![CDATA[<h3>About Blueprint</h3>
<blockquote><p><a href="http://blueprintcss.org/" onclick="pageTracker._trackPageview('/outgoing/blueprintcss.org/?referer=');">Blueprint</a> is a CSS framework, which aims to cut down on your development time. It gives you a solid foundation to build your project on top of, with an easy-to-use grid, sensible typography, useful plugins, and even a stylesheet for printing.</p></blockquote>
<h3>.container</h3>
<pre class="brush: css; first-line: 18;">/* A container should group all your columns. */
.container {
width: 950px;
margin: 0 auto;
}</pre>
<p><span id="more-191"></span></pre>
<p><code>container</code> is where it all begins. This establishes your centered div with a width of 950 pixels. If you've done much CSS, this should look pretty familiar:</p>
<pre class="brush: css;">margin: 0 auto; /* This is what centers the div */</pre>
<p>Not much else to say except all of your other columns should be inside a div with the <code>container</code> class. Let's move on.</p>
<h3>.showgrid</h3>
<pre class="brush: css; first-line: 24;">.showgrid { background: url(src/grid.png);  }</pre>
<p><code>showgrid</code> is a nice tool to display your columns when you're laying out a page. Simply add it to the <code>container</code> div like so:</p>
<pre class="brush: xml;">&lt;div class=&quot;container showgrid&quot;&gt;DIV contents&lt;/div&gt;</pre>
<p>Once you're satisfied with how things are positioned, remove <code>showgrid</code> from your classes.</p>
<p>Let's skip down to line 33 or so.</p>
<h3>.span-x</h3>
<pre class="brush: css; first-line: 33;">/* Sets up basic grid floating and margin. */
div.span-1, div.span-2, div.span-3, div.span-4, div.span-5,
div.span-6, div.span-7, div.span-8, div.span-9, div.span-10,
div.span-11, div.span-12, div.span-13, div.span-14, div.span-15,
div.span-16, div.span-17, div.span-18, div.span-19, div.span-20,
div.span-21, div.span-22, div.span-23, div.span-24 {
  float: left;
  margin-right: 10px;
}</pre>
<p>This just sets up your span-x columns to all float left. It's a bit counter-intuitive, but this makes them all wrap around to the right of each other. It also sets up the 10 pixel margin to the right of each one for a nice gutter. That is, except for <code>last</code>. <code>last</code> is always the last column and forces any div with a <code>span-x</code> class to go below it. It also has no right margin:</p>
<pre class="brush: css; first-line: 44;">div.last { margin-right: 0; }</pre>
<p>Next the <code>span-x</code> widths are set:</p>
<pre class="brush: css; first-line: 46;">/* Use these classes to set the width of a column. */
.span-1  { width: 30px; }
.span-2  { width: 70px; }
.span-3  { width: 110px; }
.span-4  { width: 150px; }
.span-5  { width: 190px; }
.span-6  { width: 230px; }
.span-7  { width: 270px; }
.span-8  { width: 310px; }
.span-9  { width: 350px; }
.span-10 { width: 390px; }
.span-11 { width: 430px; }
.span-12 { width: 470px; }
.span-13 { width: 510px; }
.span-14 { width: 550px; }
.span-15 { width: 590px; }
.span-16 { width: 630px; }
.span-17 { width: 670px; }
.span-18 { width: 710px; }
.span-19 { width: 750px; }
.span-20 { width: 790px; }
.span-21 { width: 830px; }
.span-22 { width: 870px; }
.span-23 { width: 910px; }
.span-24, div.span-24 { width: 950px; margin: 0; }</pre>
<p>Notice above that <code>span-24</code> takes up the full width with no right margin. Want a wider gutter than the pre-established 10 pixels? No problem.</p>
<h3>.append-x</h3>
<pre class="brush: css; first-line: 72;">/* Add these to a column to append empty cols. */
.append-1  { padding-right: 40px; }
.append-2  { padding-right: 80px; }
.append-3  { padding-right: 120px; }
.append-4  { padding-right: 160px; }
.append-5  { padding-right: 200px; }
.append-6  { padding-right: 240px; }
.append-7  { padding-right: 280px; }
.append-8  { padding-right: 320px; }
.append-9  { padding-right: 360px; }
.append-10 { padding-right: 400px; }
.append-11 { padding-right: 440px; }
.append-12 { padding-right: 480px; }
.append-13 { padding-right: 520px; }
.append-14 { padding-right: 560px; }
.append-15 { padding-right: 600px; }
.append-16 { padding-right: 640px; }
.append-17 { padding-right: 680px; }
.append-18 { padding-right: 720px; }
.append-19 { padding-right: 760px; }
.append-20 { padding-right: 800px; }
.append-21 { padding-right: 840px; }
.append-22 { padding-right: 880px; }
.append-23 { padding-right: 920px; } </pre>
<p>Remember, each of the <code>span-x</code> columns are 30 pixels wide with a 10-pixel right margin. Likewise the above <code>append-x</code> classes will add an additional column to the right. Just do the math. <code>span-1</code> adds 40 pixels. <code>span-2</code>, 80 pixels and so on. We can add columns to the left with the <code>prepend</code> classes in the same way.</p>
<h3>.prepend-x</h3>
<pre class="brush: css; first-line: 97;">/* Add these to a column to prepend empty cols. */
.prepend-1  { padding-left: 40px; }
.prepend-2  { padding-left: 80px; }
.prepend-3  { padding-left: 120px; }
.prepend-4  { padding-left: 160px; }
.prepend-5  { padding-left: 200px; }
.prepend-6  { padding-left: 240px; }
.prepend-7  { padding-left: 280px; }
.prepend-8  { padding-left: 320px; }
.prepend-9  { padding-left: 360px; }
.prepend-10 { padding-left: 400px; }
.prepend-11 { padding-left: 440px; }
.prepend-12 { padding-left: 480px; }
.prepend-13 { padding-left: 520px; }
.prepend-14 { padding-left: 560px; }
.prepend-15 { padding-left: 600px; }
.prepend-16 { padding-left: 640px; }
.prepend-17 { padding-left: 680px; }
.prepend-18 { padding-left: 720px; }
.prepend-19 { padding-left: 760px; }
.prepend-20 { padding-left: 800px; }
.prepend-21 { padding-left: 840px; }
.prepend-22 { padding-left: 880px; }
.prepend-23 { padding-left: 920px; } </pre>
<p><code>prepend-1</code> adds 40 pixels to the left of a column. <code>prepend-2</code> adds 80 pixels and so on. As long as we're talking about positioning, let's skip ahead a little bit.</p>
<h3>.push-x &amp; .pull-x</h3>
<pre class="brush: css; first-line: 138;">/* Use these classes on an element to push it into the
   next column, or to pull it into the previous column.  */

.pull-1 { margin-left: -40px; }
.pull-2 { margin-left: -80px; }
.pull-3 { margin-left: -120px; }
.pull-4 { margin-left: -160px; }
.pull-5 { margin-left: -200px; }

.pull-1, .pull-2, .pull-3,
.pull-4, .pull-5, .pull-5 {
  float:left;
	position:relative;
}

.push-1 { margin: 0 -40px 1.5em 40px; }
.push-2 { margin: 0 -80px 1.5em 80px; }
.push-3 { margin: 0 -120px 1.5em 120px; }
.push-4 { margin: 0 -160px 1.5em 160px; }
.push-5 { margin: 0 -200px 1.5em 200px; }

.push-0, .push-1, .push-2,
.push-3, .push-4, .push-5 {
  float: right;
	position:relative;
}</pre>
<p><code>pull-x</code> and <code>push-x</code> function in a similar way to <code>append-x</code> and <code>prepend-x</code>, except they'll actually push columns into one another instead of creating a wider gutter. <code>push-1</code> pushes the page element over to the right by one, 40-pixel column. <code>pull-1</code> pulls the page element over to the left by one 40-pixel column.</p>
<p>We skipped over some stuff. Let's go back to it:</p>
<h3>.border</h3>
<pre class="brush: css; first-line: 123;">/* Border on right hand side of a column. */
div.border {
  padding-right: 4px;
  margin-right: 5px;
  border-right: 1px solid #eee;
}</pre>
<p><code>border</code> adds a right-border to any page element. Notice the right padding, margin and 1-pixel border all add up to 10 pixels to maintain the standard 10-pixel gutter.</p>
<h3>.colborder</h3>
<p><code>colborder</code> does the same except the right margin spans an entire column:</p>
<pre class="brush: css; first-line: 130;">/* Border with more whitespace, spans one column. */
div.colborder {
  padding-right: 24px;
  margin-right: 25px;
  border-right: 1px solid #eee;
}</pre>
<p>The right padding, margin and 1-pixel border add up to 50 pixels this time.</p>
<h3>.box</h3>
<p><code>box</code> creates a padded box inside a column.</p>
<pre class="brush: css; first-line: 170;">.box {
  padding: 1.5em;
  margin-bottom: 1.5em;
  background: #E5ECF9;
}</pre>
<h3>hr</h3>
<p><code>hr</code> gets a nice default setting to make sure it crosses your column:</p>
<pre class="brush: css; first-line: 177;">hr {
  background: #ddd;
  color: #ddd;
  clear: both;
  float: none;
  width: 100%;
  height: .1em;
  margin: 0 0 1.45em;
  border: none;
}
hr.space {
  background: #fff;
  color: #fff;
}</pre>
<p>I'm actually going to skip to the end because the <code>clearfix</code> classes seem a bit outmoded after reading the <a href="http://www.positioniseverything.net/easyclearing.html" onclick="pageTracker._trackPageview('/outgoing/www.positioniseverything.net/easyclearing.html?referer=');">article they are based on</a>. <a href="http://www.sitepoint.com/blogs/2005/02/26/simple-clearing-of-floats/" onclick="pageTracker._trackPageview('/outgoing/www.sitepoint.com/blogs/2005/02/26/simple-clearing-of-floats/?referer=');">Read this article instead</a>.</p>
<h3>.clear</h3>
<p><code>clear</code> simply forces a column to go beneath the column before it.</p>
<pre class="brush: css; first-line: 212;">.clear { clear:both; }</pre>
<p>That's it. Hopefully reading this will give you a good sense of what positioning classes are available in <a href="http://blueprintcss.org/" onclick="pageTracker._trackPageview('/outgoing/blueprintcss.org/?referer=');">Blueprint</a> and how to use them. Please leave a comment if anything needs clarification.<strong>Similar Posts:</strong>
<ul class="similar-posts">
<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/12/16/when-using-a-grid-layout-css-framework-do-the-math/" rel="bookmark" title="December 16, 2008">When Using a Grid Layout CSS Framework, Do the Math</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/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>
</ul>
<p><!-- Similar Posts took 6.368 ms --></p>
]]></content:encoded>
			<wfw:commentRss>http://anthonygthomas.com/2009/11/09/blueprint-taking-a-close-look-at-grid-css/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>When Using a Grid Layout CSS Framework, Do the Math</title>
		<link>http://anthonygthomas.com/2008/12/16/when-using-a-grid-layout-css-framework-do-the-math/</link>
		<comments>http://anthonygthomas.com/2008/12/16/when-using-a-grid-layout-css-framework-do-the-math/#comments</comments>
		<pubDate>Tue, 16 Dec 2008 18:09:19 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blueprint Framework]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://anthonygthomas.com/?p=74</guid>
		<description><![CDATA[I recently spent an entire weekend trying to troubleshoot why Internet Explorer 6 kept wrapping the rightmost DIV in my design to the bottom of the page when no other browser did. In my case, I was using the Blueprint CSS framework that creates twenty-four 30 pixel columns, each with a 10 pixel right margin [...]]]></description>
			<content:encoded><![CDATA[<p>I recently spent an entire weekend trying to troubleshoot why Internet Explorer 6 kept wrapping the rightmost DIV in my design to the bottom of the page when no other browser did. In my case, I was using the <a href="http://http://www.blueprintcss.org/" onclick="pageTracker._trackPageview('/outgoing/http_//www.blueprintcss.org/?referer=');">Blueprint CSS framework</a> that creates twenty-four 30 pixel columns, each with a 10 pixel right margin (except the 24th column, which has no right margin), to make a nice 950-pixel wide grid. The whole purpose of using a CSS framework is that it&#8217;s supposed to protect me from exactly the sort of problem I was having where different browsers display the page differently. I spent hours trying to figure out why Blueprint was failing in this case. Finally, on Sunday evening I figured it out. The enemy was not Blueprint. The enemy was me.</p>
<p><img class="alignnone size-full wp-image-76" title="Blueprint Grid" src="http://anthonygthomas.com/wp-content/uploads/2008/12/grid.png" alt="Blueprint Grid" width="404" height="201" /></p>
<p>Above is an approximation of the Blueprint grid. (The thirty-pixel columns are in gray and the ten-pixel right margins in white.) <a href="http://anthonygthomas.com/2008/11/22/blueprint-css-tutorial-file/">Read the tutorial file for details</a>, but basically, by defining &#8220;span-16&#8243; as the class of your DIV, you wind up with a 630 pixel DIV with a ten-pixel right margin for a total of 640 pixels. Nice and neat, and it seemed perfect in my case since the photo I wanted to place on the right was 300 pixels wide. I even had ten pixels to spare. You&#8217;re probably a lot smarter than me, so you&#8217;ve already figured it out. Unfortunately, I spent the better part of a weekend working in this problem. Finally I was reduced to counting columns and I realized <em>there&#8217;s no way to get a 300-pixel DIV using 40 pixel columns!</em> Firefox, Safari &amp; higher versions of Internet Explorer were more forgiving and formatted the page as I wanted. Only Internet Explorer 6 interpreted the code strictly in this case. The other browsers corrected for my math error. I blamed Blueprint for failing and Internet Explorer 6 for misinterpreting my CSS when I was at fault all along.</p>
<p>Forty X 7 (span-7) = 280. Just short of my needed 300 pixels. Forty X 8 = 320. Twenty pixels too wide which left an unwanted margin on the right of my photo. When I finally figured all of this out, I was able to use a combination of Blueprint classes and my own classes to consistently format the page the way I wanted.</p>
<p>Lesson learned: Leverage your CSS grid framework as much as possible, but also add up your columns to your page elements don&#8217;t get pushed around the page. It may still be necessary to define your own DIVS outside of the framework.<strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://anthonygthomas.com/2008/12/16/when-using-a-grid-layout-css-framework-do-the-math/" rel="bookmark" title="December 16, 2008">When Using a Grid Layout CSS Framework, Do the Math</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/2010/02/08/introducing-the-baseline-development-wordpress-theme/" rel="bookmark" title="February 8, 2010">Introducing the Baseline Development Wordpress Theme</a></li>
<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>
</ul>
<p><!-- Similar Posts took 7.815 ms --></p>
]]></content:encoded>
			<wfw:commentRss>http://anthonygthomas.com/2008/12/16/when-using-a-grid-layout-css-framework-do-the-math/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting Blueprint CSS &amp; JavaScript Libraries Into Your CakePHP Layout</title>
		<link>http://anthonygthomas.com/2008/11/26/getting-blueprint-css-javascript-libraries-into-your-cakephp-layout/</link>
		<comments>http://anthonygthomas.com/2008/11/26/getting-blueprint-css-javascript-libraries-into-your-cakephp-layout/#comments</comments>
		<pubDate>Wed, 26 Nov 2008 19:55:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blueprint Framework]]></category>
		<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[libraries]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://anthonygthomas.com/?p=59</guid>
		<description><![CDATA[Updated 12/3/2008
The other day I wrote about getting the Blueprint CSS framework into your Wordpress theme. If you&#8217;re developing in CakePHP, it&#8217;s even easier to link multiple style sheets and JavaScript libraries to your layout file.
&#60;?php
$css = array('blueprint/screen', 'blueprint/ie', 'style');
$jslibraries = array('prototype', 'scriptaculous', 'jquery');
echo $html-&#62;css('blueprint/print', 'stylesheet', 'media="print"');
echo $html-&#62;css($css, 'stylesheet', 'media=”screen, projection”');
echo $javascript-&#62;link($jslibraries);
?&#62;
Let&#8217;s take these one [...]]]></description>
			<content:encoded><![CDATA[<p>Updated 12/3/2008</p>
<p>The other day I wrote about <a href="http://anthonygthomas.com/2008/11/23/incorporating-blueprint-css-into-your-new-wordpress-theme/">getting the Blueprint CSS framework into your Wordpress theme</a>. If you&#8217;re developing in <a href="http://cakephp.org" onclick="pageTracker._trackPageview('/outgoing/cakephp.org?referer=');">CakePHP</a>, it&#8217;s even easier to link multiple style sheets and JavaScript libraries to your <a href="http://book.cakephp.org/view/96/Layouts" onclick="pageTracker._trackPageview('/outgoing/book.cakephp.org/view/96/Layouts?referer=');">layout file</a>.</p>
<p><code>&lt;?php</code></p>
<p><code>$css = array('blueprint/screen', 'blueprint/ie', 'style');<br />
$jslibraries = array('prototype', 'scriptaculous', 'jquery');</code><code><span style="text-decoration: line-through;"><br />
</span>echo $html-&gt;css('blueprint/print', 'stylesheet', 'media="print"');</code><code><br />
echo $html-&gt;css($css, 'stylesheet', 'media=”screen, projection”');<br />
echo $javascript-&gt;link($jslibraries);</code><br />
<code>?&gt;</code></p>
<p>Let&#8217;s take these one at a time.</p>
<p><code>$css = array('blueprint/screen', 'blueprint/ie', 'style');</code></p>
<p><a href="http://book.cakephp.org/view/205/HTML" onclick="pageTracker._trackPageview('/outgoing/book.cakephp.org/view/205/HTML?referer=');">CakePHP&#8217;s html helper</a> will load any css file you specify. First, make sure the css files are in <code>app/webroot/css</code>. Then put any css files you want to link to your layout in an array like I have above. You might have noticed that I didn&#8217;t include print in my array. That&#8217;s because we want to add an media=&#8221;print&#8221; as a separate attribute that the other style sheets won&#8217;t have.</p>
<p>Once they&#8217;re loaded into your array, simply put <code>echo $html-&gt;css($css);</code> in the head of your layout. The output will be:<br />
<code>&lt;link rel="stylesheet" type="text/css" href="/app/webroot/css/blueprint/screen.css" /&gt;<br />
&lt;link rel="stylesheet" type="text/css" href="/app/webroot/css/blueprint/ie.css" /&gt;<br />
&lt;link rel="stylesheet" type="text/css" href="/app/webroot/css/style.css" /&gt;</code></p>
<p>We still haven&#8217;t linked our print style sheet. Make sure you link the print style sheet above the others so they override it. We can add <code>media="print"</code> by putting this into our layout head:</p>
<p><code>echo $html-&gt;css('blueprint/print', 'stylesheet', 'media="print"');</code></p>
<p>So now:</p>
<p><code>$css = array('blueprint/screen', 'blueprint/ie', 'style');<br />
</code><code>echo $html-&gt;css('blueprint/print', 'stylesheet', 'media="print"');</code><code><br />
</code><code>echo $html-&gt;css($css, 'stylesheet', 'media=”screen, projection”');</code></p>
<p>Results in:</p>
<p><code>&lt;link rel="stylesheet" type="text/css" href="/cvp-msi/https/app/webroot/css/blueprint/print.css" media="print" /&gt;<br />
&lt;link rel="stylesheet" type="text/css" href="/cvp-msi/https/app/webroot/css/blueprint/screen.css" media="screen, projection" /&gt;<br />
&lt;link rel="stylesheet" type="text/css" href="/cvp-msi/https/app/webroot/css/blueprint/ie.css" media="screen, projection" /&gt;<br />
&lt;link rel="stylesheet" type="text/css" href="/cvp-msi/https/app/webroot/css/style.css" media="screen, projection" /&gt;</code></p>
<p>Two things to note. In <code>$html-&gt;css($path, $attributes)</code>, the first argument is the path from <code>app/webroot/css</code>. The second argument is html attributes.</p>
<p>Linking JavaScript libraries is very similar.</p>
<p><code>$jslibraries = array('prototype', 'scriptaculous', 'jquery');</code></p>
<p>This will link to <code>prototype.js</code>, <code>scriptaculous.js</code> and <code>jquery.js</code> respectively as long as there in <code>app/webroot/js</code>.</p>
<p>Put <code>echo $javascript-&gt;link($jslibraries);</code> into the head of your layout and you&#8217;re done. You have all three JavaScript libraries at your disposal.</p>
<p>Other good resources:</p>
<ul>
<li><a href="http://book.cakephp.org/view/181/Core-Helpers" onclick="pageTracker._trackPageview('/outgoing/book.cakephp.org/view/181/Core-Helpers?referer=');">CakePHP Core Helpers</a></li>
<li><a href="http://book.cakephp.org/view/27/Developing-with-CakePHP" onclick="pageTracker._trackPageview('/outgoing/book.cakephp.org/view/27/Developing-with-CakePHP?referer=');">Developing With CakePHP</a></li>
<li><a href="http://api.cakephp.org/class_javascript_helper.html#cab1eb59cacd608ec02e79cfd8710094" onclick="pageTracker._trackPageview('/outgoing/api.cakephp.org/class_javascript_helper.html_cab1eb59cacd608ec02e79cfd8710094?referer=');">CakePHP API JavaScript link Helper</a></li>
<li><a href="http://api.cakephp.org/class_html_helper.html#b8e7fe2bca7be4c25f9a660038131f00" onclick="pageTracker._trackPageview('/outgoing/api.cakephp.org/class_html_helper.html_b8e7fe2bca7be4c25f9a660038131f00?referer=');">CakePHP API CSS link Helper</a></li>
</ul>
<p><strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://anthonygthomas.com/2008/11/26/getting-blueprint-css-javascript-libraries-into-your-cakephp-layout/" rel="bookmark" title="November 26, 2008">Getting Blueprint CSS &#038; JavaScript Libraries Into Your CakePHP Layout</a></li>
<li><a href="http://anthonygthomas.com/2008/11/23/incorporating-blueprint-css-into-your-new-wordpress-theme/" rel="bookmark" title="November 23, 2008">Incorporating Blueprint CSS Into Your New Wordpress Theme</a></li>
<li><a href="http://anthonygthomas.com/2010/02/08/introducing-the-baseline-development-wordpress-theme/" rel="bookmark" title="February 8, 2010">Introducing the Baseline Development Wordpress Theme</a></li>
<li><a href="http://anthonygthomas.com/2008/11/22/blueprint-css-readme-file/" rel="bookmark" title="November 22, 2008">Blueprint CSS Readme File</a></li>
<li><a href="http://anthonygthomas.com/2010/02/16/baseline-theme-version-1-0-1/" rel="bookmark" title="February 16, 2010">Baseline Theme Version 1.0.1</a></li>
</ul>
<p><!-- Similar Posts took 8.544 ms --></p>
]]></content:encoded>
			<wfw:commentRss>http://anthonygthomas.com/2008/11/26/getting-blueprint-css-javascript-libraries-into-your-cakephp-layout/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Incorporating Blueprint CSS Into Your New Wordpress Theme</title>
		<link>http://anthonygthomas.com/2008/11/23/incorporating-blueprint-css-into-your-new-wordpress-theme/</link>
		<comments>http://anthonygthomas.com/2008/11/23/incorporating-blueprint-css-into-your-new-wordpress-theme/#comments</comments>
		<pubDate>Sun, 23 Nov 2008 15:07:09 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blueprint Framework]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[blueprint]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://anthonygthomas.com/?p=50</guid>
		<description><![CDATA[If you&#8217;re familiar with the Blueprint CSS framework, you already know it can make your life a lot easier. So how do you get it into your Wordpress theme? Luckily, Wordpress is designed to make your life easier too.
I&#8217;m assuming your know the basics of Wordpress Theme Development. That is, at the very least you [...]]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;re familiar with the <a href="http://www.blueprintcss.org/" onclick="pageTracker._trackPageview('/outgoing/www.blueprintcss.org/?referer=');">Blueprint CSS framework</a>, you already know it can make your life a lot easier. So how do you get it into your <a href="http://wordpress.org" onclick="pageTracker._trackPageview('/outgoing/wordpress.org?referer=');">Wordpress</a> theme? Luckily, Wordpress is designed to make your life easier too.</p>
<p>I&#8217;m assuming your know the basics of <a href="http://codex.wordpress.org/Theme_Development" onclick="pageTracker._trackPageview('/outgoing/codex.wordpress.org/Theme_Development?referer=');">Wordpress Theme Development</a>. That is, at the very least you need:</p>
<ul>
<li>header.php</li>
<li>footer.php</li>
<li>index.php</li>
<li>style.css</li>
</ul>
<p>Put those files in a folder named after your theme. And put that folder in <code>/wordpressroot/wp-content/themes/</code>.</p>
<p>Once you&#8217;ve gotten that far, download the Blueprint CSS Framework and drop the &#8220;blueprint&#8221; folder from that download into your theme&#8217;s directory.</p>
<p>Finally, to include the new CSS files into your theme, just add this code to your header:</p>
<p><code>&lt;link rel="stylesheet" href="&lt;?php bloginfo('stylesheet_directory'); ?&gt;/blueprint/screen.css" type="text/css" media="screen, projection"&gt;<br />
&lt;link rel="stylesheet" href="&lt;?php bloginfo('stylesheet_directory'); ?&gt;/blueprint/print.css" type="text/css" media="print"&gt;<br />
&lt;!--[if IE]&gt;<br />
&lt;link rel="stylesheet" href="&lt;?php bloginfo('stylesheet_directory'); ?&gt;/blueprint/ie.css" type="text/css" media="screen, projection"&gt;<br />
&lt;![endif]--&gt;<br />
&lt;link rel="stylesheet" href="&lt;?php bloginfo('stylesheet_url'); ?&gt;" type="text/css" media="screen" /&gt;</code></p>
<p>Pay attention to the order. You want to make sure that <code>href="&lt;?php bloginfo('stylesheet_url'); ?&gt;"</code> appears last in the list of style sheets. That&#8217;s your <code>style.css</code> where you can tailor the CSS for your specific design.</p>
<p>That&#8217;s it.<strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://anthonygthomas.com/2008/11/23/incorporating-blueprint-css-into-your-new-wordpress-theme/" rel="bookmark" title="November 23, 2008">Incorporating Blueprint CSS Into Your New Wordpress Theme</a></li>
<li><a href="http://anthonygthomas.com/2008/11/26/getting-blueprint-css-javascript-libraries-into-your-cakephp-layout/" rel="bookmark" title="November 26, 2008">Getting Blueprint CSS &#038; JavaScript Libraries Into Your CakePHP Layout</a></li>
<li><a href="http://anthonygthomas.com/2010/02/08/introducing-the-baseline-development-wordpress-theme/" rel="bookmark" title="February 8, 2010">Introducing the Baseline Development Wordpress Theme</a></li>
<li><a href="http://anthonygthomas.com/2010/02/16/baseline-theme-version-1-0-1/" rel="bookmark" title="February 16, 2010">Baseline Theme Version 1.0.1</a></li>
<li><a href="http://anthonygthomas.com/2008/11/22/blueprint-css-readme-file/" rel="bookmark" title="November 22, 2008">Blueprint CSS Readme File</a></li>
</ul>
<p><!-- Similar Posts took 6.655 ms --></p>
]]></content:encoded>
			<wfw:commentRss>http://anthonygthomas.com/2008/11/23/incorporating-blueprint-css-into-your-new-wordpress-theme/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
