<?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>Fleeting Epiphanies</title>
	<atom:link href="http://blog.w3conversions.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.w3conversions.com</link>
	<description>realizations on life, the web, and everything</description>
	<lastBuildDate>Thu, 12 Mar 2015 20:41:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>All your base, are belong to us — or what base size do em-based media queries use?</title>
		<link>http://blog.w3conversions.com/2015/03/all-your-base-are-belong-to-us-%e2%80%94-or-what-base-size-do-em-based-media-queries-use/</link>
		<comments>http://blog.w3conversions.com/2015/03/all-your-base-are-belong-to-us-%e2%80%94-or-what-base-size-do-em-based-media-queries-use/#comments</comments>
		<pubDate>Wed, 11 Mar 2015 01:22:31 +0000</pubDate>
		<dc:creator>Stephanie Rewis</dc:creator>
				<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://blog.w3conversions.com/?p=1056</guid>
		<description><![CDATA[Yesterday, we had a discussion at work about rems, ems and percentages. I&#8217;ve used ems for media queries for years. I&#8217;ve used rems for font sizing for a couple of years. I felt like I had a pretty good handle on how it all works. Most of you probably understand the difference, but let&#8217;s do [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>Yesterday, we had a discussion at work about rems, ems and percentages. I&#8217;ve used ems for media queries for years. I&#8217;ve used rems for font sizing for a couple of years. I felt like I had a pretty good handle on how it all works.</p>
<p>Most of you probably understand the difference, but let&#8217;s do a quick recap to refresh. When sizing using rem units, the sizing is based on the HTML element&#8217;s font size. When sizing using em units, the sizing is based on the parent element&#8217;s font size. </p>
<p>Here&#8217;s an em unit example: I&#8217;ve created a module named .foo and it contains several other elements. I want the heading inside to be 32px, so I set it to font-size: 2em. If my body font size is equal to 16px, and as long as I&#8217;ve set <em>no font-size on the the .foo module or any ancestor of it</em>, it will be rendered at 32px. However, if the .foo module or an ancestor has the font set to &#8220;font-size: 14px;&#8221; or &#8220;font-size: .875em;&#8221;, that new size (from the ancestor element) will now cascade to the heading inside as the base to compute by, and our 2em heading will be rendered at 28px.</p>
<p>This is the reason many of us moved to rem units. It&#8217;s more reliable to set the font-size on the html element and, if left at the 16px default, you can be confident that setting a heading size to 2rem will always give you a heading rendered at 32px. If you&#8217;re the only person writing the code in the site, you can get that same effect with em units by having a rule set in stone that you never, ever, ever set a font size on anything other than type (p, hx, lists, etc). But that&#8217;s in a perfect world where you control all the code and never pass it off to another developer. If you do work with other people, things can become messy and unreliable.</p>
<p>This brings me to the reason for this post — using em units for your media queries. Much has been written about it over the years, but the short story is — for reasons related to content and line-lengths — I use em units for my media queries so that the breakpoints adapt to changing font sizes. If the user changes their default, <del datetime="2015-03-12T19:52:26+00:00">or zooms the browser,</del> all my breakpoints react to this new font-size base.</p>
<h2>So what&#8217;s the big deal with the break points?</h2>
<p>Based on yesterday&#8217;s conversation, I was doing an experiment. Since all my font-size, padding, margin, etc, is set in rem units, changing the size of the HTML element should scale the whole design either up or down. And it does. However, I expected it to also change the em-based breakpoints. It does not. I experimented with changing the size of the HTML element or the body element (sometimes even to straight up pixel values) and the breakpoints remained sized based on 16px. #headscratch (Here&#8217;s my Codepen to play with if you like: <a href="http://codepen.io/stefsullrew/pen/azRzOo">http://codepen.io/stefsullrew/pen/azRzOo</a>)</p>
<p>After testing this several different ways, I did what one does — I reached out to the Twittersphere — the fount of all obscure knowledge. Within two minutes of posting, @susanjrobertson set me in the right direction: <a href="https://twitter.com/susanjrobertson/status/575378991017631744">https://twitter.com/susanjrobertson/status/575378991017631744</a> I tested her theory, and by cracky, she was dead on! Fact is, <b>the em base in media queries comes from the user&#8217;s setting</b> (which is the 16px browser default if not changed by the user). The author has no control over this at all! Giving this some thought, it makes total sense. If my user has changed the default size of their browser to 32px because they have low vision, their line lengths will be shorter unless my media query breakpoints are now also using a 32px base and change accordingly. <del datetime="2015-03-12T19:52:26+00:00">The same applies to zooming in the browser, I want my media query breakpoints to change based on their zooming.</del> (Lyza Danger, who likely wrote <a href="http://blog.cloudfour.com/the-ems-have-it-proportional-media-queries-ftw/">the article I read years ago</a> that got me started with using em-based media queries has updated this week to state that browsers have fixed zooming.)</p>
<p>The moral of the story is — your media queries, sized with em units, are going to be based on 16px per em unit — unless the browser&#8217;s font size has been changed by the user. You can not override the user&#8217;s wishes. This means that the idea of scaling a whole design by changing the HTML element&#8217;s default size (maybe up to 18px, or down to 14px) will not change your media queries base size. It absolutely will scale your whole design to use any base size you desire (when all your values are rem based) — but your media queries will still be based on 16px. So in my opinion, it seems best to keep the HTML element at 100% (16px) so that it matches the em units of your media queries (or the overrides of your user).</p>
<p><small>12 Mar: Edited for clarity &#038; to update with Lyza&#8217;s update!</small></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.w3conversions.com/2015/03/all-your-base-are-belong-to-us-%e2%80%94-or-what-base-size-do-em-based-media-queries-use/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Embed a survey in an email</title>
		<link>http://blog.w3conversions.com/2014/12/embed-a-survey-in-an-email/</link>
		<comments>http://blog.w3conversions.com/2014/12/embed-a-survey-in-an-email/#comments</comments>
		<pubDate>Mon, 08 Dec 2014 04:21:55 +0000</pubDate>
		<dc:creator>Stephanie Rewis</dc:creator>
				<category><![CDATA[marketing tech]]></category>

		<guid isPermaLink="false">http://blog.w3conversions.com/?p=1013</guid>
		<description><![CDATA[While implementing the trial automation flows at Contatta, one of my goals was to create an exit survey email for people who did the 30-day trial but had decided not to move to the paid plan. I wanted to send a simple, multiple choice question with the final option being &#8220;other,&#8221; so trial users could [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>While implementing the trial automation flows at Contatta, one of my goals was to create an exit survey email for people who did the 30-day trial but had decided not to move to the paid plan. I wanted to send a simple, multiple choice question with the final option being &#8220;other,&#8221; so trial users could freeform an answer if it wasn&#8217;t offered. I don&#8217;t know about you, but I rarely want to click a &#8220;Take our poll&#8221; button in an email. But if it&#8217;s super easy, I&#8217;m willing to give feedback. So I wanted to make it as simple as possible to give feedback — so I could get the data I needed. </p>
<p>I know I can&#8217;t be the first person who&#8217;s wanted to do this. But I also know the overwhelming limitations of HTML email. I guess you could say, as I started my research, I was a hopeful skeptic. We had both a Survey Monkey and MailChimp subscription, so I started looking at the integration between them. But whether you create the integration from MailChimp to SurveyMonkey or from SurveyMonkey to MailChimp, you end up with the same thing. A button in an HTML email that basically says &#8220;Take the Survey&#8221; and then moves the user to the survey page. Nada.</p>
<p>After digging around on the internet a bit, I was beginning to become less hopeful. I&#8217;m a huge proponent of &#8220;needs to work everywhere.&#8221; So a Google form integration was out of the question.</p>
<p>Somewhere in my research, I found an idea that showed promise. (Sadly, I haven&#8217;t been able to come up with the article in subsequent searches to give the author credit.) The article talked about &#8220;faking the poll&#8221; by putting images of radio buttons along with the questions in your email. The link placed on the image of the question is a custom URL with a different variable appended to auto-submit the answer to the form (access to this required me to upgrade our account level). This works great for a yes/no question or even for a &#8220;rate this&#8221; question. But mine was a little more complex. I needed anyone selecting the answer &#8220;other&#8221; to be able to submit further information.</p>
<p>I started testing the theory. Maybe I could put a further question on the thank you page. The answer to that turned out to be, nope. But I found, if I upgraded my subscription, I could use a custom redirect on my thank you page. I decided to create a second form that <i>appeared</i> to be a thank you page, with an area that could be used to leave further info. Though in the end, I would have two forms, it would still meet our needs giving the user the easiest method to interact with us.</p>
<p>I rolled up my sleeves and got to work. I upgraded our account to Gold level ($300 per year). I immediately got the redirect working. That&#8217;s when I discovered that though it appeared upgrading to Gold would get me both the redirect and custom variables, in reality it only got me the redirect. I was going to have to upgrade to Platinum level ($780 per year) for that. Being a startup with a purposely lean budget, that wasn&#8217;t happening. (I found through a later Support conversation that there was a bug on their website that didn&#8217;t make clear what level you needed to upgrade to if you are a paying customer. I&#8217;m sure they&#8217;ll fix that soon.)</p>
<h2>Round Two</h2>
<p>Time to see if I can get the custom variables and the thank you page redirect I needed — at a more reasonable cost. The other survey integration I&#8217;d seen while perusing MailChimp integrations was SurveyGizmo. I was unfamiliar with SurveyGizmo, but I figured they&#8217;d probably be similar to SurveyMonkey — perhaps with even less features. I signed up for the 7-day trial and started poking around.</p>
<p>I very quickly got a redirect of the thank you page working (their knowledge base section is quite good). I had to get a little help from their Support folks (also really awesome) to get my custom variable working, but I was shocked at how quickly I was able to implement the process I had designed.</p>
<p>Then I had a horrible thought. Now that everything was working and I was ready to pay, what if during trial they enable ALL THE POSSIBLE THINGS and it&#8217;s actually more expensive than Survey Monkey? I called them. (I hate using the phone, so this was clearly a desperate situation.) They confirmed that everything I had accomplished was at the lowest Solo level ($162 per year). I have to admit, I was flabbergasted—as well as super excited. Credit card engaged — Subscription unlocked!</p>
<p>If you&#8217;d like to embed a survey in an HTML email, read on. I&#8217;ll list step by step what I did to make this work.</p>
<h2>Add an actionable survey question into an HTML email with SurveGizmo and MailChimp</h2>
<p><b>1)</b> At SurveyGizmo, create a form with your one question (multiple choice). Tip: Be aware that if you choose radio buttons, they will only be allowed one answer. If you choose checkboxes, they can choose multiple answers. (Though they have to return to their email to choose a second option, my experience has shown that some users will do that.) The form doesn&#8217;t need any styling since it will never be seen by the user. </p>
<p>Note: If you already have a SurveyMonkey Platinum account, you can create the same functionality — I&#8217;m just not listing the steps here.</p>
<p><b>2)</b> Create a second form with a question that allows an &#8220;essay/long answer&#8221; so they can leave you further feedback. I also added a way for someone to request to be contacted and leave their name and contact information. Style this form as if it&#8217;s a thank you page for the first form. Click on the &#8220;Share&#8221; tab at the top and copy the link for this form. You&#8217;ll need it shortly. (You may want to customize the name of the first form since people may see it in their browser when they click your links.)<br />
<a href="http://blog.w3conversions.com/wp-content/2014/11/Share-the-survey1.png"><img src="http://blog.w3conversions.com/wp-content/2014/11/Share-the-survey1-1024x295.png" alt="Find your survey link" title="Find your survey link" width="630" height="auto" class="alignleft size-large wp-image-1026" style="margin-top:25px;" /></a><br style="clear:both;"/></p>
<p><b>3)</b> Let&#8217;s create the URL variables for the first multiple choice form—the one that&#8217;s included in the email. Click edit and open your question. To the right of the &#8220;Answer Options,&#8221; click Advanced options and choose Custom. <a href="http://blog.w3conversions.com/wp-content/2014/12/customize.png"><img src="http://blog.w3conversions.com/wp-content/2014/12/customize.png" alt="" title="customize your reporting values" width="630" height="auto" class="alignleft size-full wp-image-1035" style="margin-top:25px;"/></a><br style="clear:both;"/></p>
<p>The reporting values are what you will use to customize the URL in your email. I played around with this a bit. What I landed on was simply giving them the values of one, two, three, etc. — due to the fact that my team was changing <i>what</i> those questions were and the reports area of SurveyGizmo will show you the actual answers. (This is their <a href="http://surveygizmov4.helpgizmo.com/help/article/link/url-merge-codes">help page</a>.)<a href="http://blog.w3conversions.com/wp-content/2014/12/reporting-value.png"><img src="http://blog.w3conversions.com/wp-content/2014/12/reporting-value-1024x148.png" alt="reporting value" title="reporting value" width="630" height="auto" class="alignleft size-large wp-image-1038" style="margin-top:25px;" /></a><br style="clear:both;"/></p>
<p><b>4)</b> The second half of creating the URL variable is the merge value.  While editing the question, click on the <i>layout</i> option. Scroll down to the Advanced area and add whatever you&#8217;d like to use for the URL variable. (I used the term <i>answer</i>.) This is the format: [url("yourtermhere")] <a href="http://blog.w3conversions.com/wp-content/2014/12/variable.png"><img src="http://blog.w3conversions.com/wp-content/2014/12/variable.png" alt="variable value" title="variable value" width="630" height="auto" class="alignleft size-full wp-image-1036" style="margin-top:25px;" /></a><br style="clear:both;"/></p>
<p><b>5)</b> Move down to the bottom half of the page of your first form. This is where you&#8217;ll redirect the thank you page to the URL you saved for your second form. Create a new Action. Redirect it to the second form you&#8217;ve created with a 0 second redirect: <a href="http://blog.w3conversions.com/wp-content/2014/12/redirect.png"><img src="http://blog.w3conversions.com/wp-content/2014/12/redirect-1024x623.png" alt="redirect the thank you page" title="redirect the thank you page" width="630" height="auto" class="alignleft size-large wp-image-1042" style="margin-top:25px;" /></a><br style="clear:both;"/> (SurveyGizmo&#8217;s instructions <a href="http://surveygizmov4.helpgizmo.com/help/article/link/redirect-to-a-website">are here</a>.) </p>
<p><b>6)</b> Now we&#8217;re ready to add the link to our HTML email in MailChimp. First, you&#8217;ll need to create an image that appears to be a radio button. I did it in a super highly advanced way — I went to a real form on my website and did a little screenshot. <img src='http://blog.w3conversions.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  </p>
<p>I&#8217;m a huge accessibility advocate. Also, I know that some people open email with images turned off by default. For that reason, I chose not to include the words of the question into the image of the radio button. I want them to be real words. The radio button <i>and</i> the words/option next to it should both be linked to the same place.  I put inline CSS onto the linked words to remove the underline from the link on the question — that way, it appears that the radio button and option next to it are associated, just like a regular form. Put a the radio button and linked words into a table in your email so that no matter what device your user is on, they&#8217;ll remain together. </p>
<p><b>7)</b> Go to your first multiple choice form and copy the URL you&#8217;ve chosen to use. Then, add the merge value along with the reporting value. So for example, since I chose to use &#8220;answer&#8221; as my merge value and one, two, three, etc for my reporting values, my URL would look something like this:</p>
<p>http://www.surveygizmo.com/data/nameofform?answer=one http://www.surveygizmo.com/data/nameofform?answer=three</p>
<p>You get the picture. Essentially, you&#8217;re letting the image of the radio button <i>and</i> the words of the linked option automatically submit their answer to your first form — then quickly roll to your second form — the &#8220;fake&#8221; thank you page. If they choose to give you further information, you&#8217;ll get that in the second form report. </p>
<p>There are a couple other little tricks I&#8217;ll share in a follow up post. You can pass more data to SurveyGizmo from MailChimp (like first name, email, etc) and even customize your thank you page/form with that data. But this has gotten long&#8230;</p>
<p>Cheers! And please share your tricks in the comments.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.w3conversions.com/2014/12/embed-a-survey-in-an-email/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Life is a journey, not a destination</title>
		<link>http://blog.w3conversions.com/2014/11/life-is-a-journey-not-a-destination/</link>
		<comments>http://blog.w3conversions.com/2014/11/life-is-a-journey-not-a-destination/#comments</comments>
		<pubDate>Sun, 16 Nov 2014 23:39:33 +0000</pubDate>
		<dc:creator>Stephanie Rewis</dc:creator>
				<category><![CDATA[contatta]]></category>
		<category><![CDATA[marketing tech]]></category>

		<guid isPermaLink="false">http://blog.w3conversions.com/?p=999</guid>
		<description><![CDATA[I&#8217;ve been quiet lately. Startup life is busy&#8230; and exhausting. Blogging for me has pretty much gone the way of the Dodo. I&#8217;m planning to change that. Since technology is increasingly involved in a modern company&#8217;s marketing department, it&#8217;s become quite common for those of us who are developers to find ourselves deeply involved with [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>I&#8217;ve been quiet lately. Startup life is busy&#8230; and exhausting. Blogging for me has pretty much gone the way of the Dodo. I&#8217;m planning to change that. </p>
<p>Since technology is increasingly involved in a modern company&#8217;s marketing department, it&#8217;s become quite common for those of us who are developers to find ourselves deeply involved with our marketing team. Almost two years ago, I took on the role of &#8220;Director, Web Strategy and Marketing Technologies&#8221; at <a href="http://www.contatta.com">Contatta</a>. As a small startup, it means I personally handle a whole host of technology decisions and implementations — and I do it within a limited budget. Sometimes that requires me to get creative instead of going for a big all-in-one solution. </p>
<p>Though early in my career (building small business web sites) I regularly provided clients with organic SEO and analytics, the techniques I knew have changed. We now use schema and OG markup. Google Analytics has been upgraded to Universal analytics. There are additional analytics tools available like Mixpanel and Kissmetrics. There are also a whole host of things that I didn&#8217;t regularly offer back then — like A/B testing, heat mapping, multiple landing pages, and very few clients used email marketing. Through a lot of trial, and some error too, I&#8217;ve been creating a system that gives us the ability to test, analyze and iterate quickly. </p>
<p>I still do all the front-end development for Contatta&#8217;s website and blog — and I&#8217;ll continue to blog about web techniques and technology. But I&#8217;ll also start sharing posts with marketing technology-related information. Tips and techniques, and creative ways I&#8217;ve found to make things work on a budget. (I&#8217;m probably posting these as much for me as for you. More than once, I&#8217;ve done a search for how to do something and found the answer in one of my own, older blog posts. It&#8217;s one of the best reasons to blog—I can&#8217;t remember everything—even when I once figured it out.)</p>
<p>I&#8217;m enjoying this journey. I hope you&#8217;ll share things you&#8217;ve learned with me as well. Cheers.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.w3conversions.com/2014/11/life-is-a-journey-not-a-destination/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Font Smoothing — It&#8217;s not just for Webkit anymore</title>
		<link>http://blog.w3conversions.com/2014/04/font-smoothing-webkit-firefox/</link>
		<comments>http://blog.w3conversions.com/2014/04/font-smoothing-webkit-firefox/#comments</comments>
		<pubDate>Thu, 24 Apr 2014 19:27:09 +0000</pubDate>
		<dc:creator>Stephanie Rewis</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[contatta]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[fonts]]></category>
		<category><![CDATA[webkit]]></category>

		<guid isPermaLink="false">http://blog.w3conversions.com/?p=988</guid>
		<description><![CDATA[I ran into a very frustrating bug while using icon fonts on our site at Contatta. A bug I filed last April, and nurtured through the process of getting fixed, didn&#8217;t make the Mozilla release notes (though it was included in Firefox 28). Because I feel it&#8217;s a very useful solution, I wanted to bring [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>I ran into a very frustrating bug while using icon fonts on our site at <a href="http://www.contatta.com" target="_blank">Contatta</a>. A <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=857142#c75" target="_blank">bug I filed</a> last April, and nurtured through the process of getting fixed, didn&#8217;t make the Mozilla release notes (though it was included in Firefox 28). Because I feel it&#8217;s a very useful solution, I wanted to bring some attention to it.</p>
<h2>Font Smoothing for [most] Everyone</h2>
<p>In a nutshell, if you&#8217;re using antialiasing for icon fonts and headings using -webkit-font-smoothing, you&#8217;ll want to be aware of -moz-osx-font-smoothing. I won&#8217;t take the time to go into the finer details of sub-pixel or grayscale antialiasing. If you&#8217;re interested, you can read this article about <a href="http://blog.typekit.com/2010/10/15/type-rendering-operating-systems/" target="_blank">type rendering on different operating systems</a> for more info. And though I initially filed the bug on Firefox, the issue is actually OSX. Here&#8217;s a summary from Jonathan Kew (a Mozilla engineer):</p>
<blockquote><p>The &#8220;problem&#8221; in Firefox is simply how OS X renders the font when &#8220;LCD font smoothing&#8221; is enabled (which I think is the default). AIUI, it&#8217;s widely known among the font-design community that OS X tends to fatten glyphs somewhat compared to other rasterizers. For the usual case of black-on-white text, this works OK (though some people like it more than others); however, for white-on-black, the effect can be much too heavy-handed.</p></blockquote>
<p><a href="http://twitter.com/aral/" target="_blank">Aral Balkan</a> posted an excellent example of <a href="http://aralbalkan.com/images/firefox-icon-font-rendering-bug.png" target="_blank">light icon fonts on a dark background</a> — one with -webkit-font-smoothing, one on Firefox. The web has been full of people trying to come up with creative ideas for making their fonts render consistently — opacity tricks, text-shadow tricks, etc. But those only work in some situations. In the end, many people have simply thrown their hands up in frustration—and changed to a different heading font/color scheme or moved away from icon fonts and back to sprites.</p>
<p>A while back, the Webkit team gave us a way to counteract the issue — -webkit-font-smoothing. It should be used responsibly and shouldn&#8217;t be used on everything. Certain fonts become too thin and less legible when it&#8217;s applied. But when needed, it&#8217;s a fontsaver (yeah, yeah, I know). This non-standard property got a lot of attention and caused many of us to accuse Firefox of being fat. I was one of them.</p>
<p>Jump forward to the bug I filed. After much passionate discussion, the exceptional Mozilla engineer <a href="http://twitter.com/davidbaron/" target="_blank">David Baron</a> agreed to grant us a property that provides a similar fix — -moz-osx-font-smoothing. While it has the similar effect of slimming fonts, instead of using the &#8220;antialiased&#8221; value Webkit uses, FFOX has chosen to use &#8220;grayscale&#8221;. (You can read the bug for the reasons why and the methods used.) It also appears from viewing in the FFOX Inspector that you can use the inherit | unset | auto values as well. (Though I haven&#8217;t experimented with those.) So far, anywhere I need the -webkit-font-smoothing:antialiased I now use -moz-osx-font-smoothing:grayscale with great results.</p>
<p><a href="http://www.w3conversions.com/sandbox/font-smoothing/font-smoothing.png" target="_blank"><img style="max-width: 100%;" src="http://www.w3conversions.com/sandbox/font-smoothing/font-smoothing.png" alt="" /></a></p>
<p>If you use Sass, you&#8217;re in luck. <a href="http://twitter.com/firt/" target="_blank">Maximilliano Firtman</a> has created a [Sass mixin to turn the font-smoothing property on and off] (http://maximilianhoffmann.com/posts/better-font-rendering-on-osx).</p>
<p>So spread the news — FFOX is thin again!</p>
<h2>A Sidenote on Bug Filing</h2>
<p>Maybe it&#8217;s all the beta testing I&#8217;ve done over the years, but I come from the &#8220;don&#8217;t accept sub-optimal behavior&#8221; camp. If something in a browser doesn&#8217;t behave as expected, I believe it&#8217;s more productive for the Web and my end result to file a bug and help get it fixed.</p>
<p>For those of you that haven&#8217;t yet filed a bug or made a feature request for a browser, I&#8217;d like to offer a few suggestions I&#8217;ve found helpful:</p>
<ol>
<li>Be very clear in your initial report. Use the most accurate terms you can to illustrate what causes the bug (does it have a trigger, can it be affected by other interactions, etc). Create one or two simple demos that illustrate the bug so the engineers can test it more easily.</li>
<li>Remember that you&#8217;re dealing with people—engineers have feelings (I swear, they do!). Yelling at them, in general, gets you no where fast. Clarity and politeness are the order of the day.</li>
<li>Engineers are dealing with massive amounts of work and they have to prioritize. If they feel your bug is a small edge case, it will receive a lower priority. If your bug is one that affects a myriad of people, but the engineers don&#8217;t understand that, rally the troops to come vote for it and comment on it. Have them show more examples. It really makes a difference in helping them prioritize.</li>
<li>Stay with your bug. Keep an eye on it. Provide more examples where needed. This is your baby, it&#8217;s your responsibility to see it delivered to the masses. It&#8217;s easy for it to accidentally get stuck in limbo where one engineer has worked on it and is waiting for another engineer to weigh in. But he&#8217;s working on other things and doesn&#8217;t know the first engineer is waiting, and — well, you get the picture. The occasional little ping or tickle doesn&#8217;t hurt.</li>
<li>Once the bug is fixed, <strong>you</strong> may be the one that has to let people know. Don&#8217;t count on release notes and the browser&#8217;s dev center. It can be missed in the mass of things that occur in a release.</li>
</ol>
<p>BTW, I have <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=687311" target="_blank">this other outline bug</a> I&#8217;d love to see fixed. It&#8217;s been around for over three years. It could sure use your votes. <img src='http://blog.w3conversions.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.w3conversions.com/2014/04/font-smoothing-webkit-firefox/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Directions</title>
		<link>http://blog.w3conversions.com/2012/03/new-directions/</link>
		<comments>http://blog.w3conversions.com/2012/03/new-directions/#comments</comments>
		<pubDate>Fri, 02 Mar 2012 23:13:23 +0000</pubDate>
		<dc:creator>Stephanie Rewis</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[contatta]]></category>
		<category><![CDATA[personal]]></category>

		<guid isPermaLink="false">http://blog.w3conversions.com/?p=968</guid>
		<description><![CDATA[In 1999, when I started my journey through the interwebs, I had no real idea where it would take me. I barely knew what was possible. I only knew that my brain loved puzzle-type thinking, detective work, research and figuring things out. And I suspected code would access the parts of my mind that love [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>In 1999, when I started my journey through the interwebs, I had no real idea where it would take me. I barely knew what was possible. I only knew that my brain loved puzzle-type thinking, detective work, research and figuring things out. And I suspected code would access the parts of my mind that love a work out—and so I pursued it. Vehemently. For the first 12 months, I did tutorials for 15 hours a day and got any friend that might possibly need a website to let me create theirs. (And for the very first customers, may I apologize for the frame and table-based layouts.)</p>
<p>And as I learned, I had questions—lots of them—and I inflicted every one of them on the unsuspecting, and gracious souls on a couple of web design lists. (The only stupid question is the one you don&#8217;t ask!) As my skills grew, I began answering the questions of people who knew less than I and continued to pick the brains of those who knew more. Within a couple of years, I had <em>accidentally</em> created a business via business owners who had planned to build their own web site only to find it wasn&#8217;t as easy as they expected. Due to the number of questions I answered on the list, they wrote me offlist for a quote to, &#8220;Please, just do it for me&#8221;. </p>
<p>It didn&#8217;t take me long to figure out that there&#8217;s a whole lot <strong>to</strong> this web design business. And some portions I enjoyed more than the others. In looking at where I thought the puck was going, I ventured into the world of CSS—that marriage of code and design—and I loved it. I gleaned great enjoyment from changing a designer&#8217;s beautiful comp into light-weight, web-ready markup (I&#8217;m too much of a tweak-a-holic to design). And so I moved into specialization in the portion of the industry we now call front-end development. </p>
<p>My desire to give back led me to accept requests to write articles and books (even though I really dislike writing). Writing led to speaking at industry events. Speaking led to doing training in corporations. Filing zillions of bugs to make Dreamweaver move into the realm of Web Standards led to my work with the Web Standards Project (WaSP) as well as working as a contractor for Adobe to create the CSS Layouts contained in Dreamweaver. And writing a book teaching both CSS and Dreamweaver while using those layouts as a base for each project led to discovering the other half of my brain—my co-author <a href="http://assortedgarbage.com">Greg Rewis</a>. Now my husband, soul mate, and co-captain on <a href="http://geeks4sail.com">Geeks4Sail</a>. Every choice I&#8217;ve made to give—even when there wasn&#8217;t a guaranteed return—has come back from the universe in amazing ways I hadn&#8217;t envisioned. It&#8217;s been a great ride.</p>
<p>And even though I&#8217;ve loved every minute of sharing, learning and teaching others, and of working with awesome agencies, companies and start-ups—I still leave them with the code and walk away to start the next contract. I rarely get to see a product through to fruition or have any further affect on its development. I can&#8217;t continually help the code evolve as the web changes. I just hand it off and move to the &#8220;next thing&#8221;.</p>
<h3>But all that&#8217;s gonna change&#8230;</h3>
<p>I was recently approached by a start-up (oddly enough, right here in the Phoenix area). We initially discussed their need for a top notch front-end developer to build their web app—probably a six month contract. We discussed what they were building for about an hour—and I got this feeling in my gut. You know the one that hits you in the pit of your stomach and says, &#8220;<em>I really, really feel like this is <strong>a thing</strong></em>&#8220;? That one. But having been taught by my parents never to trust my gut—always use your head—I did the obedient thing and went to the web for some Google research. As you do&#8230; That research made the feeling in my gut even stronger. And a series of meetings with the CEO, CTO and team over the past couple weeks has evolved into my decision to make a full-time commitment—forsaking all others. This is a big step for me after 12 years of independence. I should feel a twinge of sorrow. <strong>But I don&#8217;t!</strong> I&#8217;m as excited as I&#8217;ve been about anything in years.</p>
<p>I am now officially the VP of Interface Architecture for <a href="http://contatta.com/">Contatta</a> (Italian for &#8220;be in contact with&#8221;), helping to create a new era in Contact Management. And while a product related to CRM may not sound like a sexy start up to you, Pat Sullivan, the co-creator of ACT!, and founder of SalesLogix is a founder of this company. Along with Sunil Padiyar who was a founding member of SalesLogix as well. When the man that helped create an industry 25 years ago says he thinks it could be in a better place—and in fact has ideas about changing a currently stagnant industry—I listened. And in listening, I was impressed enough to get on board. </p>
<p>Not only am I excited about the product, I&#8217;m super excited about the team they&#8217;ve already assembled. I&#8217;m going to have the opportunity to work with some amazingly top-notch devs and we&#8217;ve already been exchanging ideas. I&#8217;m literally chomping at the bit to get started!</p>
<p>Lest any clients (or prospective clients) are concerned, I&#8217;ve got great back-up with good friends and co-contractors like <a href="http://emilylewisdesign.com/">Emily Lewis</a> (of &#8220;Microformats Made Simple&#8221; and &#8220;HTML5 Cookbook&#8221; fame), <a href="http://integrat-ee.com/">Leslie Flinger</a> (front-end developer and former Director of Marketing at EllisLab) and others. You&#8217;ll be in great hands!</p>
<p>A recommendation on Contatta&#8217;s Facebook wall says &#8211; &#8220;With Pat behind it &#8230; here&#8217;s hoping for a real game changer for the industry!&#8221; I agree with that and I&#8217;ll take it a step further and say, &#8220;With the team behind Pat, we&#8217;re gonna work to make awesomeness—and maybe a ding in the Universe.&#8221;</p>
<p>EDIT 3/7: Some have emailed to ask whether I&#8217;ll still be speaking. Yes, on a more limited basis—but not once a month as I have been. Feel free to send requests. <img src='http://blog.w3conversions.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.w3conversions.com/2012/03/new-directions/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>CSS3: spread value and box-shadow on one side only</title>
		<link>http://blog.w3conversions.com/2011/09/css3-spread-value-and-box-shadow-on-one-side-only/</link>
		<comments>http://blog.w3conversions.com/2011/09/css3-spread-value-and-box-shadow-on-one-side-only/#comments</comments>
		<pubDate>Thu, 08 Sep 2011 21:28:10 +0000</pubDate>
		<dc:creator>Stephanie Rewis</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS3]]></category>

		<guid isPermaLink="false">http://blog.w3conversions.com/?p=930</guid>
		<description><![CDATA[This morning I awakened with a question in my twitter stream from @deebeefunky. He was frustrated by the fact that when he sets a blur on box-shadow, it shows on two sides of the box. He wants it to show on only one side. Of course, that got me thinking. I did come up with [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>This morning I awakened with <a href="http://srewis.me/p36NiG">a question in my twitter stream</a> from @deebeefunky. He was frustrated by the fact that when he sets a blur on box-shadow, it shows on two sides of the box. He wants it to show on only one side. Of course, that got me thinking. I did come up with one solution—it won&#8217;t work in every situation—but it may work in yours. </p>
<h3>The spread value</h3>
<p>There&#8217;s a little talked about value in the box-shadow property called &#8220;spread&#8221;. That value, when used, comes after the blur value and moves the shadow away from the box equally all the way around. It doesn&#8217;t add a blur, it simply spreads out in all directions. You&#8217;ll get different effects based on whether the blur value is a greater than the spread value or whether the spread is greater than the blur. The color defined will be solid right next to the box, and then blur for the rest (based on the difference between the two values). Before it gets too confusing, let&#8217;s have a look at the property:</p>
<p><b>box-shadow: (inset) x-value y-value blur spread color;</b></p>
<pre>
div {
-webkit-box-shadow: 0 0 6px 4px black;
   -moz-box-shadow: 0 0 6px 4px black;
        box-shadow: 0 0 6px 4px black;
}
</pre>
<div id="attachment_938" class="wp-caption alignleft" style="width: 560px">
	<a href="http://blog.w3conversions.com/wp-content/2011/09/01-screenie1.jpg"><img src="http://blog.w3conversions.com/wp-content/2011/09/01-screenie1.jpg" alt="Blur larger than spread" title="Blur larger than spread" width="560" height="236" class="size-full wp-image-938" /></a>
	<p class="wp-caption-text">Blur larger than spread</p>
</div>
<p style="clear:both;">If the spread value has a higher value, you get a different effect with the full spread and only a little blur.</p>
<pre>
div {
-webkit-box-shadow: 0 0 4px 6px black;
   -moz-box-shadow: 0 0 4px 6px black;
        box-shadow: 0 0 4px 6px black;
}
</pre>
<div id="attachment_940" class="wp-caption alignleft" style="width: 553px">
	<a href="http://blog.w3conversions.com/wp-content/2011/09/02-screenie.jpg"><img src="http://blog.w3conversions.com/wp-content/2011/09/02-screenie.jpg" alt="Spread value greater than blur" title="Spread value greater than blur" width="553" height="231" class="size-full wp-image-940" /></a>
	<p class="wp-caption-text">Spread value greater than blur</p>
</div>
<p style="clear:both;">Though the differences above are subtle, you can actually create some really interesting effects with this value. If you don&#8217;t move the box-shadow on the x or y axis and provide no blur value at all, you can create one, or more, multiple borders for your element.</p>
<h3>Create the look of multiple borders</h3>
<pre>
div {
border: 3px solid orange;
-webkit-box-shadow: 0 0 0 3px black, 0 0 0 6px red;
   -moz-box-shadow: 0 0 0 3px black, 0 0 0 6px red;
         box-shadow: 0 0 0 3px black, 0 0 0 6px red;
}
</pre>
<div id="attachment_941" class="wp-caption alignleft" style="width: 552px">
	<a href="http://blog.w3conversions.com/wp-content/2011/09/03-screenie.jpg"><img src="http://blog.w3conversions.com/wp-content/2011/09/03-screenie.jpg" alt="Spread radius with no blur" title="Spread radius with no blur" width="552" height="232" class="size-full wp-image-941" /></a>
	<p class="wp-caption-text">Spread radius with no blur</p>
</div>
<p style="clear:both;">Notice it appears there are three borders on this element. A single (orange) border was added, then a black border (created with the 3px of spread) and then a red border (the 3 px border is created by 6px of spread since you must allow for the first box-shadow). It&#8217;s unlikely you&#8217;d actually <i>need</i> more borders than this, but you can create an unlimited number this way. Remember that when using multiple box-shadows, the first one is applied closest to the element.</p>
<h3>How does this apply to @deebeefunky&#8217;s question?</h3>
<p>I&#8217;m glad you asked! Sometimes I get off track (you know, that simple little blog post you were gonna write&#8230;). The issue with box-shadow is, even if you only move the shadow on the x or y axis, you&#8217;ll see a hint of the shadow on at least two sides of your element.</p>
<pre>
div {
-webkit-box-shadow: 1px 0 2px black;
   -moz-box-shadow: 1px 0 2px black;
        box-shadow: 1px 0 2px black;
}
</pre>
<div id="attachment_943" class="wp-caption alignleft" style="width: 545px">
	<a href="http://blog.w3conversions.com/wp-content/2011/09/04-screenie.jpg"><img src="http://blog.w3conversions.com/wp-content/2011/09/04-screenie.jpg" alt="2px blur moved 1px on the x-axis" title="2px blur moved 1px on the x-axis" width="545" height="226" class="size-full wp-image-943" /></a>
	<p class="wp-caption-text">2px blur moved 1px on the x-axis</p>
</div>
<p style="clear:both;">I came up with an idea that works as long as A) the element is a solid color and B) you&#8217;re not also using border on the element. It involves applying two box-shadows, one with spread in the same color as the box itself and another without. Like so:</p>
<pre>
div {
background: white;
-webkit-box-shadow: 0 0 0 4px white, 0 6px 4px black;
   -moz-box-shadow: 0 0 0 4px white, 0 6px 4px black;
        box-shadow: 0 0 0 4px white, 0 6px 4px black;
}
</pre>
<div id="attachment_946" class="wp-caption alignleft" style="width: 553px">
	<a href="http://blog.w3conversions.com/wp-content/2011/09/05-screenie.jpg"><img src="http://blog.w3conversions.com/wp-content/2011/09/05-screenie.jpg" alt="Use two box-shadows for a single side effect" title="Use two box-shadows for a single side effect" width="553" height="239" class="size-full wp-image-946" /></a>
	<p class="wp-caption-text">Use two box-shadows for a single side effect</p>
</div>
<h3 style="clear:both;">Why does this work?</h3>
<p>In a nutshell, what you&#8217;re doing is creating the first box-shadow (0 0 0 4px white) which doesn&#8217;t move on the X or Y axis, doesn&#8217;t provide any blur, and has the 4px of spread set in the same color as the background of the element. This basically renders it invisible but makes the element 4px wider than it was (box-shadow does NOT add to the box model, so you&#8217;re element will appear 4px closer to the elements around it as well). Remember the order I mentioned before? The first box-shadow is placed on top—or closest to the element? That&#8217;s what helps us here. The second box-shadow (0 6px 4px black) is moving 6px on the Y-axis, has 4px of blur, no spread and is black. We&#8217;ve moved this vertically—though you could use the same technique on the X-axis.</p>
<h3>Where is the real border?</h3>
<p>Just to illustrate why you can&#8217;t use a border with this technique, here&#8217;s a look at the addition of a red border to our previous example.</p>
<div id="attachment_953" class="wp-caption alignleft" style="width: 544px">
	<a href="http://blog.w3conversions.com/wp-content/2011/09/06-screenie.jpg"><img src="http://blog.w3conversions.com/wp-content/2011/09/06-screenie.jpg" alt="Red border shown on actual outside of box" title="Red border shown on actual outside of box" width="544" height="229" class="size-full wp-image-953" /></a>
	<p class="wp-caption-text">Red border shown on actual outside of box</p>
</div>
<p style="clear:both;">The thing to remember when using this technique is A) you can only move on one axis— X or Y and B) your blur value cannot exceed the spread value given in the first box-shadow. If it does, you&#8217;ll start to see it peek out on the sides (an effect we were avoiding in the first place). You can, however, move as much or as little on either the X or Y axis as your effect requires. And as always, using RGBA or HSLA color values will give you a more realistic shadow if that&#8217;s what you&#8217;re after.</p>
<h3>Update: Method Two</h3>
<p>If you have a patterned background on the element or need to use a border, Joseph Silber had another idea in the comments below. Use a negative spread radius. Nice thinking, Joseph! Playing with this method, I came up with the following:</p>
<pre>
div {
	-webkit-box-shadow: 0 8px 6px -6px black;
	   -moz-box-shadow: 0 8px 6px -6px black;
	        box-shadow: 0 8px 6px -6px black;
}
</pre>
<div id="attachment_957" class="wp-caption alignleft" style="width: 543px">
	<a href="http://blog.w3conversions.com/wp-content/2011/09/07-screenie.jpg"><img src="http://blog.w3conversions.com/wp-content/2011/09/07-screenie.jpg" alt="Negative spread radius with equal blur value" title="Negative spread radius with equal blur value" width="543" height="236" class="size-full wp-image-957" /></a>
	<p class="wp-caption-text">Negative spread radius with equal blur value</p>
</div>
<p style="clear:both;">The issue to be aware of with this method is, the negative spread value should be equal to, or greater than, the blur value or you&#8217;ll end up with a slight blur on the other two sides of the element. Also, very little of the box-shadow will show if you don&#8217;t give the X or Y a value equal to, or greater than, the blur. Otherwise, the blur is slightly hidden behind the edge of the element since the spread value is negative.</p>
<div id="attachment_958" class="wp-caption alignleft" style="width: 546px">
	<a href="http://blog.w3conversions.com/wp-content/2011/09/08-screenie.jpg"><img src="http://blog.w3conversions.com/wp-content/2011/09/08-screenie.jpg" alt="With the negative spread value, a border can be added" title="With the negative spread value, a border can be added" width="546" height="227" class="size-full wp-image-958" /></a>
	<p class="wp-caption-text">With the negative spread value, a border can be added</p>
</div>
<p style="clear:both;">Notice the element isn&#8217;t &#8220;expanding&#8221; like it did using the first method (the box size is what you&#8217;d expect), but the shadow doesn&#8217;t quite go to each edge due to the negative spread value. Based on the interaction with other elements on your page, one of these two methods might just work for you!</p>
<h3>Update Oct 2</h3>
<p>Due to an <a href="http://code.google.com/p/android/issues/detail?id=7531&#038;q=box-shadow&#038;colspec=ID%20Type%20Status%20Owner%20Summary%20Stars">Android bug when the box-shadow has no blur</a>, you&#8217;ll likely want to use the second method if you want the shadow to appear on an Android device. Let&#8217;s hope they fix this one soon. (Thanks, Luís Carmona!)</p>
<p style="clear:both;">Do you have a method you use to create the same effect? Share it in the comments. Happy coding!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.w3conversions.com/2011/09/css3-spread-value-and-box-shadow-on-one-side-only/feed/</wfw:commentRss>
		<slash:comments>28</slash:comments>
		</item>
		<item>
		<title>Firefox multi-column layout bug&#8230; and a unicorn</title>
		<link>http://blog.w3conversions.com/2011/05/firefox-multi-column-layout-bug-and-a-unicorn/</link>
		<comments>http://blog.w3conversions.com/2011/05/firefox-multi-column-layout-bug-and-a-unicorn/#comments</comments>
		<pubDate>Thu, 05 May 2011 00:31:35 +0000</pubDate>
		<dc:creator>Stephanie Rewis</dc:creator>
				<category><![CDATA[CSS3]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[layout]]></category>
		<category><![CDATA[transitions]]></category>

		<guid isPermaLink="false">http://blog.w3conversions.com/?p=904</guid>
		<description><![CDATA[Last night, I was getting a file ready to share with Estelle Weyl, one of my co-presenters for our CSS3 workshop at SXSW11. The page was a silly little demo that used media queries, multiple backgrounds, transitions, generated content, multi-column layout and, well, a unicorn. I had only viewed the file in Chrome since that&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>Last night, I was getting a file ready to share with Estelle Weyl, one of my co-presenters for our CSS3 workshop at SXSW11. The page was a <a href="http://w3conversions.com/sandbox/css3/transition/multibackground.html">silly little demo</a> that used media queries, multiple backgrounds, transitions, generated content, multi-column layout and, well, a unicorn. </p>
<p><a href="http://blog.w3conversions.com/wp-content/2011/05/ffox.jpg"><img src="http://blog.w3conversions.com/wp-content/2011/05/ffox-250x300.jpg" alt="Firefox generated content bug" title="ffox" width="250" height="300" class="alignleft size-medium wp-image-911" /></a>I had only viewed the file in Chrome since that&#8217;s the browser I used during the demo. Since we were putting it online where people could look at the code, I decided to take a peek in other browsers. Oddly enough, Firefox seems to be hacking a hairball on the <a href="http://w3conversions.com/sandbox/css3/transition/multibackground-bug.html">multi-column layout with generated content</a> (I&#8217;ve tested in both FFOX 4.1 and Aurora with the same result).  </p>
<p>The generated content (.container:before) creates the layered look of the main .container div to avoid any extra, non-semantic wrappers. The bug is not triggered when the generated content is removed (either by removing the position: relative from .container—the parent to the generated content, or by removing it altogether). And it seems to have something to do with the values in the top, right, bottom, left properties of the generated content (it&#8217;s protruding on the right and tall enough that you can&#8217;t see the rounded bottom corners). My guess is that FFOX is somehow adding actual pixels to the box model (width and height), but I&#8217;ve no clue why it would. </p>
<p>UPDATE 5/5/11:</p>
<p>Thanks to <a href="http://oli.jp">Oli Studholme</a> who identified the padding on the .container as one of the bug&#8217;s triggers. I&#8217;ve added <a href="http://w3conversions.com/sandbox/css3/transition/multibackground-bug2.html">another demo with the padding removed</a> and <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=655191">filed a bug with Mozilla</a>. If anyone identifies another piece of the bug puzzle, please post it in the comments or on the bug report.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.w3conversions.com/2011/05/firefox-multi-column-layout-bug-and-a-unicorn/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Changing a Background-image with CSS3 Transitions</title>
		<link>http://blog.w3conversions.com/2011/03/changing-a-background-image-with-css3-transitions/</link>
		<comments>http://blog.w3conversions.com/2011/03/changing-a-background-image-with-css3-transitions/#comments</comments>
		<pubDate>Tue, 01 Mar 2011 08:34:16 +0000</pubDate>
		<dc:creator>Stephanie Rewis</dc:creator>
				<category><![CDATA[CSS3]]></category>
		<category><![CDATA[transitions]]></category>

		<guid isPermaLink="false">http://blog.w3conversions.com/?p=895</guid>
		<description><![CDATA[As you may have read, outside of gradients, you can&#8217;t change a background-image with CSS transitions. Or can you? At InControl Conference last week, Greg Rewis spoke about Transitions, Transforms and Animations. A question was asked about showing one background-image on load and transitioning to another in a subsequent pseudo-state. You can always change the [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>As you may have read, outside of gradients, you can&#8217;t change a background-image with CSS transitions. Or can you? At InControl Conference last week, Greg Rewis spoke about Transitions, Transforms and Animations. A question was asked about showing one background-image on load and transitioning to another in a subsequent pseudo-state. You can always change the background (we do it all the time in menus on :hover), but you can&#8217;t apply sexy transitions to that change. You <em>can</em>, however, transition a background position change. In the first demo, I&#8217;ve created a sprite that has both background states which load with one image, and then move to the other when the pseudo-state is triggered:</p>
<p><a href="http://w3conversions.com/sandbox/css3/transition/trans-back.html">CSS Transition with sprite</a></p>
<p>(Thanks for your nice use of this effect at the bottom of <a href="http://css-tricks.com/">CSS Tricks</a>, Chris Coyier!)</p>
<p>In the InControl wrap up panel, someone asked a question about creating a menu that has no background image to start, but on hover, would transition to the background image. While it&#8217;s correct that you can&#8217;t do exactly that, all good CSS&#8217;ers know there&#8217;s usually a clever work around. An idea occurred to me on stage that I&#8217;ll share here. Using a sprite again, have the starting portion of it transparent (gif or png). You can create the effect of going from no background to a background image by simply changing the background-position.</p>
<p><a href="http://w3conversions.com/sandbox/css3/transition/trans-back2.html">Illusion of going from no background to an background-image using CSS3 transitions.</a></p>
<p>What creative uses can <em>you</em> think of for CSS transitions and background images?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.w3conversions.com/2011/03/changing-a-background-image-with-css3-transitions/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>CSS3 Flexible Box Model&#8230;Layout Coolness&#8230;also Oddities &amp; Confusion</title>
		<link>http://blog.w3conversions.com/2011/02/css3-flexible-box-model-layout-coolness-also-oddities-confusion/</link>
		<comments>http://blog.w3conversions.com/2011/02/css3-flexible-box-model-layout-coolness-also-oddities-confusion/#comments</comments>
		<pubDate>Fri, 25 Feb 2011 08:34:27 +0000</pubDate>
		<dc:creator>Stephanie Rewis</dc:creator>
				<category><![CDATA[CSS3]]></category>
		<category><![CDATA[layout]]></category>

		<guid isPermaLink="false">http://blog.w3conversions.com/?p=880</guid>
		<description><![CDATA[In August, due to a twitter discussion with Molly, and of course while partying on a Saturday night, Dave Gregory and I were looking at whether the Flexible box layout module (still a working draft) is getting close to ready for prime time yet. Our hope was that it will solve some of the frustrations [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>In August, due to a twitter discussion with <a href="http://www.twitter.com/mollydotcom/">Molly</a>, and of course while partying on a Saturday night,<a href="http://screwlewse.com/"> Dave Gregory</a> and I were looking at whether the <a href="http://www.w3.org/TR/2009/WD-css3-flexbox-20090723/">Flexible box layout module</a> (still a working draft) is getting close to ready for prime time yet. Our hope was that it will solve some of the frustrations we have with layout—like columns that are equal heights and vertical centering. We read <a href="http://www.w3.org/TR/css3-flexbox/">the spec</a> and some <a href="http://infrequently.org/2009/08/css-3-http://infrequently.org/2009/08/css-3-progress/">good</a> articles. It gave us hope. We started testing on our own. That&#8217;s when we realized how much is left to do here.</p>
<p>First, I&#8217;ll say that both webkit- and moz-based browsers did great in our <em>simple</em> testing of four equal-sized boxes—whose background colors fill each container. They were they equal width, and the color filled the container whether the content did or not. Good news! There is a difference in the height of the containers between -webkit and -moz which is related to their differing treatment of the bottom margin on the paragraph inside each box. I don&#8217;t know which one is right, but find it odd that when Webkit allows the margin to escape, it doesn&#8217;t push the next element away as can happen in a floated/non-floated layout. (But that&#8217;ll be another experiment.)</p>
<ol>
<li><a href="http://w3conversions.com/sandbox/css3/flexbox/four_equal_nocontent.html">Four equal boxes</a></li>
<li><a href="http://w3conversions.com/sandbox/css3/flexbox/four_equal_equalcontent.html">Equal amounts of content</a></li>
</ol>
<p>The <a href="http://hacks.mozilla.org/2010/04/the-css-3-flexible-box-model/">demos shown on the Mozilla site</a> appear to work, but in real life really don&#8217;t yet work as expected.The demos work because there&#8217;s not really content in the boxes—and in that situation, the flex box does work. But check our tests to create four equal boxes <em>with</em> content—especially content that varies in length. Less than wonderful.</p>
<ol start="3">
<li><a href="http://w3conversions.com/sandbox/css3/flexbox/four_equal_varied.html">Varied content</a></li>
<li><a href="http://w3conversions.com/sandbox/css3/flexbox/four_equal_varied2.html">More varied content</a></li>
</ol>
<p>On vacation (when else is there time!?), I was reading Zoe Gillenwater&#8217;s excellent book, <a href="http://stunningcss3.com/index.php">Stunning CSS3</a>. If you want a well-written, easy to understand, beautiful book on the new CSS3 capabilities, I highly recommend this one. Anyway, the last chapter of the book is about upcoming layout possibilities—most of which covers the flexible box model. It got me thinking about my earlier testing. I started playing around with having widths on one or more of the boxes. These results didn&#8217;t really do what I expected.</p>
<p>If I give three of the boxes a width, with one set to box-flex:1, it will fill the remaining space. It doesn&#8217;t seem to matter how much content is in them.</p>
<ol start="5">
<li><a href="http://w3conversions.com/sandbox/css3/flexbox/four_equal_varied3.html">Example of three with widths</a></li>
</ol>
<p>This seems to be the most reliable way to use the flexible box layout right now—to take up remaining space.</p>
<p>I then, bravely, placed box-flex:1 on two of the four boxes. This, as I read the spec, should have added up the widths of the two boxes where the width property exists and then equally divide what is left over between the two flexible boxes. If I had set one box to a value of 2 and the other to 1, it should divide it into thirds, giving 2/3 to the box with a value of 2. Instead, we went back to unreliability. The boxes don&#8217;t split the space left evenly, they seem to split it based on their content. This may be the way it should work, and I may be misunderstanding the spec, but it seems very unreliable as a form of layout.</p>
<ol start="6">
<li><a href="http://w3conversions.com/sandbox/css3/flexbox/four_equal_varied4.html">Two box-flex and two with widths</a> (the widths are correct)</li>
<li><a href="http://w3conversions.com/sandbox/css3/flexbox/four_equal_varied5.html">Two box-flex which are <em>not</em> next to each other</a> with the same results</li>
</ol>
<p>Finally, I gave the first and last boxes pixel widths. The middle two both had box-flex:1. They have substantially different amounts of content. The larger literally suffocates the smaller amount of content—even though they should be splitting it more evenly as I read it.</p>
<ol start="8">
<li><a href="http://w3conversions.com/sandbox/css3/flexbox/four_equal_varied6.html">The second box is overflowing its boundaries</a> even though each line is a single word—causing the page to be much taller than it should.</li>
<li><a href="http://w3conversions.com/sandbox/css3/flexbox/four_equal_varied7.html">A small increase in content</a> made it slightly wider and the page is closer to the height it should be.</li>
</ol>
<p>I&#8217;m playing with this and don&#8217;t feel I&#8217;m the definitive expert. But I do think something is far from correct in browser implementations—or the spec needs to be much more clear. Either the boxes should be split evenly, or they should be split so that they&#8217;re the same height, but widths are based on content within (though that&#8217;s not what I think I read in the spec). Currently, the odd splitting, based on content, but not even at all, is baffling me.</p>
<p><strong>Update</strong>: Based on Zoe&#8217;s comment, I did a few more tests. If widths are given to <em>all</em> boxes and then box-flex is added to one (or more), the dividing of space between the boxes is reliable. It seems to be when you leave the browser to use the intrinsic width as a default that unmatched content amounts gives you extremely unreliable results.</p>
<ul>
<li><a href="http://w3conversions.com/sandbox/css3/flexbox/four_equal_width.html">Equally sized boxes with 1 box-flex</a> — extra 200px left in container</li>
<li><a href="http://w3conversions.com/sandbox/css3/flexbox/four_equal_width2.html">Equally sized boxes with 1 box-flex</a> — overage of 200px</li>
<li><a href="http://w3conversions.com/sandbox/css3/flexbox/four_equal_width3.html">Equally sized boxes with 2 box-flex:1</a> — extra 200px left in container</li>
<li><a href="http://w3conversions.com/sandbox/css3/flexbox/four_equal_width4.html">Equally sized boxes with 2 box-flex</a> — one set to 1 and the other 2</li>
</ul>
<p>Opera hasn&#8217;t implemented flexible boxes yet (they&#8217;re reportedly waiting for a more complete spec) and though this <a href="http://caniuse.com/#feat=flexbox">may be included in Internet Explorer 9</a>, as you might expect it&#8217;s certainly not in any of the earlier versions. (<strong>Update</strong>: It appears it&#8217;s not made it into the RC which is feature complete.)</p>
<p>Once this is implemented more fully, it&#8217;s going to be a very interesting new weapon for the arsenal. Kinda makes you wish someone working on CSS3 had realized our lack of proper layout is more important than making things move around and transform—we already have Javascript for that anyway.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.w3conversions.com/2011/02/css3-flexible-box-model-layout-coolness-also-oddities-confusion/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>HTML5 and Video: 4 part video series</title>
		<link>http://blog.w3conversions.com/2011/01/html5-and-video-4-part-video-series/</link>
		<comments>http://blog.w3conversions.com/2011/01/html5-and-video-4-part-video-series/#comments</comments>
		<pubDate>Mon, 10 Jan 2011 21:16:55 +0000</pubDate>
		<dc:creator>Stephanie Rewis</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[HTML5]]></category>

		<guid isPermaLink="false">http://blog.w3conversions.com/?p=870</guid>
		<description><![CDATA[I&#8217;ve had a couple people ask me to link on my blog to my four part video series on HTML5 and video. Currently, it&#8217;s a feature on the AdobeTV home page, but I reckon that will be for just a little while. After that, you can link directly to Part 1 (7:18), Part 2 (10:31), [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>I&#8217;ve had a couple people ask me to link on my blog to my four part video series on HTML5 and video. Currently, it&#8217;s a feature on the <a href="http://tv.adobe.com">AdobeTV home page</a>, but I reckon that will be for just a little while. After that, you can link directly to <a href="http://tv.adobe.com/watch/adc-presents/videoandhtml5part1understandinghtml5/">Part 1 (7:18)</a>, <a href="http://tv.adobe.com/watch/adc-presents/videoandhtml5part2gettingstarted/">Part 2 (10:31)</a>, <a href="http://tv.adobe.com/watch/adc-presents/video-and-html5-part-3-maximizing-html5-video-access-with-flash/">Part 3 (6:20)</a>, and <a href="http://tv.adobe.com/watch/adc-presents/video-and-html5-part-4-flash-with-html5-fallback-choosing-a-path/">Part 4 (9:41)</a>.</p>
<p>If you follow all the way through to Part 4, I cover some alternate methods to embed HTML5 video depending on your needs. Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.w3conversions.com/2011/01/html5-and-video-4-part-video-series/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
