<?xml version="1.0" encoding="UTF-7"?>
<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; css</title>
	<atom:link href="http://anthonygthomas.com/category/web-development/css/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>Tue, 23 Apr 2013 00:16:35 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Media Queries for High Pixel-density Devices</title>
		<link>http://anthonygthomas.com/2012/04/22/media-queries-for-high-pixel-density-devices/</link>
		<comments>http://anthonygthomas.com/2012/04/22/media-queries-for-high-pixel-density-devices/#comments</comments>
		<pubDate>Sun, 22 Apr 2012 23:46:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[css]]></category>
		<category><![CDATA[media queries]]></category>
		<category><![CDATA[Mobile Technology]]></category>
		<category><![CDATA[responsive design]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://anthonygthomas.com/?p=689</guid>
		<description><![CDATA[Images continue to be a major challenge for mobile web development. I&#8217;ve written about a technique to evaluate screen dimensions and pixel-density using JavaScript. I recently came across some vendor-prefixed media queries to evaluate screen density right in your CSS. (Hat tip to Erik Runyon.) The technique involves creating two sets of background images. One... <a class="view-article" href="http://anthonygthomas.com/2012/04/22/media-queries-for-high-pixel-density-devices/">View Article</a>]]></description>
				<content:encoded><![CDATA[<p>Images continue to be a major challenge for mobile web development. <a href="http://anthonygthomas.com/2012/02/16/responsive-images-keep-it-simple-keep-it-small/">I&#8217;ve written about a technique to evaluate screen dimensions and pixel-density using JavaScript</a>. I recently came across some vendor-prefixed media queries to evaluate screen density right in your CSS. (<a href="http://weedygarden.net/2010/10/retina-display-and-css-background-images/">Hat tip to Erik Runyon</a>.)</p>
<p>The technique involves creating two sets of background images. One standard-sized version and a double-sized version (@2x) for high pixel-density screens like the Retina display or Droid phone display.<span id="more-689"></span> For the purposes of this example, let&#8217;s say I have a default icon that&#8217;s 50px X 50px.</p>
<pre class="brush: css; title: ; notranslate">#link-id a { background-image:url(images/icon.png); }</pre>
<p>The Motorola Droid has a pixel-density of 1.5 so I set that as my baseline.</p>
<pre class="brush: css; title: ; notranslate">@media only screen and (-webkit-min-device-pixel-ratio: 1.5),
	only screen and (-o-min-device-pixel-ratio: 3/2),
	only screen and (min--moz-device-pixel-ratio: 1.5),
	only screen and (min-device-pixel-ratio: 1.5) {
		#link-id a {
			background-image:url(images/icon@2x.png);
		}
}</pre>
<p>Notice the subtle difference in how the ratio is calculated for Opera. Also, Mozilla&#8217;s vendor prefix has a slightly different syntax. I&#8217;m following Erik Runyon&#8217;s advise here and using Apple&#8217;s style guidelines by naming the hi-res icon with the same name as my normal-resolution icon, but with <code>@2x</code> appended. In this case, the &#8220;@2x&#8221; version is 100px X 100px. The next thing you&#8217;ll have to do is scale the hi-res icon down.</p>
<pre class="brush: css; title: ; notranslate">background-size: 50px 50px;</pre>
<p>That&#8217;s it. Now high pixel-density devices will render a suitably high-resolution image and normal-resolution devices will get a smaller image.<strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://anthonygthomas.com/2012/04/22/media-queries-for-high-pixel-density-devices/" rel="bookmark" title="April 22, 2012">Media Queries for High Pixel-density Devices</a></li>
<li><a href="http://anthonygthomas.com/2012/02/16/responsive-images-keep-it-simple-keep-it-small/" rel="bookmark" title="February 16, 2012">Responsive Images: Keep It Simple; Keep It Small</a></li>
<li><a href="http://anthonygthomas.com/2012/02/28/one-site/" rel="bookmark" title="February 28, 2012">One Site</a></li>
<li><a href="http://anthonygthomas.com/2011/03/05/when-to-use-the-css-content-property/" rel="bookmark" title="March 5, 2011">When to Use CSS content Property</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>
</ul>
<p><!-- Similar Posts took 5.722 ms --></p>
]]></content:encoded>
			<wfw:commentRss>http://anthonygthomas.com/2012/04/22/media-queries-for-high-pixel-density-devices/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>One Site</title>
		<link>http://anthonygthomas.com/2012/02/28/one-site/</link>
		<comments>http://anthonygthomas.com/2012/02/28/one-site/#comments</comments>
		<pubDate>Wed, 29 Feb 2012 03:23:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[css]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://anthonygthomas.com/?p=665</guid>
		<description><![CDATA[I just did a little adjusting to this WordPress theme so that the site should render well on all devices now. It looked pretty good before on smartphones before, but I was employing some mobile detection to load some different styles and only render the sidebar for desktop browsers. The main problem with this was... <a class="view-article" href="http://anthonygthomas.com/2012/02/28/one-site/">View Article</a>]]></description>
				<content:encoded><![CDATA[<p>I just did a little adjusting to this WordPress theme so that the site should render well on all devices now. It looked pretty good before on smartphones before, but I was employing some mobile detection to load some different styles and only render the sidebar for desktop browsers.</p>
<p>The main problem with this was that it messed with my cache. If a mobile browser visited the site, the mobile version was cached and served until the cache expired.</p>
<p>With a little more experience under my belt, it was incredibly simple to handle layout changes with media queries instead. In fact, it&#8217;s much simpler than the method I used before.<span id="more-665"></span></p>
<p>Admittedly, my layout is fairly simple. There are only a few images to deal with. Almost everything is done w/ CSS. So, all I really wanted to do was get rid of my floats on small screens. First I took the &#8220;mobile first&#8221; approach and got rid of my floats by default. Then I decided it would render well enough on a tablet at 768 pixels wide, so I set that as my cut-off.</p>
<pre class="brush: css; title: ; notranslate">@media only screen and (min-width : 768px) {
   section#content {
       float: left;
       width: 73%;
   }   
   aside {
       clear: none;
       float: left;
       width: 20%;
   }   
}</pre>
<p>The media query above displays the category navigation (which I have in an <code>aside</code> element) to the right. Anything smaller and the categories display underneath the list of blog posts.</p>
<p>This is a very simple example, but it gives you an idea of how easy it can be to make your design responsive.</p>
<p>The other bit I added was this:</p>
<pre class="brush: xml; title: ; notranslate">&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot; /&gt;</pre>
<p>This essentially tells high pixel-density devices to render the content like their normal pixel-density counterparts. This meta declaration has been of some interest to me lately. It dates back to 2007 and the first iPhone. You see, Steve Jobs made a decision for you. Steve Jobs decided that the iPhone should deliver a rich web experience like any other computer. So when a page loads in Mobile Safari, it&#8217;s scaled down and rendered at a functional width of 980 pixels. That means your page looks tiny <em>unless</em> you instruct it to scale up with the meta content above.</p>
<p>The end result is that adding one meta tag and ten lines of CSS turned my design into a responsive one.<br />
<strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://anthonygthomas.com/2012/02/28/one-site/" rel="bookmark" title="February 28, 2012">One Site</a></li>
<li><a href="http://anthonygthomas.com/2012/02/16/responsive-images-keep-it-simple-keep-it-small/" rel="bookmark" title="February 16, 2012">Responsive Images: Keep It Simple; Keep It Small</a></li>
<li><a href="http://anthonygthomas.com/2012/04/22/media-queries-for-high-pixel-density-devices/" rel="bookmark" title="April 22, 2012">Media Queries for High Pixel-density Devices</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/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>
</ul>
<p><!-- Similar Posts took 5.348 ms --></p>
]]></content:encoded>
			<wfw:commentRss>http://anthonygthomas.com/2012/02/28/one-site/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Substratum: Tiny, Semantic CSS Framework for Creating Columns</title>
		<link>http://anthonygthomas.com/2011/10/25/substratum-tiny-semantic-css-framework-for-creating-columns/</link>
		<comments>http://anthonygthomas.com/2011/10/25/substratum-tiny-semantic-css-framework-for-creating-columns/#comments</comments>
		<pubDate>Wed, 26 Oct 2011 02:28:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[css]]></category>
		<category><![CDATA[Substratum]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://anthonygthomas.com/?p=605</guid>
		<description><![CDATA[I wrote about this a while back, but I thought I&#8217;d make it official since I&#8217;ve used it on the last few projects I&#8217;ve worked on. I&#8217;ve named my mini CSS framework for creating columns and put it in a Mercurial repository. It&#8217;s very small (412 kb minified), semantic and aims to stay out of... <a class="view-article" href="http://anthonygthomas.com/2011/10/25/substratum-tiny-semantic-css-framework-for-creating-columns/">View Article</a>]]></description>
				<content:encoded><![CDATA[<p><a href="http://anthonygthomas.com/2011/04/18/css-scaffolding/">I wrote about this a while back</a>, but I thought I&#8217;d make it official since I&#8217;ve used it on the last few projects I&#8217;ve worked on. I&#8217;ve <a href="https://bitbucket.org/truetone/substratum">named my mini CSS framework for creating columns and put it in a Mercurial repository</a>. It&#8217;s very small (412 kb minified), semantic and aims to stay out of the way. It also needs some thorough browser testing. Have at it folks.<strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://anthonygthomas.com/2011/10/25/substratum-tiny-semantic-css-framework-for-creating-columns/" rel="bookmark" title="October 25, 2011">Substratum: Tiny, Semantic CSS Framework for Creating Columns</a></li>
<li><a href="http://anthonygthomas.com/2011/04/18/css-scaffolding/" rel="bookmark" title="April 18, 2011">CSS Scaffolding</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/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>
</ul>
<p><!-- Similar Posts took 5.361 ms --></p>
]]></content:encoded>
			<wfw:commentRss>http://anthonygthomas.com/2011/10/25/substratum-tiny-semantic-css-framework-for-creating-columns/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Theme</title>
		<link>http://anthonygthomas.com/2011/05/17/new-theme/</link>
		<comments>http://anthonygthomas.com/2011/05/17/new-theme/#comments</comments>
		<pubDate>Wed, 18 May 2011 02:51:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[css]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://anthonygthomas.com/?p=580</guid>
		<description><![CDATA[I did a soft launch of my new WordPress theme last week. There are a few things I&#8217;d like to point out. First is the decision to go to HTML5. HTML5 (combined with the HTML5 Shiv) actually made writing the styles quite a bit simpler. It&#8217;s a bit of adjustment after writing XHTML for so... <a class="view-article" href="http://anthonygthomas.com/2011/05/17/new-theme/">View Article</a>]]></description>
				<content:encoded><![CDATA[<p>I did a soft launch of my new WordPress theme last week. There are a few things I&#8217;d like to point out. First is the decision to go to HTML5. HTML5 (<a href="http://code.google.com/p/html5shiv/">combined with the HTML5 Shiv</a>) actually made writing the styles quite a bit simpler. It&#8217;s a bit of adjustment after writing XHTML for so long, but when it came time to write the styles the new tags <em>meant fewer ids and classes</em>. I found that very handy.</p>
<p>Also I&#8217;m using less JavaScript than I was before. Instead the hover effects are accomplished using CSS3 transitions.<span id="more-580"></span></p>
<p>For instance, here is the CSS for the hover effect on the sidebar nav:</p>
<pre class="brush: css; title: ; notranslate">-webkit-transition-property: background, margin-left;
-webkit-transition-duration: 0.5s, 0.5s;
-webkit-transition-timing-function: linear, ease-in;
-moz-transition-property: background margin-left;
-moz-transition-duration: 0.5s, 0.5s;
-moz-transition-timing-function: linear, ease-in;
-o-transition-property: background margin-left;
-o-transition-duration: 0.5s, 0.5s;
-o-transition-timing-function: linear, ease-in;
transition-property: background margin-left;
transition-duration: 0.5s, 0.5s;
transition-timing-function: linear, ease-in;</pre>
<p>Then I simply redefine the background, right and left margins for the hover state:</p>
<pre class="brush: css; title: ; notranslate">background: #0D7B15;
margin-left: -1em;</pre>
<p>The browser then just takes 0.5 seconds to transition from the default state to the hover state.</p>
<p>I also added some other transitions as well. For instance, you can delay when the transition starts. See if you can spot this one:</p>
<pre class="brush: css; title: ; notranslate">-webkit-transition-property: top, left;
-webkit-transition-duration: 5s, 5s;
-webkit-transition-timing-function: linear, linear;
-webkit-transition-delay: 32s, 32s;
-moz-transition-property: top, left;
-moz-transition-delay: 32s, 32s;
-moz-transition-duration: 5s, 5s;
-moz-transition-timing-function: linear, linear;transition-property: top, left;
transition-duration: 5s, 5s;
transition-delay: 32s, 32s;
transition-timing-function: linear, ease-in-out;</pre>
<p>This effect is attached to an &#8216;animate&#8217; class that is triggered by JQuery when the page loads. There&#8217;s a 32 second delay and then the transition between states begins. It&#8217;s pretty fun stuff.</p>
<p>Caveat: <a href="http://caniuse.com/#search=transitions">Transitions are only supported in Firefox 4+, but they&#8217;ve been supported in WebKit browsers for a long time. Internet Explorer will not support them until version 10</a>.<strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://anthonygthomas.com/2011/05/17/new-theme/" rel="bookmark" title="May 17, 2011">New Theme</a></li>
<li><a href="http://anthonygthomas.com/2010/03/20/no-flash-required/" rel="bookmark" title="March 20, 2010">No Flash Required</a></li>
<li><a href="http://anthonygthomas.com/2012/03/09/using-impress-js/" rel="bookmark" title="March 9, 2012">Using Impress.js</a></li>
<li><a href="http://anthonygthomas.com/2012/03/03/fun-with-jquery-tubular/" rel="bookmark" title="March 3, 2012">Fun With JQuery Tubular</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>
</ul>
<p><!-- Similar Posts took 5.135 ms --></p>
]]></content:encoded>
			<wfw:commentRss>http://anthonygthomas.com/2011/05/17/new-theme/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSS Scaffolding</title>
		<link>http://anthonygthomas.com/2011/04/18/css-scaffolding/</link>
		<comments>http://anthonygthomas.com/2011/04/18/css-scaffolding/#comments</comments>
		<pubDate>Tue, 19 Apr 2011 00:12:55 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[css]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://anthonygthomas.com/?p=533</guid>
		<description><![CDATA[Last week I gave a talk at MinneWebCon along with Ken Loomis and Ethan Poole. My section of the talk dealt with the CSS we use at work. One of the main problems I&#8217;ve come to have with using CSS frameworks is that they put presentation back into the markup. Every CSS framework I&#8217;ve seen... <a class="view-article" href="http://anthonygthomas.com/2011/04/18/css-scaffolding/">View Article</a>]]></description>
				<content:encoded><![CDATA[<p>Last week <a href="http://www.slideshare.net/kmloomis/minne-webcon-2011v5">I gave a talk</a> at <a href="http://minnewebcon.umn.edu">MinneWebCon</a> along with Ken Loomis and <a href="http://ethanpoole.com/">Ethan Poole</a>. My section of the talk dealt with <a href="http://sua.umn.edu/_web/css-styleguide.php">the CSS we use at work</a>. One of the main problems I&#8217;ve come to have with using CSS frameworks is that they put presentation back into the markup. Every CSS framework I&#8217;ve seen has classes like these:</p>
<ul>
<li>ez-50 (ez-css)</li>
<li>container_12 (960GS)</li>
<li>grid_1 (960GS)</li>
<li>span-4 (Blueprint)</li>
</ul>
<p>After years of adopting standards that keep presentation separate from the markup, frameworks like these (<a href="http://www.testking.com/techking/roundups/27-great-css-frameworks-you-must-check-out/">and others</a>) put it right back into the code. Not only is that a bad practice, but it removes one of the chief benefits of CSS: the ability to change your presentation without touching the markup.</p>
<p>The most common problem these frameworks solve is laying out columns. So I came up with a handful of CSS classes that solve the same problem, but do so in a way that will allow you to alter the appearance of the pages <em>without altering the markup</em>.</p>
<p>These classes are applicable in a general way (i.e., within the content), so it&#8217;s useful to keep them named as they are for that purpose. You can also copy these same styles to your ids to get the desired widths and column layout.Â I encourage you to write these styles into page ids whenever possible as that will make your page markup more semantic. You should think of these classes more like scaffolding than a framework. You can get started quickly, then modify them to meet your needs.Â <a href="http://anthonygthomas.com/wp-content/uploads/2011/04/framework.css.zip">The minified file is only 412 bytes</a>.<span id="more-533"></span></p>
<pre class="brush: css; title: ; notranslate">/* anthonygthomas.com/
   v1.0 | 20110417
   License: none (public domain)
*/

/******

 # Table of Contents #

## Define columns
### Last column
## Narrow column
### Last narrow column
## Wide column
## First column
## Column clearfix

 *******/

/* Define columns */
/* apply this to any block element */
.column {
    display: inline-block;
    float:left;
    margin-right: 2%;
    width: 48%;
}
    /* Last column */
    /* apply this to the last column */
    .column.last {
	margin-left: 2%;
	margin-right: 0;
	width: 48%;
    }

/* Narrow column */
.column.narrow {
    margin-right: 5%;
    width: 30%;
}
    /* Last narrow column */
    .column.narrow.last {
	margin-left: 0;
	margin-right: 0;
    }

/* Wide column */
.column.wide {
    margin-right: 4%;
    width: 66%;
}

/* First column */
.first {
    clear:left;
}

/* Column clearfix */
/* perishablepress.com/press/2009/12/06/new-clearfix-hack/ */
.column:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: &quot; &quot;;
	clear: both;
	height: 0;
	}
* html .column             { zoom: 1; } /* IE6 */
*:first-child+html .column { zoom: 1; } /* IE7 */</pre>
<p><a href="http://anthonygthomas.com/examples/test.html">Here is a demo page</a>.</p>
<h3>The Classes</h3>
<h4>The column Class</h4>
<pre class="brush: css; title: ; notranslate">/* apply this to any block element */
.column {
    display: inline-block;
    float:left;
    margin-right: 2%;
    width: 48%;
}</pre>
<p>This creates a 50% column for any block element. By default columns float left, so the next consecutive element with the same class will end up on the right side of the preceding element. To get rid of the 2% margin in the right column and add a 2% gutter to the left of the second column (for a total of a 4% gutter) use the <code>.last</code> class:</p>
<pre class="brush: css; title: ; notranslate">/* apply this to the last column */
    .column.last {
	margin-left: 2%;
	margin-right: 0;
	width: 48%;
    }</pre>
<h4>The narrow Class (three columns)</h4>
<p>This creates a 30% width column with a 5% right margin. To make the third column work correctly, you need to add a <code>last</code> class.</p>
<pre class="brush: css; title: ; notranslate">/* Narrow column */
.column.narrow {
    margin-right: 5%;
    width: 30%;
}
    /* Last narrow column */
    .column.narrow.last {
	margin-left: 0;
	margin-right: 0;
    }</pre>
<h4>The wide Class</h4>
<pre class="brush: css; title: ; notranslate">/* Wide column */
.column.wide {
    margin-right: 4%;
    width: 66%;
}</pre>
<h4>The first Class</h4>
<pre class="brush: css; title: ; notranslate">/* First column */
.first {
    clear:left;
}</pre>
<p>Apply this to the first column to force the element to wrap below it&#8217;s preceding element.</p>
<h4>The clearfix</h4>
<p>This is a common &#8220;clearfix&#8221; method. You can find variations on this all over the web. <a href="http://perishablepress.com/press/2009/12/06/new-clearfix-hack/">This one is from Perisable Press</a>. Rather than selectively apply the class, I wrote into a class that I knew needed clearing.</p>
<pre class="brush: css; title: ; notranslate">/* Column clearfix */
/* perishablepress.com/press/2009/12/06/new-clearfix-hack/ */
.column:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: &quot; &quot;;
	clear: both;
	height: 0;
	}
* html .column             { zoom: 1; } /* IE6 */
*:first-child+html .column { zoom: 1; } /* IE7 */</pre>
<p>This is not a completely tested framework. I make no guarantees that it will work in all old browsers.</p>
<p>The thing I encourage you to take away is that CSS frameworks&#8211;if used as-is&#8211;are not semantic. It&#8217;s not hard to come up with your own, more semantic framework. Instead of thinking of these as grid systems, you should think of them as scaffolding. This is a good place to start. Take it from here and modify it to fit your own needs.<strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://anthonygthomas.com/2011/04/18/css-scaffolding/" rel="bookmark" title="April 18, 2011">CSS Scaffolding</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/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/2011/05/17/new-theme/" rel="bookmark" title="May 17, 2011">New Theme</a></li>
</ul>
<p><!-- Similar Posts took 5.609 ms --></p>
]]></content:encoded>
			<wfw:commentRss>http://anthonygthomas.com/2011/04/18/css-scaffolding/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTML5 Document Structure</title>
		<link>http://anthonygthomas.com/2011/04/17/html5-document-structure/</link>
		<comments>http://anthonygthomas.com/2011/04/17/html5-document-structure/#comments</comments>
		<pubDate>Sun, 17 Apr 2011 17:42:09 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[css]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://anthonygthomas.com/?p=515</guid>
		<description><![CDATA[Since I&#8217;ve started working with HTML5 Â a bit, I&#8217;ve had to adjust my thinking about page structure. HTML 5 page structure differs from HTML 4 or XHTML significantly. (X)HTML document structure should look like this: This has changed in HTML5. HTML5 has &#8220;outlining elements&#8221; that essentially reset the page hierarchy. This is a little tough... <a class="view-article" href="http://anthonygthomas.com/2011/04/17/html5-document-structure/">View Article</a>]]></description>
				<content:encoded><![CDATA[<p>Since I&#8217;ve started working with HTML5 Â a bit, I&#8217;ve had to adjust my thinking about page structure. HTML 5 page structure differs from HTML 4 or XHTML <em>significantly</em>. (X)HTML document structure should look like this:<span id="more-515"></span></p>
<div id="attachment_518" class="wp-caption aligncenter" style="width: 283px"><a href="http://cssglobe.com/post/1213/how-to-use-headings-in-html"><img class="size-medium wp-image-518 " title="Proper Use of Headings in HTML 4 &amp; XHTML" src="http://anthonygthomas.com/wp-content/uploads/2011/04/headings-273x300.gif" alt="html headings diagram" width="273" height="300" /></a><p class="wp-caption-text">Proper document structure in HTML 4 and XHTML. (http://cssglobe.com/post/1213/how-to-use-headings-in-html)</p></div>
<p>This has changed in HTML5. <a href="http://dev.opera.com/articles/view/new-structural-elements-in-html5/">HTML5 has &#8220;outlining elements&#8221; that essentially reset the page hierarchy</a>. This is a little tough to get your head around if you&#8217;ve spent as many years as I have using the page structure in the figure above. A diagram of an HTML5 document might look like this:</p>
<div id="attachment_521" class="wp-caption aligncenter" style="width: 283px"><img class="size-full wp-image-521" title="HTML5 Document Structure" src="http://anthonygthomas.com/wp-content/uploads/2011/04/html5.png" alt="HTML5 Document Structure" width="273" height="300" /><p class="wp-caption-text">A demonstration of HTML5 &quot;sectioning&quot; elements.</p></div>
<p>Notice the difference? It&#8217;s fairly subtle, but most recognizable in the <code>section</code> element. In (X)HTML, the headings in the article section would be subject to the same hierarchy as the rest of the document so article headings would have to start with <code>h3</code> or maybe even <code>h4</code>. In HTML5, <code>nav</code>, <code>section</code>, <code>article</code> and <code>aside</code> are &#8220;sectioning&#8221; elements, so they can have their own hierarchy of headings. Notice that the <code>header</code> HTML5 tag is not a sectioning element, so it&#8217;s <code>h1</code> still rules the page.</p>
<p><strong>Note:</strong> No browsers support this outlining algorithm. (I know.) It&#8217;s coming, so I think it&#8217;s important to get our heads around it now.<strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://anthonygthomas.com/2011/04/17/html5-document-structure/" rel="bookmark" title="April 17, 2011">HTML5 Document Structure</a></li>
<li><a href="http://anthonygthomas.com/2012/03/09/using-impress-js/" rel="bookmark" title="March 9, 2012">Using Impress.js</a></li>
<li><a href="http://anthonygthomas.com/2010/09/05/baseline-theme-version-1-1/" rel="bookmark" title="September 5, 2010">Baseline Theme Version 1.1</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>
</ul>
<p><!-- Similar Posts took 5.616 ms --></p>
]]></content:encoded>
			<wfw:commentRss>http://anthonygthomas.com/2011/04/17/html5-document-structure/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>When to Use CSS content Property</title>
		<link>http://anthonygthomas.com/2011/03/05/when-to-use-the-css-content-property/</link>
		<comments>http://anthonygthomas.com/2011/03/05/when-to-use-the-css-content-property/#comments</comments>
		<pubDate>Sat, 05 Mar 2011 21:06:27 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[css]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://anthonygthomas.com/?p=464</guid>
		<description><![CDATA[CSS offers a tempting attribute in the content property. The syntax is as follows: The code above will append &#8220;Add this.&#8221; to the element, id or class of our CSS declaration. The problem with this is that we&#8217;re putting content into our presentation code. Also, this content is not accessible by screen readers or search... <a class="view-article" href="http://anthonygthomas.com/2011/03/05/when-to-use-the-css-content-property/">View Article</a>]]></description>
				<content:encoded><![CDATA[<p>CSS offers a tempting attribute in the <code>content</code> property. The syntax is as follows:</p>
<pre class="brush: css; title: ; notranslate">content: 'Add this.';</pre>
<p>The code above will append &#8220;Add this.&#8221; to the element, id or class of our CSS declaration. The problem with this is that we&#8217;re putting content into our presentation code. Also, this content is not accessible by screen readers or search engine crawlers. A good rule of thumb is to use this property as a means of <a href="http://www.alistapart.com/articles/understandingprogressiveenhancement/">progressive enhancement</a>. Generally speaking, I like to use it for presentation that enhances the site, but contributes nothing semantically.</p>
<p>Here&#8217;s an example:</p>
<p>Let&#8217;s say we want to use this icon to denote links that are external to our site:<br />
<img class="alignleft size-full wp-image-469" title="External Link Icon" src="http://anthonygthomas.com/wp-content/uploads/2011/03/external.png" alt="external link icon" width="10" height="10" /></p>
<p>Use the <code>content</code> property:</p>
<pre class="brush: css; title: ; notranslate">a.external:after {
    content: url(path/to/external.png);
}</pre>
<p>The image itself provides no semantic value to the document. It&#8217;s merely an enhancement and would be ignored by screen readers anyway. We can safely useÂ <code>content</code> in this case. Another good use is <a href="http://www.yuiblog.com/blog/2010/11/22/css-quick-tip-css-arrows-and-shapes-without-markup/">this tutorial for creating CSS-only arrows</a>.<strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://anthonygthomas.com/2011/03/05/when-to-use-the-css-content-property/" rel="bookmark" title="March 5, 2011">When to Use CSS content Property</a></li>
<li><a href="http://anthonygthomas.com/2012/04/22/media-queries-for-high-pixel-density-devices/" rel="bookmark" title="April 22, 2012">Media Queries for High Pixel-density Devices</a></li>
<li><a href="http://anthonygthomas.com/2009/10/14/huffpost-applies-ab-testing-to-headlines-via-bigboxcar-via-mjkeliher/" rel="bookmark" title="October 14, 2009">HuffPost Applies AB Testing to Headlines via (@bigboxcar via 	@mjkeliher)</a></li>
<li><a href="http://anthonygthomas.com/2012/03/09/using-impress-js/" rel="bookmark" title="March 9, 2012">Using Impress.js</a></li>
<li><a href="http://anthonygthomas.com/2012/02/28/one-site/" rel="bookmark" title="February 28, 2012">One Site</a></li>
</ul>
<p><!-- Similar Posts took 8.127 ms --></p>
]]></content:encoded>
			<wfw:commentRss>http://anthonygthomas.com/2011/03/05/when-to-use-the-css-content-property/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>No Flash Required</title>
		<link>http://anthonygthomas.com/2010/03/20/no-flash-required/</link>
		<comments>http://anthonygthomas.com/2010/03/20/no-flash-required/#comments</comments>
		<pubDate>Sat, 20 Mar 2010 17:30:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[css]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[web develop]]></category>

		<guid isPermaLink="false">http://anthonygthomas.com/?p=421</guid>
		<description><![CDATA[UPDATE II I just updated the theme of this site so: It uses even less JavaScript (all animations and transformations are done w/ CSS3 tranforms) It&#8217;s HTML5 More on both those points in a post soon. The upshot is that this post refers to a past theme and may be confusing. I just added a... <a class="view-article" href="http://anthonygthomas.com/2010/03/20/no-flash-required/">View Article</a>]]></description>
				<content:encoded><![CDATA[<h3>UPDATE II</h3>
<p>I just updated the theme of this site so:</p>
<ol>
<li>It uses even less JavaScript (all animations and transformations are done w/ CSS3 tranforms)</li>
<li>It&#8217;s HTML5</li>
</ol>
<p>More on both those points in a post soon. The upshot is that this post refers to a past theme and may be confusing.</p>
<p><img class="alignleft size-full wp-image-422" title="Navigation" src="http://anthonygthomas.com/wp-content/uploads/2010/03/nav.jpg" alt="JPEF of the nav menu from anthonygthomas.com" width="284" height="95" />I just added a pretty sweet bit of eye candy to my nav menu using strictly CSS &amp; JQuery. <a href="http://net.tutsplus.com/tutorials/html-css-techniques/how-to-build-a-lava-lamp-style-navigation-menu/">The method is here</a>. <a href="http://github.com/JeffreyWay/SpasticNav">The code is here</a>.</p>
<p>You do need to have a either a webKit or Mozilla browser for it to work properly. The point is that there are fewer and fewer things that Flash can do that can&#8217;t be done with HTML, JavaScript and CSS. In fact, just about every single bit of animation I&#8217;ve had done in Flash over the last couple of years could be recreated with JQuery &amp; CSS3.</p>
<h3>UPDATE</h3>
<p>Since I couldn&#8217;t get the z-index to function properly in Internet Explorer, I used <a href="http://api.jquery.com/jQuery.browser/">JQuery&#8217;s .browser property</a> so the function only runs in supported browsers&#8211;namely, Mozilla or WebKit. The function actually degraded fairly well, except for Internet Explorer&#8217;s buggy handling of z-index. For reference, I&#8217;ve included my version of the plug-in because it has this and other subtle variations.<span id="more-421"></span></p>
<pre class="brush: jscript; title: ; notranslate">(function($) {
	if ($.browser.webkit || $.browser.mozilla) {

		$.fn.spasticNav = function(options) {

			options = $.extend({
				overlap : 2,
				speed : 500,
				reset : 1500,
				color : '#BDD2FF',
				easing : 'easeOutExpo'
			}, options);

			return this.each(function() {

			 	var nav = $(this),
			 		currentPageItem = $('.current_page_item', nav),
			 		blob,
			 		reset;

			 	$('&lt;li id=&quot;blob&quot;&gt;&lt;/li&gt;').css({
			 		width : currentPageItem.outerWidth(),
			 		height : currentPageItem.outerHeight() + options.overlap,
			 		left : currentPageItem.position().left,
			 		top : currentPageItem.position().top - options.overlap / 2,
			 		backgroundColor : options.color
			 	}).appendTo(this);

				$('.current_page_item a').css('z-index', 1000);

			 	blob = $('#blob', nav);

				$('li:not(#blob)', nav).hover(function() {
					// mouse over
					clearTimeout(reset);
					blob.animate(
						{
							left : $(this).position().left,
							width : $(this).width()
						},
						{
							duration : options.speed,
							easing : options.easing,
							queue : false
						}
					);
				}, function() {
					// mouse out
					reset = setTimeout(function() {
						blob.animate({
							width : currentPageItem.outerWidth(),
							left : currentPageItem.position().left
						}, options.speed)
					}, options.reset);

				});

			}); // end each

		};

	}

})(jQuery);</pre>
<p><strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://anthonygthomas.com/2010/03/20/no-flash-required/" rel="bookmark" title="March 20, 2010">No Flash Required</a></li>
<li><a href="http://anthonygthomas.com/2011/05/17/new-theme/" rel="bookmark" title="May 17, 2011">New Theme</a></li>
<li><a href="http://anthonygthomas.com/2010/09/05/baseline-theme-version-1-1/" rel="bookmark" title="September 5, 2010">Baseline Theme Version 1.1</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/2012/03/03/fun-with-jquery-tubular/" rel="bookmark" title="March 3, 2012">Fun With JQuery Tubular</a></li>
</ul>
<p><!-- Similar Posts took 5.227 ms --></p>
]]></content:encoded>
			<wfw:commentRss>http://anthonygthomas.com/2010/03/20/no-flash-required/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<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: The first thing this will do for you is indent your paragraphs: Next up... <a class="view-article" href="http://anthonygthomas.com/2010/02/15/blueprint-optional-fancy-type-plugin/">View Article</a>]]></description>
				<content:encoded><![CDATA[<p>The <a href="http://baseline.truetoneenterprises.com">Baseline Development WordPress Theme</a> has <a href="http://blueprintcss.org/">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; title: ; notranslate">&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; title: ; notranslate">/* 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; title: ; notranslate">
/* 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; title: ; notranslate">/* 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; title: ; notranslate">/* 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; title: ; notranslate">/* 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/2012/03/03/fun-with-jquery-tubular/" rel="bookmark" title="March 3, 2012">Fun With JQuery Tubular</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 5.576 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... <a class="view-article" href="http://anthonygthomas.com/2010/02/14/why-use-blueprint-and-the-960-grid-system-in-the-baseline-theme/">View Article</a>]]></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">Baseline WordPress theme</a>, but asked why I included both <a href="http://www.blueprintcss.org/">Blueprint</a> and the <a href="http://960.gs">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/">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/">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/2012/03/03/fun-with-jquery-tubular/" rel="bookmark" title="March 3, 2012">Fun With JQuery Tubular</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>
</ul>
<p><!-- Similar Posts took 6.086 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>
