<?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>zomigi.com &#187; CSS</title>
	<atom:link href="http://zomigi.com/tags/css/feed/" rel="self" type="application/rss+xml" />
	<link>http://zomigi.com</link>
	<description>The professional blog of Zoe Mickley Gillenwater</description>
	<lastBuildDate>Wed, 28 Jul 2010 21:36:40 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>CSS Summit 2010 slides and resources</title>
		<link>http://zomigi.com/blog/css-summit-2010/</link>
		<comments>http://zomigi.com/blog/css-summit-2010/#comments</comments>
		<pubDate>Wed, 28 Jul 2010 17:30:42 +0000</pubDate>
		<dc:creator>Zoe Gillenwater</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[links]]></category>
		<category><![CDATA[speaking]]></category>

		<guid isPermaLink="false">http://zomigi.com/?p=384</guid>
		<description><![CDATA[I spoke at the CSS Summit on "Effective and Efficient Design with CSS3." You can download the slides and get links to related resources.]]></description>
			<content:encoded><![CDATA[<p>I just finished speaking at the <a href="http://www.csssummit.com">CSS Summit</a> online conference. Well, technically, I&#8217;m writing this <em>before </em>I spoke, so that the post can be up as soon as my talk is done. Sneaky, huh? Anyway, my  presentation was titled &#8220;Effective &amp; Efficient Design with CSS3,&#8221; an extension of the talk I gave at <a href="http://zomigi.com/blog/convergese-2010-and-upcoming-conferences/">ConvergeSE</a>.</p>
<p><img title="More..." src="http://zomigi.com/wp-includes/js/tinymce/plugins/wordpress/img/trans.gif" alt="" />If you&#8217;d like  to check out the slides, here they are:</p>
<p><a href="http://zomigi.com/downloads/Effective-Efficient-Design-CSS3_100728-CSSSummit.pdf">Effective &amp; Efficient Design with CSS3 (PDF, 1.7 mb)</a></p>
<p>Here are several links to related resources that I couldn&#8217;t put in  the slides but which you might find useful.<span id="more-384"></span></p>
<h3>Beginner CSS3 Articles</h3>
<ul>
<li><a href="http://www.smashingmagazine.com/2010/06/17/start-using-css3-today-techniques-and-tutorials/">Start  Using CSS3 Today: Techniques and Tutorials</a></li>
<li><a href="http://www.smashingmagazine.com/2009/10/26/modern-css-layouts-the-essential-characteristics/">Modern  CSS Layouts: The Essential Characteristics</a></li>
<li><a href="http://www.smashingmagazine.com/2010/05/06/modern-css-layouts-part-2-the-essential-techniques/">Modern  CSS Layouts, Part 2: The Essential Techniques</a></li>
<li><a href="http://www.alistapart.com/articles/prefix-or-posthack/">Prefix   or Posthack</a></li>
</ul>
<h3>Benefits of CSS3</h3>
<ul>
<li><a href="http://www.awayback.com/css3-and-veer-navigation/">CSS3 and  Veer navigation</a></li>
<li><a href="http://www.position-absolute.com/articles/how-to-get-css3-box-shadow-accepted-as-a-viable-option-at-your-workplace/">How  to: Get CSS3 box-shadow and border-radius accepted as a viable option  at your workplace</a></li>
</ul>
<h3>Media Queries</h3>
<ul>
<li><a href="http://www.quirksmode.org/mobile/viewports2.html">A tale of two viewports &#8211; part two</a></li>
<li><a href="http://davidbcalhoun.com/2010/viewport-metatag">The  viewport metatag (Mobile web part 1)</a></li>
<li><a href="http://www.quirksmode.org/blog/archives/2010/04/the_orientation.html">The  orientation media query</a></li>
<li><a href="http://mislav.uniqpath.com/2010/04/targeted-css/">Detecting  device size &amp; orientation in CSS</a></li>
<li><a href="http://www.lukew.com/ff/entry.asp?1142">Designing for the Retina Display (326ppi)</a></li>
<li><a href="http://www.protofluid.com">Protofluid</a></li>
</ul>
<h3>Flexible Layouts</h3>
<ul>
<li><a href="http://www.zomigi.com/blog/essential-resources-for-creating-liquid-and-elastic-layouts/">70+  essential resources for creating liquid and elastic layouts</a></li>
<li><a href="http://www.flexiblewebbook.com/">Flexible Web Design: Creating Liquid and Elastic Layouts with CSS</a></li>
</ul>
<p>Finally, if you&#8217;re interested in learning more about my book, <a href="http://www.stunningcss3.com/">Stunning CSS3: A Project-based Guide to the Latest in CSS</a>, head on over to <a href="http://www.stunningcss3.com/">www.stunningcss3.com</a>. That&#8217;s where the example files for the media query site I showed during my presentation will eventually be hosted. For now, check out the CSS used on the site to see a wide variety of CSS3 techniques in use.</p>
]]></content:encoded>
			<wfw:commentRss>http://zomigi.com/blog/css-summit-2010/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>The CSS Summit is near</title>
		<link>http://zomigi.com/blog/the-css-summit-is-near/</link>
		<comments>http://zomigi.com/blog/the-css-summit-is-near/#comments</comments>
		<pubDate>Fri, 23 Jul 2010 20:53:03 +0000</pubDate>
		<dc:creator>Zoe Gillenwater</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[giveaway]]></category>
		<category><![CDATA[speaking]]></category>

		<guid isPermaLink="false">http://zomigi.com/?p=379</guid>
		<description><![CDATA[Find out how you can win a ticket to the CSS Summit online conference on July 28.]]></description>
			<content:encoded><![CDATA[<p>Only a few days left until the 2nd annual <a href="http://csssummit.com/">CSS Summit online conference</a> on July 28. I&#8217;m excited about the lineup, which includes:</p>
<ul>
<li>My great friend Stephanie (Sullivan) Rewis speaking about great tools to make CSS3 development easier and how to make many CSS3 effects work in a wider variety of browsers and devices.</li>
<li>Nicole Sullivan explaining how she optimized Facebook&#8217;s massive CSS file. (I&#8217;m so curious to hear about this!)</li>
<li>Estelle Weyl teaching how to develop CSS3 and HTML5 for iPhones, iPads, and Android devices. (It&#8217;s awesome how many new techniques you can use.)</li>
</ul>
<p>Plus five more sessions (including my own on ways to improve efficiency and usability with CSS3). Want to &#8220;attend&#8221;? I have a couple options for you.</p>
<p>One, you can still <a href="http://environmentsforhumans.com/2010/css-summit/#buytickets">buy a ticket</a> for $179, plus get 10% off by using discount code <strong>CSSGILLENWATER</strong> when you sign up.</p>
<p>Two, you can win a ticket! To enter the contest, tweet &#8220;I want to go to the #CSSsummit on July 28. Follow @zomigi and retweet to win. Learn more at http://bit.ly/csZgT9.&#8221; Do this by this Sunday morning at 8 am Eastern US time. I&#8217;ll pick the winner immediately afterward and notify him or her through Twitter (which is why I need you to follow me).</p>
]]></content:encoded>
			<wfw:commentRss>http://zomigi.com/blog/the-css-summit-is-near/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>ConvergeSE 2010 and upcoming conferences</title>
		<link>http://zomigi.com/blog/convergese-2010-and-upcoming-conferences/</link>
		<comments>http://zomigi.com/blog/convergese-2010-and-upcoming-conferences/#comments</comments>
		<pubDate>Thu, 08 Jul 2010 16:39:12 +0000</pubDate>
		<dc:creator>Zoe Gillenwater</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[links]]></category>
		<category><![CDATA[speaking]]></category>

		<guid isPermaLink="false">http://zomigi.com/?p=369</guid>
		<description><![CDATA[I spoke at ConvergeSE on "Improving Efficiency and Usability with CSS3." You can download the slides, get links to related resources, plus find out when I'm giving similar presentations soon.]]></description>
			<content:encoded><![CDATA[<p>On June 26 I spoke at <a href="http://convergese.com/">ConvergeSE</a> in Columbia, SC. It was a small conference, but had some really wonderful speakers. Unfortunately, I was sick with a bad cold, so I missed a few talks and didn&#8217;t get to hang out with everyone afterward. But the talks I did hear were quite inspiring. I just love going to presentations that get you all excited about the work that you do. Go to the <a href="http://convergese.com/">ConvergeSE site</a> to view speakers&#8217; slides and, eventually, video of the actual presentations.</p>
<p><!-- 		@page { margin: 0.79in } 		P { margin-bottom: 0.08in } -->My presentation was titled &#8220;Improving Efficiency and Usability with CSS3.&#8221; I talked about how CSS3 is about more than making things look pretty (though it&#8217;s really good at that too). Many CSS3 techniques can reduce your development times, decrease page loading times, improve usability, and increase the adaptability of your pages to different devices (including iPads and iPhones). I talked about which pieces of CSS3 you can add to your web sites right now and how they might benefit your projects in tangible ways.</p>
<p><span id="more-369"></span>If you&#8217;d like to check out the slides, here they are:</p>
<p><a href="http://zomigi.com/downloads/Efficiency-Usability-CSS3_100626-ConvergeSE.pdf">Improving Efficiency and Usability with CSS3 (PDF, 1.4 mb)</a></p>
<p>Here are just a few links to related resources that I couldn&#8217;t put in the slides but which you might find useful:</p>
<ul>
<li><a rel="nofollow" href="http://www.smashingmagazine.com/2010/06/17/start-using-css3-today-techniques-and-tutorials/">Start Using CSS3 Today: Techniques and Tutorials</a></li>
<li><a href="http://www.smashingmagazine.com/2009/10/26/modern-css-layouts-the-essential-characteristics/">Modern CSS Layouts: The Essential Characteristics</a></li>
<li><a href="http://www.smashingmagazine.com/2010/05/06/modern-css-layouts-part-2-the-essential-techniques/">Modern CSS Layouts, Part 2: The Essential Techniques</a></li>
<li><a rel="nofollow" href="http://www.awayback.com/css3-and-veer-navigation/">CSS3 and Veer navigation</a></li>
<li><a href="http://www.position-absolute.com/articles/how-to-get-css3-box-shadow-accepted-as-a-viable-option-at-your-workplace/">How to: Get CSS3 box-shadow and border-radius accepted as a viable option at your workplace</a></li>
<li><a rel="nofollow" href="http://www.alistapart.com/articles/prefix-or-posthack/">Prefix or Posthack</a></li>
<li><a rel="nofollow" href="http://www.alistapart.com/articles/taking-advantage-of-html5-and-css3-with-modernizr/">Taking Advantage of HTML5 and CSS3 with Modernizr</a></li>
<li><a rel="nofollow" href="http://blog.iwalt.com/2010/06/targeting-the-iphone-4-retina-display-with-css3-media-queries.html">Targeting the iPhone 4 Retina Display with CSS3 Media Queries</a></li>
<li><a rel="nofollow" href="http://www.quirksmode.org/blog/archives/2010/04/the_orientation.html">The orientation media query</a></li>
<li><a rel="nofollow" href="http://mislav.uniqpath.com/2010/04/targeted-css/">Detecting device size &amp; orientation in CSS</a></li>
</ul>
<p>I&#8217;ll be giving an expanded version of this presentation at both <a href="http://CSSsummit.com/">the 2nd Annual CSS Summit online conference</a> on July 28 and at <a href="http://north10.webdirections.org/">Web Directions USA</a> in Atlanta on September 24.</p>
<p>Registration for the CSS Summit is only $149, but you can <a href="http://CSSsummit.com/">get 10% off</a> by using the discount code <strong>CSSGILLENWATER </strong>when you sign up.</p>
]]></content:encoded>
			<wfw:commentRss>http://zomigi.com/blog/convergese-2010-and-upcoming-conferences/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Announcing my new book, Stunning CSS3</title>
		<link>http://zomigi.com/blog/announcing-my-new-book-stunning-css3/</link>
		<comments>http://zomigi.com/blog/announcing-my-new-book-stunning-css3/#comments</comments>
		<pubDate>Wed, 05 May 2010 13:35:57 +0000</pubDate>
		<dc:creator>Zoe Gillenwater</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[books]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[Stunning CSS3]]></category>

		<guid isPermaLink="false">http://zomigi.com/?p=360</guid>
		<description><![CDATA[I'm currently writing a new book called Stunning CSS3: A Project-based Guide to the Latest in CSS. It's on...wait for it...CSS3.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve already written a <a href="http://www.flexiblewebbook.com/">book</a> and been <a href="http://zomigi.com/blog/a-new-addition/">pregnant</a>, and in some ways they&#8217;re very similar experiences. (Besides the fact that they both take 9 months. Seriously, it seems like every web design author I know took about 9 months to write his or her book. Weird, huh?) You get yourself into the situation on purpose, but somewhere through you ask yourself why you&#8217;re putting yourself through so much misery. But you&#8217;re excited, and you deal with all of the discomfort and stress, and at the end there&#8217;s this awesome creation you have to show for all your work. And you say, that was great, really glad I did that, don&#8217;t want to do it again any time soon. But as time goes by you forget, and you tell yourself it wasn&#8217;t so bad, and you start thinking you want to do it again.</p>
<p>So, I&#8217;m not pregnant again, but I am working on my second book. And I&#8217;m not even miserable! It&#8217;s called <strong><a href="http://www.stunningcss3.com/"><em>Stunning CSS3: A Project-based Guide to the Latest in CSS</em></a></strong>. <span id="more-360"></span>&#8220;Project-based&#8221; means each chapter is its own little standalone project, where I guide you step by step through creating a web component or page with cool but practical CSS3 techniques. (Kind of like <em>Bulletproof Web Design</em> or <em>Handcrafted CSS</em>.) It should be available some time this fall. It&#8217;s being published by Peachpit/New Riders, the same people who did my book <em>Flexible Web Design</em>. I had a great experience working with them and they put out great books, so I&#8217;m happy to be working with them again.</p>
<p>If you want a reminder about the book when it&#8217;s released, sign up on the book&#8217;s web site at <a href="http://www.stunningcss3.com/">www.stunningcss3.com</a>. I won&#8217;t spam you, I promise. That web site will also be the place where example files, bonus materials, and the like are housed once they&#8217;re available. In the meantime, you can go there to learn a bit more about what the book will cover.</p>
<p>Of course, I had to add lots of CSS3 effects to the Stunning CSS3 site. Plus, it&#8217;s written in HTML5, and the layout is flexible too (elastic, to be precise). Go view source and enjoy. It&#8217;s not going to look the same in every browser, but if you see something that you think is just plain wrong or broken, shoot me a note and let me know.</p>
]]></content:encoded>
			<wfw:commentRss>http://zomigi.com/blog/announcing-my-new-book-stunning-css3/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Deal-breaker problems with CSS3 multi-columns</title>
		<link>http://zomigi.com/blog/deal-breaker-problems-with-css3-multi-columns/</link>
		<comments>http://zomigi.com/blog/deal-breaker-problems-with-css3-multi-columns/#comments</comments>
		<pubDate>Fri, 02 Apr 2010 15:36:48 +0000</pubDate>
		<dc:creator>Zoe Gillenwater</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[browsers]]></category>
		<category><![CDATA[columns]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[layout]]></category>
		<category><![CDATA[W3C]]></category>

		<guid isPermaLink="false">http://zomigi.com/?p=328</guid>
		<description><![CDATA[Firefox and Webkit support some of the CSS3 multi-column layout properties—but not very well. Unfortunately, the spec isn't very clear about what's correct. Until the spec is clearer and the browser problems are ironed out, multi-columns are useless to me.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been playing around with the <a href="http://www.w3.org/TR/css3-multicol/">new multi-column properties of CSS3</a> (<code>column-count</code>, <code>column-width</code>, and so forth), and I&#8217;ve come to the conclusion that they&#8217;re sadly not ready to really use. Sure, use them in experimental sites, and maybe even in mainstream sites in small doses with very particular types of content. But for most content, I found that there&#8217;s not enough control over how the content is distributed between columns to make them reliable. I&#8217;m not sure if the browser behavior I&#8217;ve been seeing is correct or not; the spec is unfortunately not well defined enough to make it clear—at least to me—of how browsers ought to be handling some of the problems I ran across.</p>
<h3>Balancing column heights</h3>
<p>The first problem is how the browser should handle one or more extra lines of content if the amount of content cannot fill up each column equally. In my opinion, the extra content should come at the bottom of the first columns, so that columns further to the right are never longer than columns further to the left. This is pretty standard practice in print design, and having it any other way just looks really strange. At least to me. Take a look and you decide:<span id="more-328"></span></p>
<div id="attachment_343" class="wp-caption alignnone" style="width: 510px"><a href="http://zomigi.com/wp-content/uploads/2010/04/multicolumn_balance1.gif"><img class="size-full wp-image-343" title="multicolumn_balance1" src="http://zomigi.com/wp-content/uploads/2010/04/multicolumn_balance1.gif" alt="" width="500" height="55" /></a><p class="wp-caption-text">The last column has one extra list item and line than the previous columns.</p></div>
<div id="attachment_338" class="wp-caption alignnone" style="width: 510px"><a href="http://zomigi.com/wp-content/uploads/2010/04/multicolumn_balance2.gif"><img class="size-full wp-image-338" title="multicolumn_balance2" src="http://zomigi.com/wp-content/uploads/2010/04/multicolumn_balance2.gif" alt="" width="500" height="27" /></a><p class="wp-caption-text">Doesn&#39;t this look weird?</p></div>
<div id="attachment_343" class="wp-caption alignnone" style="width: 510px"><a href="http://zomigi.com/wp-content/uploads/2010/04/multicolumn_balance3.gif"><img class="alignnone size-full wp-image-339" title="multicolumn_balance3" src="http://zomigi.com/wp-content/uploads/2010/04/multicolumn_balance3.gif" alt="" width="500" height="220" /></a><p class="wp-caption-text">Another example of the last column being longest.</p></div>
<p>You can check out the <a href="http://www.zomigi.com/demo/multicolumn_balance.html">first demo page</a> yourself. Resize the window and see how each browser handles column number, placement, and height.</p>
<p>It seems like the <a href="http://www.w3.org/TR/css3-multicol/#filling-columns"><code>column-fill</code> property</a> is supposed to address this problem, but I may be misunderstanding what it&#8217;s supposed to do. In any case, my testing has shown that no browser supports it, even with browser-specific prefixes. So, we&#8217;re left with these unbalanced, awkward looking columns.</p>
<p>In some cases, I understand why the browser is making later columns taller than earlier ones. For instance, there&#8217;s a bottom margin on one of paragraphs that happens  to fall at the end of one of the columns, leaving a gap and making that  column shorter than the following column. I know there are cases when this behavior is desirable and necessary given the content. But we ought to be able to control it, and we can&#8217;t right now, and the default browser decisions about how to fill look weird to me in many cases.</p>
<h3>Flowing margin and padding across columns</h3>
<p>The second problem is how the browser should handle margin and padding on elements inside the columns. Webkit will let margin and padding be split in between columns; even when it doesn&#8217;t split a bottom margin, it will often let the entire margin show up at the top of a column. This can result in some extremely ugly and bizarre stuff:</p>
<div id="attachment_342" class="wp-caption alignnone" style="width: 510px"><a href="http://zomigi.com/wp-content/uploads/2010/04/multicolumn_margin1.gif"><img class="alignnone size-full wp-image-341" title="multicolumn_margin1" src="http://zomigi.com/wp-content/uploads/2010/04/multicolumn_margin1.gif" alt="" width="500" height="227" /></a><p class="wp-caption-text">Safari and Chrome break margin and padding between columns.</p></div>
<p>Check out the <a href="http://www.zomigi.com/demo/multicolumn_margin.html">second demo page</a> with extra margin and padding added.</p>
<p>Firefox, on the other hand, expands the height of the column area to accommodate the padding, and let&#8217;s margin escape out the bottom (margin collapsing at work, I guess) rather than letting it show up at the top of a column.</p>
<div id="attachment_342" class="wp-caption alignnone" style="width: 510px"><a href="http://zomigi.com/wp-content/uploads/2010/04/multicolumn_margin2.gif"><img class="size-full wp-image-342" title="multicolumn_margin2" src="http://zomigi.com/wp-content/uploads/2010/04/multicolumn_margin2.gif" alt="" width="500" height="156" /></a><br />
<p class="wp-caption-text">Firefox makes the bottom margins on the last items in the columns just  disappear, instead of splitting those margins across columns or allowing  them to show at the top of a column.</p></div>
<p>Again, the spec doesn&#8217;t seem to say anything about which implementation is correct (does it?), but in my opinion, the way Webkit handles it just has to be wrong. Margin and padding are never ever split, are they? And even if they are split in other non-column CSS layout scenarios, it certainly doesn&#8217;t make sense to do it in columns. Again, it breaks with print design conventions; while I know web design does not have to emulate print, there are certain typographic conventions that we&#8217;ve preserved on the web for readability&#8217;s sake, and breaking them would make most people say it looked &#8220;wrong.&#8221; I think this is one of those cases, and in my opinion, it&#8217;s the biggest deal-breaker for using columns right now. Or at least, using them in Webkit-based browsers.</p>
<p>Again, if there are fringe cases where it makes the most sense to split the margin and/or padding, by all means let&#8217;s do it. But we need a CSS property to control that, and it doesn&#8217;t look like there is one in the spec now. So for now, I hope Webkit changes how they handle this to match up with Firefox&#8217;s more intuitive choice, and that the W3C clarifies this in the spec.</p>
<h3>Breaking content across columns</h3>
<p>Finally, the third problem is that neither Firefox nor Webkit seem to support the <a href="http://www.w3.org/TR/css3-multicol/#column-breaks">column break properties</a>. For instance, adding <code>break-inside: avoid-column;</code> to the <code>li</code> elements should keep the content in each list item from breaking across columns. Unfortunately, it doesn&#8217;t work right now.</p>
<div id="attachment_340" class="wp-caption alignnone" style="width: 510px"><a href="http://zomigi.com/wp-content/uploads/2010/04/multicolumn_break1.gif"><img class="size-full wp-image-340" title="multicolumn_break1" src="http://zomigi.com/wp-content/uploads/2010/04/multicolumn_break1.gif" alt="" width="500" height="139" /></a><p class="wp-caption-text">The text &quot;Start sociis natoque end&quot; is all one list item, but both Webkit and Firefox break content within the list items.</p></div>
<p>The <a href="http://www.zomigi.com/demo/multicolumn_break.html">third demo page</a> is the same as the first one, but it has the <code>break-inside</code> properties added. As you can see, it behaves the same as the first demo.</p>
<p>Controlling breaking isn&#8217;t necessarily a big deal with a simple series of paragraphs, but it becomes more important on lists with brief list items, as shown in the image above, and when you have headings mixed in the text, as you definitely want to make sure that headings stay with their following text. Not having support for the breaking properties can really impede usability and limits the usefulness of multi-columns.</p>
<h3>Next steps? Workarounds?</h3>
<p>Given these problems, multi-column layout isn&#8217;t very useful to me right now. Honestly, it&#8217;s always been something that I&#8217;ve thought should be used only sparingly, in very particular cases. But with these problems, I&#8217;m not going to use it in <em>any </em>cases. I&#8217;m really hoping that the spec continues to evolve and that browsers continue to update their implementation of these features. (I&#8217;m mainly looking at you, Webkit.)</p>
<p>In the meantime, if anyone has any workarounds for these problems, I&#8217;d love to hear them!</p>
]]></content:encoded>
			<wfw:commentRss>http://zomigi.com/blog/deal-breaker-problems-with-css3-multi-columns/feed/</wfw:commentRss>
		<slash:comments>36</slash:comments>
		</item>
		<item>
		<title>70+ essential resources for creating liquid and elastic layouts</title>
		<link>http://zomigi.com/blog/essential-resources-for-creating-liquid-and-elastic-layouts/</link>
		<comments>http://zomigi.com/blog/essential-resources-for-creating-liquid-and-elastic-layouts/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 20:05:57 +0000</pubDate>
		<dc:creator>Zoe Gillenwater</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[elastic]]></category>
		<category><![CDATA[flexible]]></category>
		<category><![CDATA[Flexible Web Design]]></category>
		<category><![CDATA[liquid]]></category>

		<guid isPermaLink="false">http://zomigi.com/?p=270</guid>
		<description><![CDATA[Check out these great online resources on creating liquid/fluid and elastic layouts, including sources for design inspiration, downloadable templates, frameworks, articles and tutorials.]]></description>
			<content:encoded><![CDATA[<p>I often get asked for my recommendations of resources to learn how to create liquid/fluid and elastic layouts. My first answer is, of course, my own book <a href="http://zomigi.com/publications/#pub-fwd"><em>Flexible Web Design: Creating Liquid and Elastic Layouts with CSS</em></a>. Hey, is it so bad to be proud of your work? It&#8217;s the only book out there entirely devoted to designing and building flexible web sites, and the dozens of layout techniques it covers can also be applied to fixed-width design. But I&#8217;ll shut up about my book now; if you&#8217;re not the book-buying type, here are over 70 online resources to get you started creating attractive and robust flexible web pages.</p>
<h2>Design inspiration</h2>
<p>It&#8217;s always helpful to look at existing liquid and elastic sites to get inspiration for how to design your own. I&#8217;ve pulled together several sources of flexible design inspiration in a couple former blog posts on my site:</p>
<ul>
<li><a href="http://zomigi.com/blog/inspiration-for-flexible-web-design/">Inspiration for flexible web design</a></li>
<li><a href="http://zomigi.com/blog/the-liquid-web-site-motherload/">The liquid web site motherload</a></li>
</ul>
<h2>Templates</h2>
<p>Even if you don&#8217;t read my book, you can <a href="http://www.flexiblewebbook.com/files.html">download the example and exercise files</a> from the book&#8217;s companion site. They essentially give you several <a href="http://www.flexiblewebbook.com/files.html">liquid and elastic layout templates or starter pages</a> that you can use to build your own liquid and elastic sites.</p>
<p>Here are some other layout templates:</p>
<ul>
<li>Matthew James Taylor&#8217;s <a href="http://matthewjamestaylor.com/blog/perfect-multi-column-liquid-layouts">liquid</a> and <a href="http://matthewjamestaylor.com/blog/ultimate-multi-column-liquid-layouts-em-and-pixel-widths">elastic layouts</a></li>
<li><a href="http://blog.html.it/layoutgala/">Layout Gala liquid layouts</a></li>
<li><a href="http://layouts.ironmyers.com/100_percent_Layouts/">IronMyers liquid layouts</a></li>
<li><a href="http://css-tricks.com/downloads/layouts-templates/">CSS-Tricks liquid layouts</a> (see &#8220;Layout Packs&#8221; third on page)</li>
<li><a href="http://www.dynamicdrive.com/style/layouts/category/C13/">Dynamic Drive CSS liquid layouts</a></li>
<li><a href="http://themeforest.net/browse/attributes/layout/liquid">ThemeForest&#8217;s liquid fully-designed templates</a></li>
<li><a href="http://wordpress.org/extend/themes/tags/flexible-width">WordPress flexible themes</a></li>
</ul>
<p><span id="more-270"></span>Here are some frameworks and grid systems that allow you to make liquid and/or elastic layouts:</p>
<ul>
<li><a href="http://www.fluidgrid.net/">Fluid Grid framework</a></li>
<li><a href="http://fluid.newgoldleaf.com/">Fluid Grid System framework</a></li>
<li><a href="http://designinfluences.com/fluid960gs/">Fluid 960 Grid System</a></li>
<li><a href="http://aplus.rs/css/em-based-typographic-grid/">aplus elastic grid</a></li>
<li><a href="http://elasticss.com/">Elastic framework</a> (elastic and liquid)</li>
<li><a href="http://code.google.com/p/emastic/">Emastic framework</a> (elastic and liquid)</li>
<li><a href="http://developer.yahoo.com/yui/grids/">YUI Grids CSS</a> (liquid)</li>
<li><a href="http://www.yaml.de/en/home.html">YAML framework</a> (elastic and liquid)</li>
<li><a href="http://www.1kbgrid.com/">The 1kb CSS Grid</a> can be adapted for liquid layouts (see description halfway through <a href="http://www.usabilitypost.com/2009/06/19/the-1kb-css-grid-part-3/">this article</a>)</li>
</ul>
<h2>Articles</h2>
<p>Here are some general articles on the what and why of flexible layouts:</p>
<ul>
<li><a href="http://www.flexiblewebbook.com/downloads/FlexibleWebDesign_sample_ch1.pdf">Sample of Chapter 1: Understanding Flexible Layouts</a> (PDF, from Flexible Web Design book)</li>
<li><a href="http://www.smashingmagazine.com/2009/06/02/fixed-vs-fluid-vs-elastic-layout-whats-the-right-one-for-you/">Fixed vs. Fluid vs. Elastic Layout: What’s The Right One For You?</a> (Smashing Magazine)</li>
<li><a href="http://green-beast.com/blog/?p=199">CSS Layouts: The Fixed. The Fluid. The Elastic.</a> (Beast-Blog.com)</li>
<li><a href="../blog/why-browser-zoom-shouldnt-kill-flexible-layouts/">Why browser zoom shouldn’t kill flexible layouts</a></li>
<li><a title="Permanent Link: Elastic layout – wrong term?" rel="bookmark" href="http://alastairc.ac/2007/01/elastic-layout-wrong-term/">Elastic layout – wrong term?</a> (AlastairC)</li>
<li><a href="http://alastairc.ac/2006/05/accessible-layouts/">Accessible layouts</a> (AlastairC)</li>
<li><a href="http://www.sitepoint.com/blogs/2009/04/17/flexible-designs-dying-out/">Where Have All the Flexible Designs Gone?</a> (Sitepoint)</li>
<li><a href="http://www.smashingmagazine.com/2008/06/26/flexible-layouts-challenge-for-the-future/">Flexible Layouts: Challenge For The Future</a> (Smashing Magazine)</li>
<li><a href="http://www.alistapart.com/articles/elastic/">Elastic Design</a> (A List Apart)</li>
<li><a href="http://adactio.com/journal/1156">Fixtorati</a> (Adactio)</li>
<li><a href="http://www.maxdesign.com.au/presentation/liquid-layouts/index.htm">Liquid layouts using CSS &#8211; the joy, the pain, the tears</a> (presentation at Web Essentials 05)</li>
</ul>
<p>Understanding min-width and max-width is essential to working with flexible layouts:</p>
<ul>
<li>Sitepoint&#8217;s CSS reference on <a href="http://reference.sitepoint.com/css/min-width">min-width</a> and <a href="http://reference.sitepoint.com/css/max-width">max-width</a></li>
<li><a href="http://www.flexiblewebbook.com/downloads/FlexibleWebDesign_MinMaxIE.pdf">Add min-width and max-width Support in Internet Explorer 6</a> (PDF, from Flexible Web Design book)</li>
</ul>
<p>Understanding line lengths is also essential. Although popular belief is that there&#8217;s a narrow band of line lengths that are ideal for everyone&#8217;s reading comfort, the (limited) research that&#8217;s been done on on-screen reading suggests that there is a much larger range of effective line lengths, and that there is a difference between preference and efficacy. Age, disability, reading level, native language, leading, and other factors can all impact which line lengths are most effective for specific individuals in specific situations. See these articles for details:</p>
<ul>
<li><a href="http://www.viget.com/advance/the-line-length-misconception/">The Line Length Misconception</a> (Viget Advance)</li>
<li><a href="http://www.usability.gov/pubs/082006news.html">Reading Onscreen: The Effects of Line Length on Performance</a> (usability.gov)</li>
<li><a href="http://www.surl.org/usabilitynews/72/LineLength.asp">The Effects of Line Length on Reading Online News</a> (SURL Usability News)</li>
<li><a href="http://www.surl.org/usabilitynews/42/text_length.asp">The Effects of Line Length on Children and Adults&#8217; Online Reading Performance</a> (SURL Usability News)</li>
<li><a href="http://webusability.com/article_line_length_12_2002.htm">Optimal Line Length: Research Supporting How Line Length Affects Usability</a> (webusability.com)</li>
<li><a href="http://www.humanfactors.com/downloads/feb03.asp">Reading Text Online</a> (UI Design Newsletter)</li>
<li><a href="http://cssing.blogspot.com/2004/08/line-length-is-not-different-than-any.html">Line-length is not different than any other user preference</a> (CSSing)</li>
</ul>
<h2>Tutorials</h2>
<p>Here are tutorials on creating multiple-column liquid and elastic layouts:</p>
<ul>
<li><a href="http://www.maxdesign.com.au/presentation/liquid/index.htm">Liquid layouts the easy way</a> (Max Design)</li>
<li><a href="http://www.webreference.com/authoring/style/sheets/css_mastery2/">CSS Mastery: Fixed-Width, Liquid, and Elastic Layouts and Faux Columns</a> (excerpt from CSS Mastery on webreference.com)</li>
<li><a href="http://www.456bereastreet.com/archive/200504/fixed_or_fluid_width_elastic/">Fixed or fluid width? Elastic!</a> (456 Berea Street)</li>
<li><a href="http://www.communitymx.com/abstract.cfm?cid=DB750">Creating Elastic Layouts with the em Unit</a> (Community MX)</li>
<li><a href="http://jontangerine.com/log/2007/09/the-incredible-em-and-elastic-layouts-with-css">The Incredible Em &amp; Elastic Layouts with CSS</a> (Jon Tan)</li>
<li><a href="http://www.alistapart.com/articles/fluidgrids/">Fluid Grids</a> (A List Apart)</li>
<li><a href="http://www.markboulton.co.uk/journal/comments/five-simple-steps-to-designing-grid-systems-part-5">Five simple steps to designing grid systems — Part 5</a> (on liquid grids, by Mark Boulton)</li>
<li><a href="http://christopherschmitt.com/2007/10/23/css-floats-to-display-columns-in-any-order/">CSS Floats to Display Columns in Any Order</a> (Christopher Schmitt)</li>
<li><a href="http://forabeautifulweb.com/blog/about/changingman_layout_updated">Changingman layout (updated)</a> (also a template, from For a Beautiful Web)</li>
<li><a href="http://24ways.org/2006/intricate-fluid-layouts">Intricate Fluid Layouts in Three Easy Steps</a> (24 Ways)</li>
<li><a href="http://www.alistapart.com/articles/holygrail/">In Search of the Holy Grail</a> (A List Apart)</li>
<li><a href="http://www.alistapart.com/articles/negativemargins/">Creating Liquid Layouts with Negative Margins</a> (A List Apart)</li>
<li><a href="http://www.smashingmagazine.com/2009/07/27/the-definitive-guide-to-using-negative-margins/">The Definitive Guide to Using Negative Margins</a> (Smashing Magazine)</li>
<li><a href="http://www.mindfly.com/blog/post/2009/01/12/Get-Refreshed-Liquid-Layouts-With-Simpler-CSS-and-Without-A-Semantic-Mess.aspx">Get Refreshed: Liquid Layouts With Simpler CSS and Without A Semantic Mess</a> (Mindfly)</li>
<li><a href="http://www.alistapart.com/articles/multicolumnlayouts/">Multi-Column Layouts Climb Out of the Box</a> (A List Apart)</li>
<li><a href="http://boagworld.com/design/fluid-elastic-design"><span style="position: relative;">Fluid elastic design</span></a> (Boagworld)</li>
<li><a href="http://www.peachpit.com/articles/article.aspx?p=1322358">Using the Liquid CSS Layouts in Dreamweaver CS4</a> (excerpt from Mastering CSS with Dreamweaver CS4 on peachpit.com)</li>
<li><a href="http://www.socialgeek.be/blog/read/flexible-equal-height-columns">Flexible equal height columns</a> (SocialGeek)</li>
<li><a href="http://valums.com/vertical/">Vertical Centering with CSS</a> (Andrew Valums)</li>
</ul>
<p>Creating successful flexible pages is about more than just the layout; you have to make sure the content inside the layout can be flexible too. Here are tutorials on making content, backgrounds, and other effects work with flexible layouts:</p>
<ul>
<li><a href="http://www.communitymx.com/abstract.cfm?cid=AFC58">Creating Liquid Faux Columns</a> (Community MX)</li>
<li><a href="http://nickcowie.com/2005/elastic-faux-columns/">Elastic Faux Columns</a> (Nick Cowie)</li>
<li><a href="http://www.sohtanaka.com/web-design/smart-columns-w-css-jquery/">Smart Columns w/ CSS &amp; jQuery</a> (Soh Tanaka)</li>
<li><a href="http://css-tricks.com/equidistant-objects-with-css/">Equidistant Objects with CSS</a> (CSS-Tricks)</li>
<li><a href="http://www.flexiblewebbook.com/downloads/FlexibleWebDesign_sample_ch9.pdf">Sample of Chapter 9: Creating Flexible Images</a> (PDF, from Flexible Web Design book)</li>
<li><a href="../blog/foreground-images-that-scale-with-the-layout/">Foreground images that scale with the layout</a> (pure CSS solution)</li>
<li><a href="http://buildinternet.com/2009/07/quick-tip-resizing-images-based-on-browser-window-size/">Quick Tip – Resizing Images Based On Browser Window Size</a> (JavaScript solution, from Build Internet!)</li>
<li><a href="../blog/creating-sliding-composite-images/">Creating sliding composite images</a></li>
<li><a href="../blog/css-effect-space-images-out-to-match-text-height/">CSS effect: space images out to match text height</a></li>
<li><a href="../blog/hiding-and-revealing-portions-of-images/">Hiding and revealing portions of images</a></li>
<li><a href="http://www.sitepoint.com/blogs/2007/12/20/stretchy-images-with-html-and-css/">Stretchy Images with HTML and CSS</a> (Sitepoint)</li>
<li><a href="http://friedcellcollective.net/outbreak/2009/10/04/fluid-searchbox/">Fluid searchbox</a> (outbreak)</li>
</ul>
<p>This should keep you busy for a while, no? I hope this will be the start of some lovely liquid and elastic designs for you, folks! Drop me a line if you have one you want to show off; I love seeing other people&#8217;s great work.</p>
<p class="note"><a href="http://digg.com/design/70_essential_resources_for_creating_liquid_elastic_layouts">Digg</a> this article if you enjoyed it. Thanks!</p>
]]></content:encoded>
			<wfw:commentRss>http://zomigi.com/blog/essential-resources-for-creating-liquid-and-elastic-layouts/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>Roundup of Font Embedding and Replacement Techniques</title>
		<link>http://zomigi.com/blog/roundup-of-font-embedding-and-replacement-techniques/</link>
		<comments>http://zomigi.com/blog/roundup-of-font-embedding-and-replacement-techniques/#comments</comments>
		<pubDate>Thu, 17 Sep 2009 14:58:17 +0000</pubDate>
		<dc:creator>Zoe Gillenwater</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[fonts]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[links]]></category>
		<category><![CDATA[typography]]></category>

		<guid isPermaLink="false">http://zomigi.com/?p=242</guid>
		<description><![CDATA[There are more options than ever for getting unique, good-lookin' fonts into your pages. Apart from @font-face, here are your options for font embedding services and font replacement techniques.]]></description>
			<content:encoded><![CDATA[<p class="note">This post was last updated February 2010</p>
<p>Although <code>@font-face</code>, the CSS method for embedding and using any font in a web page, now enjoys <a href="http://webfonts.info/wiki/index.php?title=@font-face_browser_support">rather good browser support</a>, it still has some limitations that keep people from using it. Chief among these is the fact that the license of most fonts, even free ones, do not allow re-distribution over the web using <code>@font-face</code>. Because of this, a number of services and technologies are springing up that provide alternate ways to get non-standard fonts into your pages. I was unable to find any place that listed all of the major <code>@font-face</code> alternatives, so I decided to do my own roundup to provide the basic info on each.</p>
<p>This roundup of alternatives is not meant to discourage the use of <code>@font-face</code>. In the spirit of <a href="http://en.wikipedia.org/wiki/Progressive_enhancement">progressive enhancement</a>, I wholeheartedly think it&#8217;s ready to use (with the <a href="http://webfonts.info/wiki/index.php?title=Fonts_available_for_%40font-face_embedding">right fonts</a>, of course). But, in case you are unable or unwilling to use a pure <code>@font-face</code> solution, or you&#8217;re just curious what your other options are, here&#8217;s are the most popular services and techniques out there for you right now.</p>
<p class="note">Note: This a rapidly evolving area of web design. These solutions are going to change and more are going to be added. I will try to keep this page updated as things change, but if any of the changes are so big that it makes the most sense to just create a new page, I&#8217;ll do that instead. Either way, I&#8217;ll post a note here indicating where the latest updates are.</p>
<h3>Font Embedding Services</h3>
<p>These services all make use of <code>@font-face</code>, but make implementation easier by helping you work around the browser differences. They also all get around the legal issue of font embedding by providing you with a set of fonts that are licensed for this type of use and impossible or difficult for end users to steal.</p>
<h4><a href="http://typekit.com/">Typekit</a></h4>
<h5>Status</h5>
<p>Open to all.</p>
<h5>Method</h5>
<p>Subscription to a font library from multiple foundries by month or year. JavaScript used to connect your site with remote font library. You customize CSS to work with the selectors and tags you need, as well as create a font stack to be used as a fallback if <code>@font-face</code> is not supported, but the CSS is in the JavaScript, not your own sheet. sIFR and Cufón will also be used as fallbacks.</p>
<h5>Pricing</h5>
<p><a href="http://en.wikipedia.org/wiki/Freemium">Freemium</a>. Free &#8220;Trial&#8221; account gives access to smallest number of fonts and can be used on one web site. &#8220;Personal&#8221; account for $24.99/year, &#8220;Portfolio&#8221; account for $49.99/year, and &#8220;Corporate&#8221; account for $49.99/month increase limits on fonts, bandwidth, and number of sites.</p>
<h5>More Info</h5>
<ul>
<li><a href="http://forabeautifulweb.com/blog/about/first_impressions_of_typekit/">First impressions of Typekit</a></li>
<li><a href="http://carsonified.com/blog/design/fonts/getting-started-with-typekit/">Getting Started with Typekit</a></li>
<li><a href="http://css-tricks.com/video-screencasts/69-first-ten-minutes-with-typekit/">First Ten Minutes with TypeKit</a></li>
<li><a href="http://www.sawmac.com/etc/2009/06/23/a-few-thoughts-on-typekit/">A Few Thoughts on TypeKit</a></li>
</ul>
<p><span id="more-242"></span></p>
<h4><a href="http://fontdeck.com/">Fontdeck</a></h4>
<h5>Status</h5>
<p>In development. <a href="http://fontdeck.com/">Sign up on home page</a> to get details when they become available.</p>
<h5>Method</h5>
<p>Supposedly similar to Typekit&#8217;s, but details unknown. Font library will be from multiple foundries.</p>
<h5>Pricing</h5>
<p>Unknown.</p>
<h4><a href="http://www.kernest.com/">Kernest</a></h4>
<h5>Status</h5>
<p>Open to all.</p>
<h5>Method</h5>
<p>A la carte font selection from multiple foundries. Select fonts you want to use and paste generated CSS into your style sheet. No JavaScript involved.</p>
<h5>Pricing</h5>
<p>Pay yearly subscription for each font individually, per domain. Many fonts free.</p>
<h5>More Info</h5>
<ul>
<li><a href="http://www.pigsgourdsandwikis.com/2009/08/using-new-fonts-from-kernest-on-blogger.html">Using new fonts from Kernest on Blogger</a></li>
<li><a href="http://shortformblog.com/tech/the-importance-of-knowing-kernest-pretty-high-your-move-typekit">The importance of knowing Kernest: Pretty high. Your move, TypeKit.</a></li>
<li><a href="http://readableweb.com/an-interview-with-kernests-garrick-van-buren/">An Interview With Kernest’s Garrick Van Buren</a></li>
</ul>
<h4><a href="http://www.typotheque.com/webfonts">Typotheque</a></h4>
<h5>Status</h5>
<p>Open to all.</p>
<h5>Method</h5>
<p>Fonts come only from the Typotheque foundry. Select fonts you want to use and paste generated CSS into your style sheet. No JavaScript involved.</p>
<h5>Pricing</h5>
<p>Pay one-time fee for each font individually. Buying installable print version of font for full-price (including access to web version) or web-only version for 20% of full font price. Extra charges for bandwidth over 500 MB.</p>
<h5>More Info</h5>
<ul>
<li><a href="http://forabeautifulweb.com/blog/about/testing_typotheque_font-face_embedding/">Testing Typotheque @font-face embedding</a></li>
<li><a href="http://nimbupani.com/blog/multi-lingual-fonts-with-typotheque-and-font-face.html">Multi-Lingual Fonts with Typotheque and Font Face</a></li>
<li><a href="http://blog.rdsny.com/?p=294">Beta-testing Typotheque’s Font Embedding Technology</a></li>
</ul>
<h3>Font Replacement Techniques</h3>
<p>These techniques do not make use of <code>@font-face</code>, but instead use scripting and/or Flash to display fonts that are not on the user&#8217;s system. All of these techniques are free and open to all to use. None of them directly address the licensing issue, but none of them link directly to ready-to-use fonts, so copyright legality is not clear-cut.</p>
<h4><a href="http://wiki.novemberborn.net/sifr3/">sIFR (Scalable Inman Flash Replacement)</a></h4>
<p>Embed your font in a Flash SWF file. JavaScript converts chosen text on the page to Flash text, which can be selected and resized. Some styling handled in CSS and some in JavaScript. Rather difficult to set up.</p>
<h5>More Info</h5>
<ul>
<li><a href="http://www.sifrgenerator.com/">sIFR Generator</a></li>
<li><a href="http://www.sifrvault.com/">sIFRvault</a></li>
<li><a href="http://divitodesign.com/typography/implant-sifr3-healthy-alternative-browser-text/">Implant sIFR3 – A Healthy Alternative to Browser Text</a></li>
<li><a href="http://net.tutsplus.com/javascript-ajax/how-to-implement-sifr3-into-your-website/">How To Implement sIFR3 Into Your Website</a></li>
<li><a href="http://tylersticka.com/2009/09/cufon-and-sifr/">cufón and sIFR (A Visual Comparison)</a></li>
<li><a href="http://thinkclay.com/technology/cufon-sifr-flir">Cufon vs sIFR vs FLIR</a></li>
<li><a href="http://thatguynamedandy.com/blog/text-replacement-comparison">Text replacement comparison</a></li>
<li><a href="http://cssvault.com/blog/2009/07/29/text-replacement-roundup-the-pros-and-cons-of-sifr-cufon-typefacejs-and-flir/">Text Replacement Roundup: The Pros and Cons of SIFR, Cufon, Typeface.js, and FLIR</a></li>
<li><a href="http://paulirish.com/type/">Rich Typography Options for the Web</a></li>
</ul>
<h4><a href="http://wiki.github.com/sorccu/cufon/about">Cufón</a></h4>
<p><a href="http://cufon.shoqolate.com/generate/">Convert</a> your font to a proprietary JavaScript format and link to it and the main Cufón script. Specify CSS normally. Uses the HTML5 <code>canvas</code> element or VML to draw text. Contrary to popular belief, text selection is possible, you just can&#8217;t see the selection.</p>
<h5>More Info</h5>
<ul>
<li><a href="http://net.tutsplus.com/videos/screencasts/the-easiest-way-to-use-any-font-you-wish/">The Easiest Way to Use Any Font You Wish</a></li>
<li><a href="http://www.cameronmoll.com/archives/2009/03/cufon_font_embedding/">Exploring Cufón, a sIFR alternative for font embedding</a></li>
<li><a href="http://kilianvalkhof.com/2009/css-xhtml/combining-cufon-and-font-face/">Combining Cufón and @font-face</a></li>
<li><a href="http://tylersticka.com/2009/09/cufon-and-sifr/">cufón and sIFR (A Visual Comparison)</a></li>
<li><a href="http://thinkclay.com/technology/cufon-sifr-flir">Cufon vs sIFR vs FLIR</a></li>
<li><a href="http://kilianvalkhof.com/2009/javascript/cufon-vs-typefacejs-which-one-is-better/">Cufón vs. Typeface.js, which one is better?</a></li>
<li><a href="http://thatguynamedandy.com/blog/text-replacement-comparison">Text replacement comparison</a></li>
<li><a href="http://cssvault.com/blog/2009/07/29/text-replacement-roundup-the-pros-and-cons-of-sifr-cufon-typefacejs-and-flir/">Text Replacement Roundup: The Pros and Cons of SIFR, Cufon, Typeface.js, and FLIR</a></li>
<li><a href="http://paulirish.com/type/">Rich Typography Options for the Web</a></li>
</ul>
<h4><a href="http://typeface.neocracy.org/">typeface.js</a></h4>
<p>Same idea as Cufón, but somewhat lower performance and quality. <a href="http://typeface.neocracy.org/fonts.html">Convert</a> your font to a proprietary JavaScript format and link to it and the main typeface.js JavaScript library. Specify CSS normally. Uses the HTML5 <code>canvas</code> element or VML to draw text.</p>
<p><a href="http://www.typeselect.org/">TypeSelect</a> is based on an older version of typeface.js, but now that typeface.js supports text selection, it seems to be redundant.</p>
<h5>More Info</h5>
<ul>
<li><a href="http://kilianvalkhof.com/2009/javascript/cufon-vs-typefacejs-which-one-is-better/">Cufón vs. Typeface.js, which one is better?</a></li>
<li><a href="http://thatguynamedandy.com/blog/text-replacement-comparison">Text replacement comparison</a></li>
<li><a href="http://cssvault.com/blog/2009/07/29/text-replacement-roundup-the-pros-and-cons-of-sifr-cufon-typefacejs-and-flir/">Text Replacement Roundup: The Pros and Cons of SIFR, Cufon, Typeface.js, and FLIR</a></li>
<li><a href="http://paulirish.com/type/">Rich Typography Options for the Web</a></li>
</ul>
<h4><a href="http://facelift.mawhorter.net/">FLIR (Facelift Image Replacement)</a></h4>
<p>Uses PHP and JavaScript on a regular font file that you upload to your web server to dynamically generate images.</p>
<h5>More Info</h5>
<ul>
<li><a href="http://divitodesign.com/typography/install-flir-typography-solution-for-the-web/">Install FLIR – Typography Solution For The Web</a></li>
<li><a href="http://net.tutsplus.com/javascript-ajax/how-to-use-any-font-you-wish-with-flir/">How To Use Any Font You Wish With FLIR</a></li>
<li><a href="http://thinkclay.com/technology/cufon-sifr-flir">Cufon vs sIFR vs FLIR</a></li>
<li><a href="http://cssvault.com/blog/2009/07/29/text-replacement-roundup-the-pros-and-cons-of-sifr-cufon-typefacejs-and-flir/">Text Replacement Roundup: The Pros and Cons of SIFR, Cufon, Typeface.js, and FLIR</a></li>
<li><a href="http://paulirish.com/type/">Rich Typography Options for the Web</a></li>
</ul>
<h4><a href="http://www.xanthir.com/pir/">PIR (PHP Image Replacement)</a></h4>
<p>Uses PHP and jQuery on a regular font file that you upload to your web server to dynamically generate images.</p>
<h4><a href="http://fontjazz.com/">FontJazz</a></h4>
<p><a href="http://fontjazz.com/jazz">Convert</a> your font to an image containing each character in a specific size and color. A generated JavaScript for the font displays the appropriate character for each word.</p>
<h3>More Resources</h3>
<p>There are a ton of general articles and web sites out there about <code>@font-face</code>, font embedding services, font replacement methods, the politics of web fonts, and more. Here are just a few that I think are particularly helpful.</p>
<ul>
<li><a href="http://www.webfonts.info/wiki/index.php?title=Main_Page">Webfonts.info wiki</a></li>
<li><a href="http://hacks.mozilla.org/2009/06/beautiful-fonts-with-font-face/">Beautiful fonts with @font-face</a></li>
<li><a href="http://ilovetypography.com/2009/08/07/the-font-as-service/">The Font-as-Service</a></li>
<li><a href="http://opentype.info/blog/2009/07/29/why-webfont-services-are-the-future-of-fonts-on-the-web/">Why webfont services are the future of fonts on the web</a></li>
<li><a href="http://paulirish.com/2009/the-direction-forward-with-web-fonts/">The direction forward with web fonts</a></li>
<li><a href="http://forabeautifulweb.com/blog/about/designing_with_font-face_delivery_services/">Designing with @font-face delivery services</a></li>
<li><a href="http://readableweb.com/web-fonts-panorama-september-2009/">Web Fonts Panorama – September, 2009</a></li>
<li><a href="http://nicewebtype.com/notes/2009/09/13/woff/">WOFF, the web standard for type</a></li>
<li><a href="http://themechanism.com/blog/2009/04/16/typography-for-the-web-ny-web-standards-meetup/">Typography for the Web—NY Web Standards Meetup</a></li>
<li><a href="http://www.smashingmagazine.com/2009/10/22/rich-typography-on-the-web-techniques-and-tools/">Rich Typography On The Web: Techniques and Tools</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://zomigi.com/blog/roundup-of-font-embedding-and-replacement-techniques/feed/</wfw:commentRss>
		<slash:comments>28</slash:comments>
		</item>
		<item>
		<title>Me at The CSS Summit online conference</title>
		<link>http://zomigi.com/blog/css-summit/</link>
		<comments>http://zomigi.com/blog/css-summit/#comments</comments>
		<pubDate>Sat, 18 Jul 2009 19:30:35 +0000</pubDate>
		<dc:creator>Zoe Gillenwater</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[elastic]]></category>
		<category><![CDATA[flexible]]></category>
		<category><![CDATA[images]]></category>
		<category><![CDATA[liquid]]></category>
		<category><![CDATA[speaking]]></category>
		<category><![CDATA[visual design]]></category>

		<guid isPermaLink="false">http://zomigi.com/?p=216</guid>
		<description><![CDATA[Download the slides from my presentation at The CSS Summit online conference, as well as get links to related tutorials on designing flexible images.]]></description>
			<content:encoded><![CDATA[<p>I just gave my talk Designing CSS Layouts for the Flexible Web from my own little basement office for <a href="http://environmentsforhumans.com/">The CSS Summit online conference</a>. Yes, yes, I&#8217;ve given this presentation before, but of course I had to do a little bit of updating and improving, especially because this is the first time I gave it online instead of with a live audience. So, here are the new and improved slides for your downloading pleasure:</p>
<p><a href="http://www.zomigi.com/downloads/Designing-CSS-Layouts-Flexible-Web_Summit.pdf">Designing CSS Layouts for the Flexible Web (PDF, 5.5 mb)</a></p>
<p>Yes, it’s a big file—there are a lot of graphics in the PowerPoint. But I didn’t want to compress it very much and have all those graphics look distorted, since examining the graphics is the main point of the presentation.</p>
<p>There&#8217;s a little CSS in the presentation, but if you want more in-depth tutorials on the techniques alluded to in the presentation, I’ve written up many of them on this blog:</p>
<ul>
<li><a href="../blog/foreground-images-that-scale-with-the-layout/">Foreground images that scale with the layout</a></li>
<li><a href="../blog/hiding-and-revealing-portions-of-images/">Hiding and revealing portions of images</a></li>
<li><a href="../blog/creating-sliding-composite-images/">Creating sliding composite images</a></li>
<li><a href="http://zomigi.com/blog/css-effect-space-images-out-to-match-text-height/">Space images out to match text height</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://zomigi.com/blog/css-summit/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>The liquid web site motherload</title>
		<link>http://zomigi.com/blog/the-liquid-web-site-motherload/</link>
		<comments>http://zomigi.com/blog/the-liquid-web-site-motherload/#comments</comments>
		<pubDate>Thu, 16 Jul 2009 20:03:13 +0000</pubDate>
		<dc:creator>Zoe Gillenwater</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Inspiration]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[flexible]]></category>
		<category><![CDATA[layout]]></category>
		<category><![CDATA[liquid]]></category>
		<category><![CDATA[visual design]]></category>

		<guid isPermaLink="false">http://zomigi.com/?p=192</guid>
		<description><![CDATA[Check out Nomensa's portfolio for great examples of liquid site designs.]]></description>
			<content:encoded><![CDATA[<p>I feel like a kid in a candy store. A nerdy kid. Because I&#8217;ve hit the liquid web site motherload: <a href="http://www.nomensa.com/client-portfolio.html">Nomensa&#8217;s portfolio</a>.</p>
<p><a href="http://www.nomensa.com/">Nomensa</a> is a web agency specializing in accessibility and usability. Their own site is a nice example of a liquid design, and I&#8217;ve had it bookmarked for a while, but I finally got a chance to check out the sites in their portfolio. There are dozens and dozens of them, and almost all of them are liquid. (They also have a few elastic ones, and a few fixed-width.) Unfortunately, Nomensa doesn&#8217;t provide links to all of their work, but only a select few as case studies. But, you can google the names of the non-case-study clients, and you&#8217;ll find that most of these sites are liquid as well.</p>
<p>Now, I grant you, many of the sites are not terribly stylish. But they still are really useful to look at to get ideas for how to handle content and layout in liquid layouts. You could easily use the same techniques they&#8217;re using with a bit more spit and polish added.</p>
<p><span id="more-192"></span></p>
<p>Here are a few of the most well done liquid sites from Nomensa&#8217;s portfolio:</p>
<dl>
<dt><a href="http://www.barchamonline.co.uk/">Barcham Online</a></dt>
<dd>The header using seven images of tree foliage that expand and contract to fill the available space is very clever and attractive. Also check out the feature boxes on the home page and the thumbnail gallery under Our Trees. It&#8217;s notable that this is an e-commerce site, which you don&#8217;t often see liquid.</dd>
<dt><a href="http://www.broads-authority.gov.uk/">Broads Authority</a></dt>
<dd>I&#8217;m not in love with the overall look and feel of this site, but I appreciate the unique layout of the home page. The main image on the home page that has a text box below, which moves down as the text in the adjacent columns grows, revealing more of the image above, is very well done.</dd>
<dt><a href="http://www.preston.gov.uk/">Preston City Council</a></dt>
<dd>Another unique home page layout and neat use of &#8220;variable cropping&#8221; on the main photo. Be sure to check out the Gallery under Get Involved, as well as all the little feature boxes and things on the inner pages.</dd>
<dt><a href="http://www.macmillan.org.uk/">Macmillan Cancer Support</a></dt>
<dd>This site is notable for the large amount of information that it organizes into liquid rounded corner boxes throughout the site, without everything becoming chaotic and unbalanced at different viewport widths.</dd>
<dt><a href="http://www.startupcommunity.co.uk/">Business Startup Community</a></dt>
<dd>Again, not a very attractive site, but I&#8217;m bookmarking it simply for the treatment of the three tabs on the <a href="http://www.startupcommunity.co.uk/starting-a-business/">inner</a> sections of the site.</dd>
</dl>
<p>I&#8217;ll be sure to stop by Nomensa&#8217;s portfolio periodically to see what new work they are featuring and gather ideas for solving problems in my own work. I should have mentioned in my <a href="http://zomigi.com/blog/inspiration-for-flexible-web-design/">flexible web design inspiration post</a> that a great place to find liquid and elastic sites is within the portfolios of agencies or designers who themselves have liquid or elastic sites. Nomensa is now on this list for me.</p>
]]></content:encoded>
			<wfw:commentRss>http://zomigi.com/blog/the-liquid-web-site-motherload/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>CSS effect: space images out to match text height</title>
		<link>http://zomigi.com/blog/css-effect-space-images-out-to-match-text-height/</link>
		<comments>http://zomigi.com/blog/css-effect-space-images-out-to-match-text-height/#comments</comments>
		<pubDate>Tue, 30 Jun 2009 17:15:48 +0000</pubDate>
		<dc:creator>Zoe Gillenwater</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[flexible]]></category>
		<category><![CDATA[images]]></category>

		<guid isPermaLink="false">http://zomigi.com/?p=158</guid>
		<description><![CDATA[Make several fixed-width images change their spacing to stay lined up with accompanying text, no matter the window size or text size.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been on my soapbox a lot lately, so I decided it was time to step down for a bit and do a nice, non-controversial CSS tutorial. Wouldn&#8217;t you agree?</p>
<p>The inspiration for this tutorial came from the <a href="http://clearleft.com/is/">&#8220;Who we are&#8221; page on the Clearleft site</a>. Try resizing the text—<strong>only</strong> the text, not the whole page—and notice how the photos move farther apart and closer together. They always stay aligned with the names they go with, and the overall height of the photo block never gets too far off the height of the block of text to the left. So, the design always appears balanced.</p>
<div id="attachment_178" class="wp-caption alignnone" style="width: 510px"><a href="http://zomigi.com/wp-content/uploads/2009/06/clearleft1.png"><img class="size-full wp-image-178" title="clearleft1" src="http://zomigi.com/wp-content/uploads/2009/06/clearleft1.png" alt="The images remain the same size but change their spacing as the text size changes." width="500" height="266" /></a><p class="wp-caption-text">The images remain the same size but change their spacing as the text size changes.</p></div>
<p>I love this effect; it&#8217;s a very clever way to fill up the entire available space with images without having to actually scale the images. It&#8217;s basically another take on what I call <a href="http://zomigi.com/blog/creating-sliding-composite-images/">sliding composite images</a>. There are an unlimited number of ways to create sliding composite images—background positioning, absolute positioning, margins, etc—but I wanted to share one way to accomplish the particular effect shown on the Clearleft site. Luckily, it&#8217;s really quite simple.<br />
<span id="more-158"></span><br />
<a href="http://www.zomigi.com/demo/composite_flowers.html">Here&#8217;s my version of the effect.</a> Try resizing your browser window and text size to see the flowers move farther apart and closer together.</p>
<p>And here&#8217;s how I did it&#8230;</p>
<h3>The markup and images</h3>
<p>I start with a definition list for the markup of the list of flowers beside the images. (You could also use an unordered list combined with headings, paragraphs, and/or spans. Use whatever makes the most sense, semantically, for your content.) The definition list is contained in its own <code>div</code>, which follows another <code>div</code> containing a few paragraphs of text. I&#8217;ve got them both in a wrapper <code>div</code> to prevent float drop.</p>
<pre><code>&lt;div id="wrapper"&gt;
	&lt;div id="description"&gt;
		&lt;h1&gt;The amazing five-flowered vine&lt;/h1&gt;
		...
	&lt;/div&gt;
	&lt;div id="flowers"&gt;
		&lt;dl id="flowers-list"&gt;
			&lt;dt&gt;&lt;img src="images/flower1.png" ... id="flower1"&gt;Raspberry Lily&lt;/dt&gt;
			&lt;dd&gt;Rare and exotic&lt;/dd&gt;
			&lt;dt&gt;&lt;img src="images/flower2.png" ... id="flower2"&gt;Seaside Daisy&lt;/dt&gt;
			&lt;dd&gt;A native of the North Carolina Atlantic coast&lt;/dd&gt;
			&lt;dt&gt;&lt;img src="images/flower3.png" ... id="flower3"&gt;Orange Starflower&lt;/dt&gt;
			&lt;dd&gt;Dimunitive but intensely colored and scented&lt;/dd&gt;
			&lt;dt&gt;&lt;img src="images/flower4.png" ... id="flower4"&gt;Lagoon Pansy&lt;/dt&gt;
			&lt;dd&gt;The largest of all native pansy breeds&lt;/dd&gt;
			&lt;dt&gt;&lt;img src="images/flower5.png" ... id="flower5"&gt;Sunbeam Peony&lt;/dt&gt;
			&lt;dd&gt;Pleasant to behold but poisonous to ingest&lt;/dd&gt;
		&lt;/dl&gt;
	&lt;/div&gt;
&lt;/div&gt;
</code></pre>
<p>I&#8217;ve used <code>img</code> elements in the HTML for two reasons: that&#8217;s how they did it on the Clearleft site, which I&#8217;m trying to emulate, and I think my images are content, not decoration, in this case. You could accomplish the same effect using background images, of course, if that made better sense for your particular content.</p>
<h3>The CSS</h3>
<p>To get the block of descriptive text sitting to the left of the list of flowers, I floated both <code>divs</code>.</p>
<pre><code>#description {
	float: left;
	width: 44%;
	margin-right: 2%;
	}
#flowers {
	float: left;
	width: 53%;
	}
</code></pre>
<p>I wanted to create the appearance that my five flowers were all attached to a single stem, so as they changed in distance from each other they would still appear connected. I created an image of a stem with leaves and tiled this up and down the flowers <code>div</code>, 59 pixels away from the left side. I also added a border at the bottom of the flowers <code>div</code> in the same color as the stem to act as grass.</p>
<pre><code>#flowers {
	float: left;
	width: 53%;
	<em>border-bottom: 10px solid #6EAB23;</em>
	<em>background: url(images/stem.png) repeat-y 59px 0;</em>
	}
</code></pre>
<p class="note">If I wanted to get fancier, I could have created a background image of grass, applied this to the flowers <code>div</code>, and applied the repeating stem background image to the definition list inside the <code>div</code> instead. But this was just a demo!</p>
<p>I applied a hefty amount of left padding to the flowers definition list to keep its text from overlapping the stem background image, as well as create room for the where I would eventually move the individual flower images. I also zeroed out the default margin on the <code>dl</code>, <code>dt</code>, and <code>dd</code> elements, and added some bottom margin to the <code>dd</code> elements to space the text out and again make room for the flowers.</p>
<pre><code>#flowers-list {
	margin: 0;
	padding-left: 220px;
	}
#flowers dt, #flowers dd {
	margin: 0;
	}
#flowers dd {
	margin-bottom: 1em;
	}
</code></pre>
<p>Now it was finally time to move the flowers into place using absolute positioning. I set <code>position: relative</code> on the flowers <code>div</code> so it would act as the point of reference for the individual flowers.</p>
<pre><code>#flowers {
	<em>position: relative;</em>
	float: left;
	width: 53%;
	border-bottom: 10px solid #6EAB23;
	background: url(images/stem.png) repeat-y 59px 0;
	}
<em>#flowers img {
	position: absolute;
	}</em>
</code></pre>
<p>Now I just had to direct each flower to how far away from the left side of the <code>div</code> I wanted it to appear. This varied for each flower based on whether I wanted it to appear on the left or ride side of the stem, as well as on the width of the flower image. Here are the values I used.</p>
<pre><code>#flower1, #flower3, #flower4 {
	left: 101px;
	}
#flower2 {
	left: 0;
	}
#flower5 {
	left: 31px;
	}
</code></pre>
<p>Because I didn&#8217;t change any of the top or bottom values for the flower images, just their left values, each stays aligned with its accompanying name and description along its top edge, no matter how large or small the text size or window size is.</p>
<div id="attachment_179" class="wp-caption alignnone" style="width: 510px"><a href="http://zomigi.com/wp-content/uploads/2009/06/composite_flowers1.png"><img class="size-full wp-image-179" title="composite_flowers1" src="http://zomigi.com/wp-content/uploads/2009/06/composite_flowers1.png" alt="The flowers vary in their spacing along the height of the stem in order to stay with the text." width="500" height="208" /></a><p class="wp-caption-text">The flowers vary in their spacing along the height of the stem in order to stay aligned with the text.</p></div>
<p><a href="http://www.zomigi.com/demo/composite_flowers.html">Check out the finished demo again</a> and play around with it. The block of text on the left always stays roughly the same height as the list of flowers on the right, so this is a great example of how you can make your web page flexible and still keep the design balanced at different font sizes and window sizes. Here, I&#8217;ve used a liquid width on the overall page, as on the Clearleft site, simply because that makes the difference in the spacing of the images more dramatic and easy to see for demo purposes. But you could just as easily use this effect on a fixed-width or elastic wrapper in order to keep images aligned with variable text sizes. You could also use this effect horizontally instead of vertically to fill up the entire width of a <code>div</code> or window with fixed-width images, giving you more leeway to make the overall width flexible.</p>
<p>There&#8217;s really no fancy or complicated CSS in use here, but it produces a fun effect that makes your design a lot more adaptable to the myriad of user configurations on the web.</p>
<h3>A note about IE 6</h3>
<p>I know that there are some problems with my demo page in IE 6—lack of support for alpha-transparent PNGs and float drop at small window sizes due to auto-expansion of <code>divs</code> to fit large content—but they&#8217;re not related to the actual effect that this tutorial sets out to teach, so I&#8217;ve chosen not to include their fixes in this tutorial. In your own pages using this effect, you may never run into these problems—or you may run into more. But the CSS for the effect itself doesn&#8217;t require any tweaking for IE 6.</p>
]]></content:encoded>
			<wfw:commentRss>http://zomigi.com/blog/css-effect-space-images-out-to-match-text-height/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
