<?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>Pixel Acres &#187; CSS</title>
	<atom:link href="http://f6design.com/journal/category/css/feed/" rel="self" type="application/rss+xml" />
	<link>http://f6design.com/journal</link>
	<description>Adventures in web and graphic design</description>
	<lastBuildDate>Thu, 11 Mar 2010 02:37:53 +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>Font Squirrel&#8217;s @font-face kit generator</title>
		<link>http://f6design.com/journal/2009/10/18/font-squirrel-font-face-generator/</link>
		<comments>http://f6design.com/journal/2009/10/18/font-squirrel-font-face-generator/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 02:25:29 +0000</pubDate>
		<dc:creator>Jonathan</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[News & Reviews]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Typography]]></category>
		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://f6design.com/journal/?p=749</guid>
		<description><![CDATA[If you want to create your own @font-face kits, you absolutely must check out Font Squirrel&#8217;s new @font-face generator tool. All you have to do is upload a TrueType or OpenType format font, and the generator spits out a zip file containing:

The original typeface for Safari and Firefox 3.5
A WOFF font for Firefox 3.6+
An SVG [...]]]></description>
			<content:encoded><![CDATA[<p>If you want to create your own <code>@font-face</code> kits, you absolutely must check out Font Squirrel&#8217;s new <a href="http://www.fontsquirrel.com/fontface/generator"><code>@font-face</code> generator tool</a>. All you have to do is upload a TrueType or OpenType format font, and the generator spits out a zip file containing:</p>
<ul>
<li>The original typeface for Safari and Firefox 3.5</li>
<li>A WOFF font for Firefox 3.6+</li>
<li>An SVG font for Opera, Chrome, and iPhone</li>
<li>An EOT font for Internet Explorer</li>
<li>A sample HTML page</li>
<li>A sample CSS stylesheet</li>
</ul>
<p>The generator also features options to reduce file size by subsetting the font, cleanup font outlines, and auto-hint glyphs to improve rendering.</p>
<p><img src="http://f6design.com/journal/wp-content/uploads/2009/10/font_squirrel_generator.jpg" alt="Font Squirrel Generator" title="Font Squirrel Generator"  width="450" height="550" class="" /></p>
<p>Sweet!</p>
]]></content:encoded>
			<wfw:commentRss>http://f6design.com/journal/2009/10/18/font-squirrel-font-face-generator/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Typekit and the future of web fonts</title>
		<link>http://f6design.com/journal/2009/10/17/typekit-and-the-future-of-web-fonts/</link>
		<comments>http://f6design.com/journal/2009/10/17/typekit-and-the-future-of-web-fonts/#comments</comments>
		<pubDate>Sat, 17 Oct 2009 09:51:08 +0000</pubDate>
		<dc:creator>Jonathan</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Typography]]></category>
		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://f6design.com/journal/?p=575</guid>
		<description><![CDATA[Now that all major web browsers finally support the CSS @font-face declaration, embedding fonts in a web page is possible with just a few lines of CSS. In theory this means that web designers no longer need to limit their font choices to a handful of system fonts, and are free to use any typeface [...]]]></description>
			<content:encoded><![CDATA[<p>Now that all major web browsers <a href="http://webfonts.info/wiki/index.php?title=@font-face_browser_support">finally support</a> the CSS <a href="http://www.w3.org/TR/css3-fonts/#the-font-face-rule"><code>@font-face</code></a> declaration, embedding fonts in a web page is possible with just a few lines of CSS. In theory this means that web designers no longer need to limit their font choices to a handful of system fonts, and are free to use any typeface they please. In practice that freedom comes with a caveat: we are only allowed to use fonts with a license agreement that allows web embedding.</p>
<p>The trouble is that digital fonts have no provision for <a href="http://en.wikipedia.org/wiki/Digital_rights_management">DRM</a>, and pirating a copy of an embedded web font is a trivial exercise for anyone with the mind to do so. That&#8217;s obviously not a prospect type foundries are too keen on, and consequently no major foundry offers a licensing option for embedding their fonts in a web page. If you link to a commercial font from your CSS stylesheet the chances are that you are breaking your license agreement. Even the number of free fonts with an EULA that <a href="http://www.webfonts.info/wiki/index.php?title=Fonts_available_for_%40font-face_embedding">condones <code>@font-face</code> embedding</a> is pitifully small.</p>
<p>That&#8217;s where <a href="http://typekit.com/">Typekit</a> comes into the picture. Typekit is a new font delivery service devised by <a href="http://www.veen.com/jeff/">Jeffrey Veen</a> that promises to take the pain out of licensing fonts for web embedding. In their <a href="http://blog.typekit.com/2009/05/27/introducing-typekit/">own words</a>:</p>
<blockquote><p>We&#8217;ve been working with foundries to develop a consistent web-only font linking license. We’ve built a technology platform that lets us to host both free and commercial fonts in a way that is incredibly fast, smoothes out differences in how browsers handle type, and offers the level of protection that type designers need without resorting to annoying and ineffective DRM.</p></blockquote>
<p>Here&#8217;s how it works:</p>
<ul>
<li>Typekit strike up agreements with type foundries allowing fonts to be licensed for CSS linking.</li>
<li>Web designers subscribe to Typekit, and pay a monthly fee to embed typefaces on their websites using an <code>@font-face</code> declaration.</li>
<li>Would-be font pirates are deterred from stealing embedded Typekit&#8217;s fonts by security measures including: allowing only authorised domains to link to their fonts; source code obfuscation; and splitting fonts into multiple files.</li>
</ul>
<p>Problem solved, right? Well, perhaps.</p>
<p>Typekit&#8217;s font-as-a-service model navigates a clever path through the legal minefield of web font licensing, but I am not convinced that it is a perfect solution. In particular there are two aspects of Typekit&#8217;s approach that strike me as problematic: the fact that their pricing model is based around renting fonts rather than owning them, and the need to rely on remote servers for the delivery of fonts.</p>
<h3>Renting vs buying</h3>
<p>Because Typekit is still in beta <a href="http://twitpic.com/ekj82">details of its pricing</a> are sketchy, but it is clear that customers will pay a monthly or annual subscription fee to access Typekit&#8217;s font library. This pricing model is significantly different to the traditional one-off payment required to license fonts for offline applications.</p>
<p>Will website owners be prepared to continue paying for a font month after month, year after year? Over time Typekit subscription fees could conceivably exceed the cost of a standard font license, despite the fact that Typekit&#8217;s fonts cannot be reused in any other medium, or potentially even on another website. And if you ever cancel your Typekit subscription, the fonts vanish into thin air. This is a radical departure from the current font licensing model, which grants customers the right to perpetually reuse any fonts they purchase.</p>
<h3>Purchasing fonts twice</h3>
<p>In addition to the fact that font subscription models require designers to pay for fonts they can&#8217;t reuse, in most cases it will also be necessary to purchase a regular installable version of each typeface.</p>
<p>To produce mockups and work on a production version of a website, a web designer needs to work with the same typefaces that will feature in the final live site. Typekit only offer web embedding of fonts, so to install a typeface on their local computer a web designer would have to purchase a separate font from another vendor. It&#8217;s not going to cut the mustard to produce mockups set in Arial and tell the client to &#8220;imagine that the headings are actually Avant Garde&#8221;!</p>
<p>When you also consider that many websites have multiple domain aliases (mysite.com, mysite.com.au, etc), and Typekit uses a per-domain pricing model, it is clear that the potential exists to pay many times over for the same font.</p>
<h3>Network reliability</h3>
<p>Another potential problem with Typekit is network downtime.</p>
<p>I can&#8217;t imagine many designers would trust their CSS files to a remote delivery network, and I think we need to accord fonts a similar importance. If major players like Google and Amazon suffer network interruption from time to time, then it is reasonable to assume that Typekit will too.</p>
<p>Admittedly, occasional network outages may not be a deal breaker, what happens if Typekit goes out of business, or a foundry retracts the right for Typekit to distribute their fonts? In either of these scenarios it seems probable that Typekit subscribers would have the fonts rudely stripped from their websites. In a best case scenario subscribers could turn to a Typekit competitor such as Fontdeck to revive their font links, but what if no competitor offered the same typefaces? The design of countless websites could be irrevocably ruined due to their dependence on remotely hosted fonts.</p>
<h3>The future of font embedding</h3>
<p>Despite the reservations I have outlined above, I have to agree with <a href="http://www.stuffandnonsense.co.uk/">Andy Clarke</a> when he predicts that <a href="http://forabeautifulweb.com/blog/about/why_typekit_will_change_everything/">Typekit will change everything.</a></p>
<p>By coming up with a practical answer to the problem of <code>@font-face</code> licensing, Typekit has paved the way for alternative font embedding approaches. Clearleft and OmniTI have joined forces to create <a href="http://fontdeck.com/">Fontdeck</a>, and at least one foundry, <a href="http://www.typotheque.com/site/index.php">Typotheque</a>, has a web font service <a href="http://www.typotheque.com/news/typotheque_web_font_service_screencast_demo">under development</a>.</p>
<p>Soon there will be a number of services vying with Typekit to win the hearts (and wallets) of web designers, however I suspect the deciding vote will ultimately be cast by large font foundries such as Linotype and Adobe.</p>
<p>The type industry&#8217;s major players will need to decide where they stand on the issue of font embedding, or they risk being left behind while smaller type foundries reap the benefits of web font licensing. If they follow the lead of their counterparts in the music industry it might be years before our <code>@font-face</code> woes are sorted out. On the other hand they might choose to take the bull the horns and launch their own font hosting services to compete with Typekit.</p>
<p>Whatever the response of large type foundries and vendors turns out to be, it will very likely determine the future of typography on the web. Hopefully we end up with a solution that is fair to web designers, website owners and font foundries alike.</p>
<h3>Further reading</h3>
<h4><a href="http://blog.typekit.com/2009/05/27/introducing-typekit/">Introducing Typekit</a></h4>
<p>Jeffrey Veen announces the arrival of Typekit, and explains the basics of how the service will work.</p>
<h4><a href="http://www.webdirections.org/blog/ubiquitous-web-font-embedding-just-got-a-step-closer/">Ubiquitous web font embedding just got a step closer</a></h4>
<p>John Allsopp argues the case for more liberal font licensing. Recommended reading.</p>
<h4><a href="http://forabeautifulweb.com/blog/about/first_impressions_of_typekit">First impressions of Typekit</a></h4>
<p>A step-by-step tour of the Typekit beta.</p>
<h4><a href="http://designintellection.com/on-typekit/">On Typekit</a></h4>
<p>David Yeiser shares some of my reservations about Typekit.</p>
<h4><a href="http://ilovetypography.com/2009/08/07/the-font-as-service/">The Font-as-Service</a></h4>
<p>Jay Elliot Stocks gives an overview of Typekit and its competitors.</p>
<h4><a href="http://forabeautifulweb.com/blog/about/testing_typotheque_font-face_embedding/">Testing Typotheque @font-face embedding</a></h4>
<p>Andy Clarke takes Typotheque&#8217;s new web license for a spin. It is interesting to note that Typotheque requires a one-off payment rather than a subscription like Typekit.</p>
]]></content:encoded>
			<wfw:commentRss>http://f6design.com/journal/2009/10/17/typekit-and-the-future-of-web-fonts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Scaffold: A CSS framework with a difference</title>
		<link>http://f6design.com/journal/2009/10/06/scaffold-a-css-framework-with-a-difference/</link>
		<comments>http://f6design.com/journal/2009/10/06/scaffold-a-css-framework-with-a-difference/#comments</comments>
		<pubDate>Tue, 06 Oct 2009 23:48:54 +0000</pubDate>
		<dc:creator>Jonathan</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://f6design.com/journal/?p=528</guid>
		<description><![CDATA[I have always been slightly wary of CSS frameworks, put off by non-semantic class names, and a nagging feeling that CSS simply isn&#8217;t complex enough to require the hand-holding a framework offers.
But today I came across Scaffold, a CSS framework that made me rethink my position.

Scaffold differs from traditional static CSS frameworks in that it [...]]]></description>
			<content:encoded><![CDATA[<p>I have always been slightly wary of CSS frameworks, put off by non-semantic class names, and a nagging feeling that CSS simply isn&#8217;t complex enough to require the hand-holding a framework offers.</p>
<p>But today I came across <a href="http://wiki.github.com/anthonyshort/csscaffold">Scaffold</a>, a CSS framework that made me rethink my position.</p>
<p><a href="http://wiki.github.com/anthonyshort/csscaffold"><img src="http://f6design.com/journal/wp-content/uploads/2009/10/scaffold_logo.jpg" alt="Scaffold logo" title="Scaffold logo" width="300" height="133" class="" /></a></p>
<p>Scaffold differs from traditional static CSS frameworks in that it runs on a web server, and acts as a compiler. Scaffold extends the power and functionality of CSS by parsing each of your CSS files using PHP and generating browser-readable stylesheets on-the-fly. Some practical benefits of this approach are:</p>
<ul>
<li>Automatically cache and compress CSS files</li>
<li>Declare constants in your CSS file and reuse them later in the stylesheet</li>
<li>Call <a href="http://wiki.github.com/anthonyshort/csscaffold/built-in-mixins">mixins</a> (functions) from your CSS selectors</li>
<li>Evaluate portions of your CSS as PHP</li>
<li>Nest CSS selectors</li>
</ul>
<p>Ruby users will be familiar with many of these features from <a href="http://compass-style.org/">Compass</a> and <a href="http://sass-lang.com/">Sass</a>, but Scaffold brings server-side CSS to the Apache/PHP user base.</p>
<h3>Extending scaffold using plugins</h3>
<p>Scaffold&#8217;s feature set can be extended using plugins. In addition to bundled plugins for compression, image replacement and generating human readable output, there are plugins for targeting specific browsers, creating <a href="http://wiki.github.com/anthonyshort/csscaffold/layout-plugin">grid layouts</a>, and extending selectors (<em>true</em> OO CSS!).</p>
<h3>How it works</h3>
<p>Scaffold works by routing your CSS files though its PHP library, parsing your Scaffold code, and generating a standard CSS styleheet which is returned to the browser. <a href="http://wiki.github.com/anthonyshort/csscaffold/installation">Installation</a> is a matter of dropping scaffold into your CSS directory, modifying a few settings in a PHP config file, and setting Apache folder permissions for the directories that Scaffold needs to write to.</p>
<p><img src="http://f6design.com/journal/wp-content/uploads/2009/10/scaffold_diagram.jpg" alt="Scaffold diagram" title="Scaffold diagram" width="450" height="380" class="" /></p>
<p>You have two options for passing files to Scaffold: route all CSS requests to Scaffold via .htacess, or change the CSS links in your HTML so that they point to Scaffold.</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">link</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;scaffold/index.php?request=screen.css&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span></pre></div></div>

<p>Scaffold is definitely a CSS framework I could learn to love, and I&#8217;m really looking forward to using it in a project. Compared to the current batch of static CSS frameworks Scaffold looks like a big step forward.</p>
]]></content:encoded>
			<wfw:commentRss>http://f6design.com/journal/2009/10/06/scaffold-a-css-framework-with-a-difference/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Aligning an element to the bottom of its container</title>
		<link>http://f6design.com/journal/2009/06/20/aligning-an-element-to-the-bottom-of-its-container/</link>
		<comments>http://f6design.com/journal/2009/06/20/aligning-an-element-to-the-bottom-of-its-container/#comments</comments>
		<pubDate>Sat, 20 Jun 2009 22:57:36 +0000</pubDate>
		<dc:creator>Jonathan</dc:creator>
				<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://f6design.com/journal/?p=361</guid>
		<description><![CDATA[Here is a little CSS trick that allows you to align content to the bottom of its container, in a similar fashion to how vertical-align="bottom" works in table-based layouts.
Let&#8217;s say we want to display an image with a title aligned to its top right corner, and a caption aligned to its bottom right corner:

Here is [...]]]></description>
			<content:encoded><![CDATA[<p>Here is a little CSS trick that allows you to align content to the bottom of its container, in a similar fashion to how <code>vertical-align="bottom"</code> works in table-based layouts.</p>
<p>Let&#8217;s say we want to display an image with a title aligned to its top right corner, and a caption aligned to its bottom right corner:</p>
<p><img src="http://f6design.com/journal/wp-content/uploads/2009/06/bottom_aligned_element.jpg" alt="Bottom Aligned Element" title="Bottom Aligned Element" width="470" height="342" /></p>
<p>Here is the CSS:</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;"><span style="color: #6666ff;">.portfolioImg</span> <span style="color: #00AA00;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">float</span><span style="color: #00AA00;">:</span><span style="color: #000000; font-weight: bold;">left</span><span style="color: #00AA00;">;</span>
    <span style="color: #000000; font-weight: bold;">margin-right</span><span style="color: #00AA00;">:</span> <span style="color: #933;">20px</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
<span style="color: #6666ff;">.imgDetails</span> <span style="color: #00AA00;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">position</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">relative</span><span style="color: #00AA00;">;</span>
    <span style="color: #000000; font-weight: bold;">float</span><span style="color: #00AA00;">:</span><span style="color: #000000; font-weight: bold;">left</span><span style="color: #00AA00;">;</span>
    <span style="color: #000000; font-weight: bold;">height</span><span style="color: #00AA00;">:</span> <span style="color: #933;">280px</span><span style="color: #00AA00;">;</span>
    <span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span> <span style="color: #933;">150px</span><span style="color: #00AA00;">;</span>
    <span style="color: #00AA00;">&#125;</span>
    <span style="color: #6666ff;">.imgDetails</span> p <span style="color: #00AA00;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">position</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">absolute</span><span style="color: #00AA00;">;</span>
        <span style="color: #000000; font-weight: bold;">bottom</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span>
        <span style="color: #00AA00;">&#125;</span></pre></div></div>

<p>Here is the markup:</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">img</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;portfolioImg&quot;</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;monster.jpg&quot;</span> <span style="color: #000066;">width</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;280&quot;</span> <span style="color: #000066;">height</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;280&quot;</span> <span style="color: #000066;">alt</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;Knitted monster&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;imgDetails&quot;</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">h2</span>&gt;</span>Image title<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">h2</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">p</span>&gt;</span>This is the image caption. It is aligned to the bottom of its containing element.<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">p</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span></pre></div></div>

<p>The trick is to set the <code>position</code> of the container to <code>relative</code>, and the <code>position</code> the of the child element to <code>absolute</code>. Then set the child&#8217;s <code>bottom</code> property to <code>0</code>.</p>
<h4>Photo credit</h4>
<p>The photo of the cute knitted critter in my example is by Tamie Snow. You can learn more about her wonderful knitted creations at <a href="http://tamiesnow.typepad.com/">Roxycraft</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://f6design.com/journal/2009/06/20/aligning-an-element-to-the-bottom-of-its-container/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>IE7, first-child and HTML comments</title>
		<link>http://f6design.com/journal/2008/11/27/ie7-first-child-and-html-comments/</link>
		<comments>http://f6design.com/journal/2008/11/27/ie7-first-child-and-html-comments/#comments</comments>
		<pubDate>Fri, 28 Nov 2008 05:58:04 +0000</pubDate>
		<dc:creator>Jonathan</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML/XHTML]]></category>

		<guid isPermaLink="false">http://f6design.com/journal/2008/11/27/ie7-first-child-and-html-comments/</guid>
		<description><![CDATA[Perhaps it is common knowledge, but until today I was unaware that the CSS first-child pseudo-class fails in IE7 when the child element is immediately preceeded by an HTML comment.
In the following example IE7 considers the HTML comment to be the first child, and therefore my selector will fail.
CSS:
li:first-child { font-weight:bold; }
HTML:
&#60;ul&#62;
    [...]]]></description>
			<content:encoded><![CDATA[<p>Perhaps it is common knowledge, but until today I was unaware that the CSS <code>first-child</code> pseudo-class fails in IE7 when the child element is immediately preceeded by an HTML comment.</p>
<p>In the following example IE7 considers the HTML comment to be the first child, and therefore my selector will fail.</p>
<p><strong>CSS:</strong></p>
<pre><code>li:first-child { font-weight:bold; }</code></pre>
<p><strong>HTML:</strong></p>
<pre><code>&lt;ul&gt;
    &lt;!-- IE7 thinks this comment is the first child. Oops! --&gt;
    &lt;li&gt;The li:first-child selector should make me bold&lt;/li&gt;
    &lt;li&gt;I'm the second child&lt;/li&gt;
    &lt;li&gt;I'm the third child&lt;/li&gt;
&lt;/ul&gt;</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://f6design.com/journal/2008/11/27/ie7-first-child-and-html-comments/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>File download icon</title>
		<link>http://f6design.com/journal/2007/07/19/file-download-icon/</link>
		<comments>http://f6design.com/journal/2007/07/19/file-download-icon/#comments</comments>
		<pubDate>Thu, 19 Jul 2007 12:30:08 +0000</pubDate>
		<dc:creator>Jonathan</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Toolbox]]></category>

		<guid isPermaLink="false">http://f6design.com/journal/2007/07/19/file-download-icon/</guid>
		<description><![CDATA[I spent an hour yesterday sprucing up the &#8216;file download&#8217; icon I use on one of my websites, and I&#8217;m putting my Photoshop file up here for you to use if you like. I&#8217;ve made it very easy to change the color scheme of the icon, or to modify the graphic on its label, so [...]]]></description>
			<content:encoded><![CDATA[<p>I spent an hour yesterday sprucing up the &#8216;file download&#8217; icon I use on one of my websites, and I&#8217;m putting my Photoshop file up here for you to use if you like. I&#8217;ve made it very easy to change the color scheme of the icon, or to modify the graphic on its label, so you&#8217;ll have no trouble adjusting it to suit your own needs.</p>
<p><img src='http://f6design.com/journal/wp-content/uploads/2007/07/file_download_icon_row.jpg' alt='Row of file download icons' /></p>
<h3>Download</h3>
<p><a href="/journal/filedownloadicon/file_icon.zip">Download Photoshop CS2 file</a></p>
<h3>How to use it</h3>
<p>Here is some simple CSS styling you can use to turn an ordinary link into a spiffy looking file download button.</p>
<h4>The HTML:</h4>
<pre><code>&lt;p class="fileDownload"&gt;
    &lt;a href="myfile.pdf"&gt;Download Annual Report (PDF 120Kb)&lt;/a&gt;
&lt;/p&gt;</code></pre>
<h4>The CSS:</h4>
<pre><code>.fileDownload {
    background: transparent url(file_icon.gif) no-repeat left top;
    display: block;
    height: 35px;
    padding-left: 36px;
}</code></pre>
<h4>The final result:</h4>
<style type="text/css" media="screen">
.fileDownload {
    background:transparent url(/journal/filedownloadicon/file_icon.gif) no-repeat left top;
    display: block;
    height: 35px;
    margin-top: 1em;
    padding-left: 36px;
}
</style>
<p class="fileDownload">
    <a href="#">Download Annual Report (PDF 120Kb)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://f6design.com/journal/2007/07/19/file-download-icon/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>CSS Advisor</title>
		<link>http://f6design.com/journal/2007/01/17/css-advisor/</link>
		<comments>http://f6design.com/journal/2007/01/17/css-advisor/#comments</comments>
		<pubDate>Wed, 17 Jan 2007 11:22:26 +0000</pubDate>
		<dc:creator>Jonathan</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[News & Reviews]]></category>

		<guid isPermaLink="false">http://f6design.com/journal/2007/01/17/css-advisor/</guid>
		<description><![CDATA[CSS Advisor is a newish community website from Adobe. On CSS Advisor users can post their own CSS tips, or pose questions which other community members can attempt to answer. This question/solution format promises that CSS Advisor will remain more focused than the average forum, and provide a practical resource to call upon when faced [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.adobe.com/go/cssadvisor">CSS Advisor</a> is a newish community website from Adobe. On CSS Advisor users can post their own CSS tips, or pose questions which other community members can attempt to answer. This question/solution format promises that CSS Advisor will remain more focused than the average forum, and provide a practical resource to call upon when faced with a sticky CSS issue. Within a few minutes on the site I discovered a potential solution to a long time CSS bugbear of mine &#8211; Safari&#8217;s &#8216;Wmode flicker&#8217; when DHTML dropdown menus are displayed over a Flash movie.</p>
<p>Posts are divided by category, such as &#8216;Float&#8217;, &#8216;Margin&#8217;, &#8216;Safari&#8217; and &#8216;Color&#8217;, and can be rated by community members to indicate how useful solutions prove to be. CSS Advisor is still in beta and remains fairly bare at this stage (90 posts), but hopefully the forum will continue to grow over the coming months as word gets around.</p>
]]></content:encoded>
			<wfw:commentRss>http://f6design.com/journal/2007/01/17/css-advisor/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Microsoft drop the ball with Outlook 2007</title>
		<link>http://f6design.com/journal/2007/01/10/microsoft-drops-the-ball-with-outlook-2007/</link>
		<comments>http://f6design.com/journal/2007/01/10/microsoft-drops-the-ball-with-outlook-2007/#comments</comments>
		<pubDate>Wed, 10 Jan 2007 21:17:09 +0000</pubDate>
		<dc:creator>Jonathan</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML/XHTML]]></category>
		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://f6design.com/journal/2007/01/10/microsoft-drops-the-ball-with-outlook-2007/</guid>
		<description><![CDATA[Well it looks as if Microsoft has screwed up royally with Outlook 2007, at least insofar as the way HTML emails are rendered. Instead of using the not-too-shabby Internet Explorer 7 rendering engine to display HTML emails, Microsoft opted to use a customized version of the Word 2007 rendering engine. That&#8217;s right, from now on [...]]]></description>
			<content:encoded><![CDATA[<p>Well it looks as if Microsoft has screwed up royally with Outlook 2007, at least insofar as the way HTML emails are rendered. Instead of using the not-too-shabby Internet Explorer 7 rendering engine to display HTML emails, Microsoft opted to use a customized version of the Word 2007 rendering engine. That&#8217;s right, from now on your beautifully constructed HTML newsletters are going to be rendered by the crime against layout known as Microsoft Word. That fact alone was enough to send shivers down my spine, but when I dug a little deeper I discovered just how dire the situation really is.</p>
<p>Until now, Outlook has stood its ground as one of the better email clients when it comes to rendering HTML. Sure, there wasn&#8217;t perfect parity between Outlook and Internet Explorer, but it was close enough to make do. However, with the switch to the Word rendering engine Outlook has taken a leap back into the dark ages, and now ranks somewhere alongside Lotus Notes and Eudora in terms of its rendering capabilities.</p>
<p>Here are a few of the significant HTML and CSS goodies you&#8217;re going to have to kiss goodbye: </p>
<ul>
<li><strong>Background images</strong><br />
Want a background image on that table cell or div? Forget about it friend, you have to make do with solid colors from now on.</li>
<li><strong>Floats</strong><br />
Just when HTML email designers were tentatively proclaiming that CSS layouts were achievable, Microsoft have decided to rain on our parade.</li>
<li><strong>Flash</strong><br />
Your recipients are just going to see a &#8220;red x&#8221; where the Flash movie would have been.</li>
</ul>
<p>And that’s just the tip of the iceberg &#8211; you can see a <a href="http://msdn2.microsoft.com/en-us/library/aa338201.aspx">complete list</a> of the missing HTML/CSS elements, properties and attributes on the MSDN site.</p>
<p>None of these limitations is going to make the task of designing HTML emails impossible, but they will ensure that no advances are made in this field for a good number of years. Remember, it&#8217;s been four years since the last version of Outlook was released, so I&#8217;m going to guess it&#8217;ll be at <em>least </em>six years before Outlook 2007 drops off the edge of the map.</p>
<p>Microsoft are claiming that enhanced security is behind the decision, which seems odd considering how they keep harping on about <a href="http://www.microsoft.com/technet/community/columns/secmgmt/sm0306.mspx">how secure Internet Explorer 7</a> is compared to its predecessor. And as usual it&#8217;s the web designers &#8211; and consumers &#8211; who get shafted. Hopefully when Microsoft&#8217;s customer base realize how crappy their HTML newsletters now look, they will start consider alternative email clients such as Thunderbird. Maybe then Microsoft will realize how shortsighted they have been.</p>
<h3>Further reading</h3>
<h4><a href="http://joe.hardy.id.au/blog/2006/11/21/broken-html-rendering-in-outlook-2007/">Broken HTML/CSS Rendering in Outlook 2007</a></h4>
<p>Joe Hardy has an excellent gripe about the situation, and details some of the specific problems you might encounter when designing HTML emails for Outlook 2007.</p>
<h4><a href="http://msdn2.microsoft.com/en-us/library/aa338201.aspx">Word 2007 HTML and CSS Rendering Capabilities in Outlook 2007</a></h4>
<p>Straight from the horse&#8217;s mouth.</p>
]]></content:encoded>
			<wfw:commentRss>http://f6design.com/journal/2007/01/10/microsoft-drops-the-ball-with-outlook-2007/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Getting HTML newsletters right</title>
		<link>http://f6design.com/journal/2006/10/07/getting-html-newsletters-right/</link>
		<comments>http://f6design.com/journal/2006/10/07/getting-html-newsletters-right/#comments</comments>
		<pubDate>Sat, 07 Oct 2006 11:57:24 +0000</pubDate>
		<dc:creator>Jonathan</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML/XHTML]]></category>
		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://f6design.com/journal/2006/10/07/getting-html-newsletters-right/</guid>
		<description><![CDATA[For a long time I was wary of designing email newsletters. I had read how difficult it was to construct an HTML newsletter that displayed as intended in all the popular email clients. I had heard about the horrors of creating layouts using tables. I had been warned about the perils of using CSS. But [...]]]></description>
			<content:encoded><![CDATA[<p>For a long time I was wary of designing email newsletters. I had read how difficult it was to construct an HTML newsletter that displayed as intended in all the popular email clients. I had heard about the horrors of creating layouts using tables. I had been warned about the perils of using CSS. But this year I have had several clients request that I design email newsletters for them, and had no choice but to school myself in the arcane art of HTML email design. I discovered that building successful HTML emails is not as daunting as it&#8217;s sometimes cracked up to be, and armed with a little knowledge it can be a fairly painless process.</p>
<h3>To CSS or not to CSS?</h3>
<p>CSS support in email clients varies widely. While most modern email clients have reasonable support for CSS, web-based email clients have an annoying habit of stripping stylesheets from between the <code>&lt;head&gt;&lt;/head&gt;</code> tags of your HTML document. They do this to stop your CSS styles overriding the styles of their own website &#8211; remember, your newsletter is being loaded into a parent webpage. Luckily you can get around this restriction by placing your stylesheet between the <code>&lt;body&gt;&lt;/body&gt;</code> tags of your document. This may be an unorthodox solution, but it will ensure your styles remains untouched. Unfortunately Google&#8217;s Gmail is not so easy to fool.</p>
<p>CSS support in Gmail is appalling. I mean, really, really bad. Gmail will not only strip styleheets from the <code>&lt;head&gt;</code> of your document, it will strip them from the <code>&lt;body&gt;</code> too. In other words, your HTML document will appear totally unstyled. And here&#8217;s the kicker: The only way to feed CSS styles to Google is to apply them inline, as in <code>&lt;p style="color: #000000; margin-bottom: 20px"&gt;</code>. It makes me feel compromised and dirty just thinking about it. </p>
<p>Currently Gmail only has about 5% of the web-based email client market, and its users are no doubt accustomed to their HTML emails looking like a dog&#8217;s breakfast. You may decide you can afford to let them suffer. Myself, I suck up my pride and apply the styles inline. I know that some of my clients have Gmail accounts, and I don&#8217;t want the job of explaining why their HTML newsletter looks like it was designed in Word. Here&#8217;s hoping Google get their act together sometime soon.</p>
<p>Where page layout is concerned, I&#8217;d suggest you forgo CSS in favour of tables &#8211; almost everything I have read on the topic has agreed that tables are an unavoidable reality of HMTL newsletter design. In case you needed convincing consider the following: No web-based email client supports the <code>position</code> property, Gmail doesn&#8217;t support the <code>float</code> property, and neither does Lotus Notes which has a 9% market share.</p>
<p>The idea of using tables for presentational layout may be anathema to the standards aware web designer, but it ain&#8217;t as bad as it sounds. In the context of an email newsletter, a table-based layout won&#8217;t cause any of the long-term damage it might on a full-scale website. An email newsletter only has one page, which is never going to be updated or modified again, so an inflexible table-based layout won&#8217;t actually create any headaches down the track.</p>
<h3>The curse of image blocking</h3>
<p>A recent development in the world of email clients is phenomenon of image blocking. To help combat spam, around 50% of email clients now block images that are embedded in email messages. The logic behind this is that spammers often embed a 1&#215;1 pixel transparent gif in the emails they send, to track whether an email has been opened. An increasing percentage of spammers are also using images in the body of their emails. Unfortunately, legitimate email marketers also use both of these techniques, and are punished along with the spammers.</p>
<p>The effect of image blocking on the appearance of your HTML email can be dramatic. It is imperative to know how your newsletter will look with images turned off, because that&#8217;s how a big chunk of your subscribers are going to see it. You can easily turn a web page&#8217;s images off in Firefox using the awesome <a href="http://chrispederick.com/work/webdeveloper/">Web Developer&#8217;s Extension</a>.</p>
<p>Below is an example of how one newletter I subscribe to looks both with and without images enabled, to give you an idea of the impact it makes on visual design.</p>
<p><strong><em>With images blocked:</em></strong></p>
<p><a class="imagelink" href="http://f6design.com/journal/wp-content/uploads/2006/10/icon_buffet_before_large.jpg" title="Icon Buffet newsletter without images - click to enlarge"><img  class="contentImg" src="http://f6design.com/journal/wp-content/uploads/2006/10/icon_buffet_before_small.jpg" alt="Icon Buffet newsletter with images - click to enlarge" /></a></p>
<p><strong><em>&#8230; and with images enabled:</em></strong></p>
<p><a class="imagelink" href="http://f6design.com/journal/wp-content/uploads/2006/10/icon_buffet_after_large.jpg" title="Icon Buffet newsletter without images - click to enlarge"><img class="contentImg" src="http://f6design.com/journal/wp-content/uploads/2006/10/icon_buffet_after_small.jpg" alt="Icon Buffet newsletter with images - click to enlarge" /></a></p>
<p>So what do do about the image blocking problem? There are a few strategies we can employ when designing an HTML newsletter:</p>
<ul>
<li><strong>Use text instead of images</strong><br />
There&#8217;s no need to forgo images altogether, just make sure that your newsletter is still easy to read when the images are turned off. Providing meaningful alt tags for images is a good place to start, but more important is to use text to convey important information rather than images. In the Icon Buffet example I showed above, the email may not look as pretty with images disabled, but the content remains just as accessible.</li>
<li><strong>Get Whitelisted</strong><br />
Most email clients will not block images from a sender who is in the recipient&#8217;s address book. Encourage your subscribers to add you to their address book.</li>
<li><strong>Provide a link to a web version of your newsletter</strong><br />
Place a text-based link at the very top of your email that launches a web version of the newsletter in the subscriber&#8217;s web browser. Text for the link should read something like: &#8220;Having difficulty viewing the images in this email? Read it in your web browser&#8221;.</li>
<li><strong>Attach images to the message</strong><br />
If an image is embedded directly in an email as an attachment, rather than hosted on a remote web server, it won&#8217;t be blocked. If you are sending a small campaign from your own computer, this is fairly simple to achieve. I understand there are also some professional email marketing services which allow this too. But be warned: some ISPs filter emails with embedded images, as it is a popular technique with spammers.</li>
</ul>
<h3>Designing for the preview pane</h3>
<p>Most desktop email clients feature a &#8216;preview pane&#8217;, allowing the recipient to view a preview of a message before deciding whether to open it. When the <a href="http://arstechnica.com/journals/microsoft.ars/2005/9/15/1247">next generation</a> of web-based email clients launch, they will feature preview panes too. This impacts on the way we design HTML newsletters, since we need to ensure the message still looks good at a glance in the preview pane, and doesn&#8217;t require horizontal scrolling. Keep your layout width between 500px and 600px and you&#8217;ll be fine, and of course put the most important content and the top of your email so it&#8217;s visible without scrolling vertically.</p>
<p>Here is an example of how the preview pane looks in the Mozilla Thunderbird email client:</p>
<p><a class="imagelink" href="http://f6design.com/journal/wp-content/uploads/2006/10/preview_pane_big.jpg" title="Mozilla Thunderbird preview pane - click to enlarge"><img class="contentImg" src="http://f6design.com/journal/wp-content/uploads/2006/10/preview_pane_small.jpg" alt="Mozilla Thunderbird preview pane - click to enlarge" /></a></p>
<h3>Sending your newsletter</h3>
<p>I&#8217;ve had a few clients who got nervous about the idea of using a third party company to send their email newsletters. In the past they had sent emails themselves from Outlook, and didn&#8217;t see any reason to change just because they now had a professionally designed newsletter. My advice: avoid this situation at all costs! Before you know it your client will be taking your beautiful newsletter template and attempting to edit it themselves in Outlook, butchering your layout &#8211; and your reputation &#8211; in the process. Add to this the fact that Outlook will magically turn your clean HTML markup into something resembling a spaghetti bolognaise, and you can see why it&#8217;s just a plain bad idea!</p>
<p>Fortunately their are some very reasonably priced options available for sending email campaigns on a  client&#8217;s behalf, preserving the integrity of your design as well as offering a lot of powerful features you wouldn&#8217;t have otherwise. A friend recommended <a href="http://www.campaignmonitor.com/">Campaign Monitor</a> to me some time back, and I&#8217;ve now used them to send several client campaigns. Their prices are very attractive ($5 per campaign + 1c per email), and they offer a comprehensive client reporting system as well as great subscription list management. You can sign up for free and send small test campaigns to see if their service is right for you &#8211; I reckon you&#8217;ll be hooked after you give it a whirl.</p>
<p>Of course whichever way you choose to send your HTML emails, make sure that before you click the &#8217;send&#8217; button for the final time that you test, test and test again! Ensure you have final signoff from your client on every aspect of the layout and text copy. Send a small test campaign and preview the email in as many email clients as you can get your hands on. Here are a few to consider: Outlook, Eudora, Thunderbird, Mac Mail, Entourage, Hotmail, Gmail, Yahoo. You only get one chance, so make sure you get it right.</p>
<h3>Further reading</h3>
<h4><a href="http://www.thinkvitamin.com/features/design/html-emails">HTML Emails &#8211; Taming The Beast</a></h4>
<p>A great overview of the pitfalls you may encounter when you embark on your first HTML email design.</p>
<h4><a href="http://www.campaignmonitor.com/blog/archives/2006/03/a_guide_to_css_1.html">A Guide to CSS Support in Email</a></h4>
<p>An extremely detailed checklist of CSS support in all the popular web-based and desktop email clients.</p>
<h4><a href="http://www.emaillabs.com/email_marketing_articles/html_email_design_tips.html">20 HTML Email Tips: Ignore at Your Own Risk</a></h4>
<p>A must-read article covering design, usability and functionality issues</p>
]]></content:encoded>
			<wfw:commentRss>http://f6design.com/journal/2006/10/07/getting-html-newsletters-right/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Image source swapping, CSS, and Safari</title>
		<link>http://f6design.com/journal/2006/09/29/image-source-swapping-css-and-safari/</link>
		<comments>http://f6design.com/journal/2006/09/29/image-source-swapping-css-and-safari/#comments</comments>
		<pubDate>Fri, 29 Sep 2006 23:56:44 +0000</pubDate>
		<dc:creator>Jonathan</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML/XHTML]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://f6design.com/journal/2006/09/29/image-source-swapping-css-and-safari/</guid>
		<description><![CDATA[Last week I was putting the finishing touches on a small website I created for a friend. Specifically, I was jazzing up the image gallery with an ‘Image loading…’ animation, so that visitors knew to hang around while a new image loaded. In the process I made an interesting discovery about the way Safari (Safari [...]]]></description>
			<content:encoded><![CDATA[<p>Last week I was putting the finishing touches on a small website I created for a friend. Specifically, I was jazzing up the image gallery with an ‘Image loading…’ animation, so that visitors knew to hang around while a new image loaded. In the process I made an interesting discovery about the way Safari (Safari 1.2 at any rate) handles javascript image source swapping.</p>
<p>The image gallery was controlled by a Javascript which swapped the <code>src</code> parameter of a placeholder <code>img</code> tag each time the user selected a new image.</p>
<p>In my HTML markup I had a basic image tag with an ID applied to it:</p>
<pre><code>&lt;img id="placeholderimage" alt="" /&gt;</code></pre>
<p>When the user selected a new image (by clicking ‘next’ or ‘prev’ in my image gallery navigation), a javascript was triggered to load a jpeg into the placeholder:</p>
<pre><code>document.getElementById('placeholderimage').src = "mynewpic.jpg";</code></pre>
<p>The problem with this method is that while the new image loads into the placeholder, the old image remains on the page. To the user it appears as if nothing is happening. The solution is to hide the image while it loads, and show the user some sort of load indicator while they wait. When the image has completed loading, reveal it again and hide the load indicator.</p>
<p>The specifics of hiding/revealing the load indicator are beyond the scope of this article, so I won’t bore you with them here. Instead I’ll demonstrate the method by which I hid and revealed the image, as that is what caused problems in Safari.</p>
<p>To hide the image, I used javascript to apply the CSS style <code>display:none</code> before loading the new jpeg. I also created an <code>onload</code> event handler for my image, to detect when it had finished loading. Inside my <code>onload</code> function I revealed the image again:</p>
<pre><code>document.getElementById('placeholderimage').onload=function(){
        document.getElementById('placeholderimage').style.display = "block";
};
document.getElementById('placeholderimage').style.display = "none";
document.getElementById('placeholderimage').src = "mynewpic.jpg";</code></pre>
<p>Easy peasy. The image is removed from the document flow when it starts to load, and returned when it finishes.</p>
<p>Everything seemed to be rocking nicely, until I fired up the site Safari 1.2. The image was hiding as expected, but my <code>onload</code> function was never evoked. After some head scratching I traced the problem to my use of <code>display:block</code> when hiding the image. I think Safari’s logic is that because the image is no longer part of the document flow, there is no point bothering to load it. Unlike other browsers, Safari never initiated the image load, and that’s why the <code>onload</code> never fired.</p>
<p>Armed with this new knowledge, we have a couple of &#8220;Safari friendly&#8221; options at our displosal:</p>
<ul>
<li>
<h5>Use visibility not display</h5>
<p>If we use <code>visibility = "hidden";</code> instead of <code>display = "none";</code> to hide the image, everything works fine. The problem with using <code>visibility</code> is that the image is not removed from the document flow, meaning a gap is left on the page where the image used to be. Depending on the layout of your image gallery that may not be an issue for you &#8211; it may in fact be desirable. If it is an issue, you can set the height of the image (or it’s containing element if there is one) to zero, then use the onload handler to reset it to it’s correct height. Fiddly, but it works.
</li>
<li>
<h5>Move the image outside the viewport</h5>
<p>If your image has the CSS property <code>position:absolute</code>, then you should be able to move it off screen by setting either it’s <code>top</code> or <code>left</code> property to a suitable low value, for example: <code>left: -1000em</code>; That ought to place the image off screen out of sight.</li>
</ul>
<p>There may be other alternatives, and you can choose the one that suits you best. The important thing to remember is don’t use <code>display:block</code> to hide images while you swap their image source, or risk the wrath of Safari users!</p>
<p>For anyone interested to see the final implementation of my image gallery, <a href="http://www.archivedestruct.com/documentation/pr/images.php">here it is</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://f6design.com/journal/2006/09/29/image-source-swapping-css-and-safari/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
