 <?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>Broken Links &#187; css</title>
	<atom:link href="http://www.broken-links.com/category/css/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.broken-links.com</link>
	<description>Thoughts on web development and technologies by Peter Gasston</description>
	<lastBuildDate>Fri, 30 Jul 2010 00:10:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<atom:link rel='hub' href='http://www.broken-links.com/?pushpress=hub'/>
		<item>
		<title>Using SVG in backgrounds with PNG fallback</title>
		<link>http://www.broken-links.com/2010/06/14/using-svg-in-backgrounds-with-png-fallback/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=using-svg-in-backgrounds-with-png-fallback</link>
		<comments>http://www.broken-links.com/2010/06/14/using-svg-in-backgrounds-with-png-fallback/#comments</comments>
		<pubDate>Mon, 14 Jun 2010 13:04:38 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Miscellanea]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[background]]></category>
		<category><![CDATA[png]]></category>
		<category><![CDATA[svg]]></category>
		<category><![CDATA[technique]]></category>

		<guid isPermaLink="false">http://www.broken-links.com/?p=861</guid>
		<description><![CDATA[My last post was about using SVG values for the background-image property, and I pointed out one big problem with the technique: The drawback of this is that it’s not ready for use just yet—browsers that don’t support SVG in background-image will not provide any fallback, even if you supply another background-image value; so in [...]]]></description>
			<content:encoded><![CDATA[<p>My last post was about <a href="http://www.broken-links.com/2010/06/08/using-svg-in-background-image/">using <abbr title="Scalable Vector Graphics">SVG</abbr> values for the <code>background-image</code> property</a>, and I pointed out one big problem with the technique:</p>
<blockquote><p>
The drawback of this is that it’s not ready for use just yet—browsers that don’t support <abbr>SVG</abbr> in <code>background-image</code> will not provide any fallback, even if you supply another <code>background-image</code> value; so in non-supporting browsers, no image at all will be displayed.
</p></blockquote>
<p>This was annoying me a little, and I couldn’t find any workarounds that didn’t use JavaScript. However, after a bit of head-scratching I’ve come up with a way to get around it.</p>
<p><span id="more-861"></span></p>
<p>In order to have browsers which don’t support <abbr>SVG</abbr> display a <abbr>PNG</abbr> image instead, you should use this code:</p>
<pre>E {
background-image:  url('image.png');
background-image:  none,url('image.svg'), url('image.png');
background-size: 100% 100%;
}</pre>
<p>Browsers which support <abbr>SVG</abbr> and multiple backgrounds will show the <abbr>SVG</abbr>; browsers which don’t support <abbr>SVG</abbr> will fall back to the <abbr>PNG</abbr> in the <code>background-image</code> stack. As far as I know, all browsers which support <abbr>SVG</abbr> also support multiple backgrounds; any which don’t (i.e. <abbr>IE</abbr>) will fall back to the <abbr>PNG</abbr> in the first <code>background-image</code> declaration.</p>
<p><strong>Update:</strong> Thanks to a comment I have amended this technique. <abbr>IE</abbr> was not falling back to the first <code>background-image</code> as it should have done, but I got around this by adding a <em>none</em> value in the declaration. This invalidates the rule in <abbr>IE</abbr> and forces the fallback to the previous declaration.</p>
<p>You can see a demonstration of it here: <a href="http://www.broken-links.com/tests/svg/svg_hack.html">Background SVG with PNG fallback — demo</a>.</p>
<p>This technique is not without its own caveats, however. First and foremost, the <abbr>SVG</abbr> must not have a transparent background, or else the <abbr>PNG</abbr> in the background layer below it will probably show through. Also, depending on how fast the <abbr>SVG</abbr> file loads, the <abbr>PNG</abbr> file may show up first and then be covered over.</p>
<p>Finally, if you’re using the same background image at different sizes and either your browser doesn’t support <code>background-size</code> or you don’t want automatically resized <abbr>PNG</abbr>s, you’ll have to use the rule for each instance:</p>
<pre>E {
background-image:  url('image-small.png');
background-image:  none,url('image.svg'), url('image-small.png');
background-size: 100% 100%;
}

F {
background-image:  url('image-large.png');
background-image:  none,url('image.svg'), url('image-large.png');
background-size: 100% 100%;
}</pre>
<p>And of course, if you’re creating multiple <abbr>PNG</abbr> images anyway, you may feel there’s not a lot of point in using <abbr>SVG</abbr> images as well. I’ll be the first to admit that this isn’t a completely bulletproof technique, but I offer it in the hope that in certain circumstances it could be useful.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.broken-links.com/2010/06/14/using-svg-in-backgrounds-with-png-fallback/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Using SVG in background-image</title>
		<link>http://www.broken-links.com/2010/06/08/using-svg-in-background-image/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=using-svg-in-background-image</link>
		<comments>http://www.broken-links.com/2010/06/08/using-svg-in-background-image/#comments</comments>
		<pubDate>Tue, 08 Jun 2010 22:14:51 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[XML]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[standards]]></category>
		<category><![CDATA[firefox 4]]></category>
		<category><![CDATA[opera]]></category>
		<category><![CDATA[safari]]></category>
		<category><![CDATA[svg]]></category>

		<guid isPermaLink="false">http://www.broken-links.com/?p=843</guid>
		<description><![CDATA[While having a look through the list of features for developers planned for Firefox 4 earlier today, I noticed this: You can now use SVG with the img element, as well as the background image in CSS. I know you can already use SVG in background-image with Safari, Chrome and Opera, and this, coupled with [...]]]></description>
			<content:encoded><![CDATA[<p>While having a look through the list of <a href="https://developer.mozilla.org/en/Firefox_4_for_developers">features for developers planned for Firefox 4</a> earlier today, I noticed this:</p>
<blockquote><p>
You can now use <abbr title="Scalable Vector Graphics">SVG</abbr> with the <code>img</code> element, as well as the background image in <abbr>CSS</abbr>.
</p></blockquote>
<p>I know you can already use <abbr>SVG</abbr> in <code>background-image</code>  with Safari, Chrome and Opera, and this, coupled with Internet Explorer’s push towards <abbr>SVG</abbr> and the strong chance this will be available in IE9, made me decide to take a closer look.</p>
<p><span id="more-843"></span></p>
<p>I’ve put together a little demo page which you can view with Safari, Chrome or Opera — ironically, this doesn’t seem to be implemented in Firefox nightlies at the time of writing:</p>
<p><a href="http://www.broken-links.com/tests/svg/"><abbr>SVG</abbr> in background-image demo</a></p>
<p>The same image is used many times at different sizes on this page, displaying the grand advantage of <abbr>SVG</abbr> over <abbr>PNG</abbr>: it can be resized without the same loss of quality that bitmap images suffer.</p>
<p>Implementation is very easy:</p>
<pre>E { background-image: url('image.svg'); }</pre>
<p>If you’re looking at the demo in a WebKit browser, you’ll notice an empty box labelled ‘<abbr>SVGZ</abbr>’ — the <code>background-image</code> on this element is in the compressed <abbr>SVG</abbr> format, <abbr>SVGZ</abbr>, which only Opera supports:</p>
<pre>E { background-image: url('image.svgz'); }</pre>
<p>The file size is less than one-third of the non-compressed version.</p>
<p>The drawback of this is that it’s not ready for use just yet — browsers that don’t support <abbr>SVG</abbr> in <code>background-image</code> will not provide any fallback, even if you supply another <code>background-image</code> value; so in non-supporting browsers, no image at all will be displayed.</p>
<p><strong>Update:</strong> I’ve found a technique for <a href="http://www.broken-links.com/2010/06/14/using-svg-in-backgrounds-with-png-fallback/">using <abbr>SVG</abbr> images with <abbr>PNG</abbr> fallback</a>.</p>
<p><em>The image used in this demo is from <a href="http://www.allfreevectors.com/free-tree-with-heart-13840.html">All Free Vectors</a>.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.broken-links.com/2010/06/08/using-svg-in-background-image/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>New to Firefox: –moz-calc and :-moz-any</title>
		<link>http://www.broken-links.com/2010/05/17/new-to-firefox-moz-calc-and-moz-any/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=new-to-firefox-moz-calc-and-moz-any</link>
		<comments>http://www.broken-links.com/2010/05/17/new-to-firefox-moz-calc-and-moz-any/#comments</comments>
		<pubDate>Mon, 17 May 2010 13:00:37 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[browsers]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[calculations]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[experimental]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[selectors]]></category>

		<guid isPermaLink="false">http://www.broken-links.com/?p=795</guid>
		<description><![CDATA[The latest nightly releases of what will become Firefox 4 have implemented a couple of experimental new CSS features. The –moz-calc function allows calculations on length values, and the :-moz-any selector permits grouping of simple selectors. If you have a nightly build of Firefox you can see a little demo I’ve put together of them [...]]]></description>
			<content:encoded><![CDATA[<p>The latest nightly releases of what will become Firefox 4 have <a href="http://www.squarefree.com/burningedge/2010/05/12/2010-05-12-trunk-builds/">implemented a couple of experimental new CSS features</a>. The <code>–moz-calc</code> function allows calculations on length values, and the <code>:-moz-any</code> selector permits grouping of simple selectors.</p>
<p>If you have a <a href="http://www.mozilla.org/developer/#builds">nightly build of Firefox</a> you can see a little <a href="http://www.broken-links.com/tests/calc-any/">demo</a> I’ve put together of them in action.</p>
<p><span id="more-795"></span></p>
<p>The first new property is <code>–moz-calc</code>, which is the experimental implementation of CSS3’s <a href="http://www.w3.org/TR/css3-values/#calc"><code>calc</code> function</a>. This allows you to perform simple mathematical functions on length values.</p>
<p>Take a look at the <a href="http://www.broken-links.com/tests/calc-any/">demo</a>, where you’ll see two <code>h2</code> elements; both have the same styles applied to them, but the second also has some extra <code>calc</code> values for some of its properties:</p>
<pre>font-size: -moz-calc(120% * 3);
letter-spacing: -moz-calc(0 + 2px);
text-shadow: rgba(0,0,0,0.33) -moz-calc(4px / 2) -moz-calc(4px / 2);
word-spacing: -moz-calc(0.75em - 0.25em);</pre>
<p>The <code>font-size property</code> has a value of <em>120% * 3</em>, or <em>360%;</em> the <code>letter-spacing</code> property has a value of <em>0 + 2px</em>, or <em>2px</em>; the <code>text-shadow</code> property has x and y offset values of <em>4px / 2</em>, or <em>2px</em>; and the <code>word-spacing</code> property has a value of <em>0.75em — 0.25em</em>, or <em>0.5em</em>.</p>
<p>The values themselves are abitrary and not important; what matters is that we’re doing calculations in CSS!</p>
<p>At the moment the only properties which support <code>–moz-calc</code> values are:<code>–moz-column-rule-width</code>, <code>–moz-column-width</code>, <code>letter-spacing</code>, <code>word-spacing</code>, <code>marker-offset</code>, <code>outline-offset</code>, <code>border-spacing</code>, <code>text-shadow</code> and <code>–moz-box-shadow</code>; but work is underway to add this to all properties which accept length values.</p>
<p><strong>Update:</strong> You can read more about <code>calc()</code> at <a href="http://hacks.mozilla.org/2010/06/css3-calc/">hacks.mozilla.org</a>.</p>
<p>Also implemented is a new selector, <code>:-moz-any</code>. With this you can group other simple selectors, removing the need for repetitive code. Consider, for example, a typical web page which has many types of list, and nested lists:</p>
<pre>
&lt;ul&gt;
  &lt;li&gt;We are all list items now
    &lt;ul&gt;
      &lt;li&gt;We are all list items now&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
  &lt;li&gt;We are all list items now
    &lt;ul&gt;
      &lt;li&gt;We are all list items now&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ol&gt;
&lt;menu&gt;
  &lt;li&gt;We are all list items now
    &lt;ul&gt;
      &lt;li&gt;We are all list items now&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/menu&gt;
</pre>
<p>If we wanted to select all of the <code>li</code> children of nested <code>ul</code> elements we would currently have to do this:</p>
<pre>ul ul li, ol ul li, menu ul li { property: value; }</pre>
<p>But with <code>–moz-any</code> we can group the selectors like so:</p>
<pre>:-moz-any(ul,ol,menu) ul li { property: value; }</pre>
<p>In my <a href="http://www.broken-links.com/tests/calc-any/">demo</a> page I’ve provided a couple of examples; the first selects all list types which are direct child elements of the body:</p>
<pre>body > :-moz-any(ol, ul, menu) {
	float: left;
	width: 33%;
}</pre>
<p>And the next selects list items of the lists which are children of those elements:</p>
<pre>:-moz-any(ol, ul, menu) ul li {
	font-weight: bold;
	margin-left: 0;
}</pre>
<p>The <code>:any</code> selector isn’t in any of the CSS3 modules, but it’s pretty useful and definitely a candidate for inclusion. You can read more about it on <a href="http://dbaron.org/log/20100424-any">the blog of David Baron</a>.</p>
<p><strong>Update: </strong>Changed the examples for clarity.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.broken-links.com/2010/05/17/new-to-firefox-moz-calc-and-moz-any/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>An updated studio-style backdrop with CSS3</title>
		<link>http://www.broken-links.com/2010/04/26/an-updated-studio-style-backdrop-with-css3/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=an-updated-studio-style-backdrop-with-css3</link>
		<comments>http://www.broken-links.com/2010/04/26/an-updated-studio-style-backdrop-with-css3/#comments</comments>
		<pubDate>Mon, 26 Apr 2010 18:43:20 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Asides]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[css transformations]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[demo]]></category>

		<guid isPermaLink="false">http://www.broken-links.com/?p=784</guid>
		<description><![CDATA[I’ve updated my post, Create a studio-style backdrop with CSS3, as I realised a way to do the reflection without requiring an extra image — using the scale transformation function to flip the image vertically. The demo works in Firefox and WebKit.]]></description>
			<content:encoded><![CDATA[<p>I’ve updated my post, <a href="http://www.broken-links.com/2010/03/22/create-a-studio-style-backdrop-with-css3/">Create a studio-style backdrop with CSS3</a>, as I realised a way to do the reflection without requiring an extra image — using the <code>scale</code> transformation function to flip the image vertically.</p>
<p><a href="http://www.broken-links.com/tests/studio_effect/">The demo works in Firefox and WebKit</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.broken-links.com/2010/04/26/an-updated-studio-style-backdrop-with-css3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Create a studio-style backdrop with CSS3</title>
		<link>http://www.broken-links.com/2010/03/22/create-a-studio-style-backdrop-with-css3/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=create-a-studio-style-backdrop-with-css3</link>
		<comments>http://www.broken-links.com/2010/03/22/create-a-studio-style-backdrop-with-css3/#comments</comments>
		<pubDate>Mon, 22 Mar 2010 23:25:50 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[css]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[gradients]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[webkit]]></category>

		<guid isPermaLink="false">http://www.broken-links.com/?p=741</guid>
		<description><![CDATA[Sitepoint's Web Design blog featured an article this week called <a href="http://www.sitepoint.com/blogs/2010/03/18/create-a-studio-style-backdrop-in-photoshop/">Create A Studio Style Backdrop In Photoshop</a>, which provides instructions for making a glossy, reflective surface effect, similar to what you often see in adverts. As the title makes clear, the tutorial is for creating the effect in Photoshop - but really, the same effect is fairly easily achievable with some bleeding-edge CSS. That said, it won't work in every browser, so currently it's just a proof-of-concept piece.]]></description>
			<content:encoded><![CDATA[<p>Sitepoint’s Web Design blog featured an article this week called <a href="http://www.sitepoint.com/blogs/2010/03/18/create-a-studio-style-backdrop-in-photoshop/">Create A Studio Style Backdrop In Photoshop</a>, which provides instructions for making a glossy, reflective surface effect, similar to what you often see in adverts.</p>
<p>As the title makes clear, the tutorial is for creating the effect in Photoshop — but really, the same effect is fairly easily achievable with some bleeding-edge CSS. That said, it won’t work in every browser, so currently it’s just a proof-of-concept piece.</p>
<p><span id="more-741"></span></p>
<p>You can see the finished work here: <a href="http://www.broken-links.com/tests/studio_effect/">Create a studio-style backdrop with CSS3</a>. You’ll need Firefox 3.6, Safari 4, or Chrome to see it as intended.</p>
<p>The first step is to create the markup for the backdrop; it’s pretty simple, you just need two <code>div</code>s:</p>
<pre>&lt;div id="studio"&gt;
&lt;div id="surface"&gt;&lt;/div&gt;
&lt;/div&gt;</pre>
<p>Next, the CSS. Set <code>#studio</code> to the required dimensions — I’ve used 800x600 pixels — and set <code>#surface</code> to occupy a third of that height, and absolutely position it to the bottom of <code>#studio</code>.</p>
<p>In the Photoshop tutorial they use circles and gaussian blur to create the gloss effect, but for our CSS tutorial we’ll use gradients. We must make two (one for each <code>div</code>), using the same colours but with slightly different dimensions. And we must use a different syntax for Firefox and WebKit, as I wrote about in my article <a href="http://www.broken-links.com/2009/11/30/css-gradient-syntax-comparison-of-mozilla-and-webkit-part-2/">CSS gradient syntax: comparison of Mozilla and WebKit (Part 2)</a>:</p>
<pre>#studio {
background-image: -moz-radial-gradient(circle farthest-side, white, #011601 80%, black);
background-image: -webkit-gradient(radial, 50% 50%, 0, 50% 50%, 340, from(white), color-stop(95%, #011601), to(black));
}
#surface {
background-image: -moz-radial-gradient(circle farthest-side, white, #011601 60%, black);
background-image: -webkit-gradient(radial, 50% 50%, 0, 50% 50%, 320, from(white), color-stop(80%, #011601), to(black));
}</pre>
<p>I won’t go into the details of why the syntaxes differ — I’ve done that in-depth already — but in essence I’ve set a gradient from <i>white</i> to <i>black</i>, passing through a shade of green (<code>#011601</code>) between. This gives the green-tinted gloss effect. The radius of the gradient in <code>#surface</code> is smaller, to display a pronounced difference between the two.</p>
<p>The next step was to add the product image — I’ve used the same <a href="http://www.sxc.hu/photo/942576">generic media player</a> image by <a href="http://www.sxc.hu/profile/pzado">Pzado</a>. <del datetime="2010-04-26T13:39:31+00:00">What I wanted to do was use the same image twice and flip it with CSS, but unfortunately that’s not possible, so I’ve had to make a copy of the original and flip it vertically to create two separate images. I’ve added these to the markup</del> <strong>Update:</strong> I realised that I could use the <code>scale</code> transformation function to do this, so I just need to repeat the same image twice with a different id for each:</p>
<pre>&lt;img src="phone.png" id="product"&gt;
&lt;img src="phone.png" id="reflection"&gt;</pre>
<p>I’ve positioned these absolutely, then rotated them using the <code>transform</code> property; I’ve also made <code>#reflection</code> mostly transparent:</p>
<pre>#product {
-moz-transform: rotate(20deg);
-o-transform: rotate(20deg);
-webkit-transform: rotate(20deg);
}
#reflection {
opacity: 0.2;
-moz-transform: scale(1,-1) rotate(20deg) translate(-50px,-140px);
-o-transform: scale(1,-1) rotate(20deg) translate(-50px,-140px);
-webkit-transform: scale(1,-1) rotate(20deg) translate(-50px,-140px);
}</pre>
<p><strong>Update:</strong> So what I’ve done here is flipped the reflection image by using a negative (<em>–1</em>) value for the <code>scale</code> function; I’ve also used <code>translate</code> to reposition it directly below the main image.</p>
<p><del datetime="2010-04-26T13:39:31+00:00">WebKit rotates them nicely, but the output in Firefox is very jagged; hopefully this will be fixed in a future version.</del> <strong>Update:</strong> I was using Firefox 3.7a4 on Linux; in Firefox 3.6 (on Mac, at least) it rotates smoothly.</p>
<p>Finally, I’ve added some promotional text in <a href="http://www.theleagueofmoveabletype.com/fonts/7-league-gothic">The League Of Moveable Type’s League Gothic</a> font, using <code>@font-face</code>.</p>
<p>You can see the final result here: <a href="http://www.broken-links.com/tests/studio_effect/">Create a studio-style backdrop with CSS3</a>; as I mentioned, you’ll need Firefox 3.6, Safari 4, or Chrome to see it as intended. If you don’t have access to those, take a look at these screen grabs (click to see them full size):</p>
<p><a href="http://www.broken-links.com/wp-content/uploads/2010/03/studio-firefox.jpg"><img src="/wp-content/uploads/2010/03/studio-firefox-150x150.jpg" alt="Screenshot taken in Firefox 3.6" title="Studio-style backdrop (Firefox)" width="150" height="150" class="aligncenter size-thumbnail wp-image-761" /></a> <a href="http://www.broken-links.com/wp-content/uploads/2010/03/studio-chrome.jpg"><img src="/wp-content/uploads/2010/03/studio-chrome-150x150.jpg" alt="Screenshot taken in Google Chrome" title="Studio-style backdrop (Chrome)" width="150" height="150" class="aligncenter size-thumbnail wp-image-745" /></a> <a href="http://www.broken-links.com/wp-content/uploads/2010/03/studio-minefield.jpg"><img src="/wp-content/uploads/2010/03/studio-minefield-150x150.jpg" alt="Screenshot taken in Firefox 3.7a4" title="Studio-style backdrop (Firefox 3.7a4)" width="150" height="150" class="aligncenter size-thumbnail wp-image-746" /></a></p>
<p>So what was the point of this? An intellectual exercise, really. It’s not suitable for use on a production site, and will need some polishing to be in any way useful. But it’s fun to play around with new CSS properties, and to start to get an idea of how we can use it to replicate effects which used to only be possible in graphics packages.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.broken-links.com/2010/03/22/create-a-studio-style-backdrop-with-css3/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Help wanted: Webkit multi-columns</title>
		<link>http://www.broken-links.com/2010/02/16/help-wanted-webkit-multi-columns/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=help-wanted-webkit-multi-columns</link>
		<comments>http://www.broken-links.com/2010/02/16/help-wanted-webkit-multi-columns/#comments</comments>
		<pubDate>Tue, 16 Feb 2010 20:09:51 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Asides]]></category>
		<category><![CDATA[browsers]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[multiple columns]]></category>

		<guid isPermaLink="false">http://www.broken-links.com/?p=701</guid>
		<description><![CDATA[I’m writing about the CSS3 Multi-column layout module and I notice that WebKit supports a series of proprietary properties: –webkit-column-break-after, –webkit-column-break-before, and –webkit-column-break-inside. However, despite the documentation saying that they’re implemented in Safari 3+, I can’t seem to get any of them to work. Has anyone reading this ever seen an example of these in [...]]]></description>
			<content:encoded><![CDATA[<p>I’m writing about the CSS3 Multi-column layout module and I notice that WebKit supports a series of proprietary properties: <code>–webkit-column-break-after</code>, <code>–webkit-column-break-before</code>, and <code>–webkit-column-break-inside</code>. However, despite the documentation saying that they’re implemented in Safari 3+, I can’t seem to get any of them to work.</p>
<p>Has anyone reading this ever seen an example of these in action? I’ve searched for demos but have found nothing. If you know anything about this, please leave me a comment; your help would be gratefully appreciated.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.broken-links.com/2010/02/16/help-wanted-webkit-multi-columns/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Building Preloaded.com: The Front-end</title>
		<link>http://www.broken-links.com/2010/01/21/building-preloaded-com-the-front-end/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=building-preloaded-com-the-front-end</link>
		<comments>http://www.broken-links.com/2010/01/21/building-preloaded-com-the-front-end/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 15:53:37 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Scripting]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[glow]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.broken-links.com/?p=686</guid>
		<description><![CDATA[This post discusses the redesign project of my employer’s own website, Preloaded.com, and is cross-posted from there with permission.

At the beginning of the redesign project we agreed some design tenets: the new site should be a best-practice showcase and an opportunity to learn and use some of the latest web technologies; and it should employ existing services where practical.]]></description>
			<content:encoded><![CDATA[<p><em>This subject of this post is the redesign of my employer’s website, <a href="http://preloaded.com/">Preloaded.com</a>, and is cross-posted from the Preloaded blog with permission.</em></p>
<p>At the beginning of the redesign project we agreed some design tenets: the new site should be a best-practice showcase and an opportunity to  learn and use some of the latest web technologies; and it should employ existing services where practical.</p>
<p><span id="more-686"></span></p>
<p>To achieve the former we targeted users with the most modern web browsers, using the <a href="http://en.wikipedia.org/wiki/Progressive_enhancement">graceful (or progressive) enhancement</a> method to ensure that even with older technology, no-one would be left unable to read all of the site content.</p>
<p>The most obvious example of this is in the design of the buttons; users with a decent browser (e.g. Firefox or Safari) would see these with rounded corners — because these browsers are capable of producing them natively with the CSS3 <em>border-radius </em>declaration — while users of other browsers (e.g. Internet Explorer) would see them square:</p>
<p><img src="http://preloaded.com/site_media/uploads/blog/preloaded_frontend/comparison.jpg" alt="" width="475" height="243" /></p>
<p><em>Browser comparison. Top: Safari 4; Bottom: Internet Explorer 8</em></p>
<p>While all users see the same content, those with a modern browser are rewarded with a slightly improved experience. We used other variations of this method elsewhere throughout the site.</p>
<h2>Technology</h2>
<h3>Web Fonts</h3>
<p>In order to achieve brand consistency we had a font in mind which we were going to implement using the <a href="http://cufon.shoqolate.com/">Cufón</a> Javascript technique. During the process of adding this the font foundry clarified their licensing, excluding this font from online use in this way, so we had to scrap it and look for a different angle.</p>
<p>While we were trying out various alternatives using Flash and Javascript (we now know more about font licensing and implementation than we ever wanted to), a new solution presented itself. Using <a href="http://www.fontsquirrel.com/fontface/generator">Font Squirrel’s web font generator</a> and <a href="http://paulirish.com/2009/bulletproof-font-face-implementation-syntax/">Paul Irish’s bulletproof syntax</a> we were able to use the browsers’ own built-in font support (with <em>@font-face</em>) and achieve our desired result for 95% of our users; the other 5% will see a standard system font, as per the graceful en­hance­ment method.</p>
<h3>Glow</h3>
<p><a href="http://www.bbc.co.uk/glow/">Glow</a> is a BBC-developed Javascript library, with a jQuery-like syntax but a focus on interface widgets, which makes it easy to create animations and UI elements for websites. Having already used it briefly on a project earlier in the year, we decided it would be a good fit for what we wanted — and something new to learn.</p>
<p>The image carousel on the homepage was made with Glow, as was the slide-down contact details on each page, and the lightbox overlay effect for screenshots on the case study pages.</p>
<p>The only drawback we found with Glow was a bug in their carousel rendering in IE8; this meant that we had to force <a href="http://blogs.msdn.com/ie/archive/2008/08/27/introducing-compatibility-view.aspx">compatibility view</a> for IE8 to display as IE7, but it’s something we’re hoping to change after the next Glow release.</p>
<h3>HTML5</h3>
<p>Under the bonnet we used some cutting-edge code to mark up our content. HTML5 is a very new specification and still somewhat in a state of flux, but we used it in two different ways:</p>
<p>First was to provide semantic structure to the pages with the new structural elements (the definitions of which are still being discussed, so may not be completely correct — <a href="http://html5doctor.com/">HTML5 Doctor</a> was an invaluable resource for this).</p>
<p>Second, and of more impact to the user, was using <em>sessionStorage</em> to take advantage of the opportunities for storing data in the user’s browser. We used this in conjunction with Glow to create the carousel and slide-down effects; if you have a modern browser these are created only once and held in the browser’s storage, whereas older browsers create them anew each time you visit the page — this leads to the site being somewhat snappier in modern browsers.</p>
<h2>Conclusion</h2>
<p>Working with brand new and cutting edge features meant spending time chasing down false leads and up blind alleys, but was a great way of learning and gave us invaluable experience to take into the sites we make for our clients in future.</p>
<p>There are still one or two changes which we’ll be rolling into the site in the coming months, but if you spot any problems — or just want to talk more in-depth about the methods and techniques we’ve used — don’t hesitate to leave a comment.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.broken-links.com/2010/01/21/building-preloaded-com-the-front-end/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Opera 10.5 has support for CSS transforms</title>
		<link>http://www.broken-links.com/2009/12/22/opera-10-5-has-support-for-css-transforms/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=opera-10-5-has-support-for-css-transforms</link>
		<comments>http://www.broken-links.com/2009/12/22/opera-10-5-has-support-for-css-transforms/#comments</comments>
		<pubDate>Tue, 22 Dec 2009 20:28:30 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Asides]]></category>
		<category><![CDATA[browsers]]></category>
		<category><![CDATA[css]]></category>

		<guid isPermaLink="false">http://www.broken-links.com/?p=680</guid>
		<description><![CDATA[The Opera team have released a very early preview of their next browser, which features an updated version of their Presto rendering engine. Opera 10.5 will support CSS transforms and transitions, so I’ve updated the demos on my old post, Anime with CSS and WebKit, to reflect that.]]></description>
			<content:encoded><![CDATA[<p>The Opera team have released <a href="http://labs.opera.com/news/2009/12/22/">a very early preview of their next browser</a>, which features an updated version of their Presto rendering engine. Opera 10.5 will support CSS transforms and transitions, so I’ve updated the demos on my old post, <a href="http://www.broken-links.com/2008/07/11/anime-with-css-and-webkit/">Anime with CSS and WebKit</a>, to reflect that.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.broken-links.com/2009/12/22/opera-10-5-has-support-for-css-transforms/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSS gradient syntax: comparison of Mozilla and WebKit (Part 2)</title>
		<link>http://www.broken-links.com/2009/11/30/css-gradient-syntax-comparison-of-mozilla-and-webkit-part-2/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=css-gradient-syntax-comparison-of-mozilla-and-webkit-part-2</link>
		<comments>http://www.broken-links.com/2009/11/30/css-gradient-syntax-comparison-of-mozilla-and-webkit-part-2/#comments</comments>
		<pubDate>Mon, 30 Nov 2009 19:23:11 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[browsers]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[standards]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[syntax]]></category>
		<category><![CDATA[webkit]]></category>

		<guid isPermaLink="false">http://www.broken-links.com/?p=649</guid>
		<description><![CDATA[In <a href="/2009/11/26/css-gradient-syntax-comparison-of-mozilla-and-webkit/">the first part of this post</a> I gave a potted history of the differing syntaxes, and provided an overview of how that affected linear gradients. In this second part I'm going to look at radial gradients.

Here the syntaxes diverge slightly more, with WebKit requiring more values than Mozilla; while that adds some flexibility, it also increases the complexity.]]></description>
			<content:encoded><![CDATA[<p>In <a href="http://www.broken-links.com/2009/11/26/css-gradient-syntax-comparison-of-mozilla-and-webkit/">the first part of this post</a> I gave a potted history of the differing syntaxes, and provided an overview of how that affected linear gradients. In this second part I’m going to look at radial gradients.</p>
<p>Here the syntaxes diverge slightly more, with WebKit requiring more values than Mozilla; while that adds some flexibility, it also increases the complexity.</p>
<p><span id="more-649"></span></p>
<p>I’ll be using the same page of examples, which you’ll need to view in Safari / Chrome (or other WebKit derivative) or Firefox 3.6 (beta 3+):</p>
<p><a href="http://www.broken-links.com/tests/gradients/">CSS Gradients comparison: Mozilla &amp; WebKit</a></p>
<h2>Radial gradients</h2>
<p>As with linear gradients, the key differentiation between the <a href="https://developer.mozilla.org/en/CSS/-moz-radial-gradient">Mozilla syntax</a> and the <a href="http://developer.apple.com/safari/library/documentation/AppleApplications/Reference/SafariCSSRef/Articles/Functions.html#//apple_ref/doc/uid/TP40007955-SW25">WebKit syntax</a> is that the latter requires a start and end point, whereas the former is constrained by the bounding box.</p>
<p>You can see in this first example (<strong>Radial 1</strong>) that the Mozilla syntax is much shorter when making a simple two-colour radial gradient:</p>
<pre>-moz-radial-gradient(green, yellow);
-webkit-gradient(radial, center center, 0, center center, 70.5, from(green), to(yellow));</pre>
<p>In Mozilla’s case I set only start and end <code>color-stop</code>s; for WebKit I must specify a position (<em>50% 50%</em>) and radius (<em>0</em> — I’ll explain that later) for the start point, and a position (<em>50% 50%</em>) and radius (<em>70.5</em>) for the end point, as well as the <code>color-stop</code>s.</p>
<p>As far as I can see the radius value has to be a value in pixels, so in order for the end radius to be the diagonal of the square (where Mozilla defaults to) you need to use the calculation<em> (side)(sqrt(2))</em> — or, do what I did and use this <a href="http://easycalculation.com/area/square.php">online calculator</a>.</p>
<p>In the next example (<strong>Radial 2</strong>) I’ve offset the center of the gradient and set it to end at the furthest edge of the containing box:</p>
<pre>-moz-radial-gradient(40% 40%, farthest-side, green, yellow);
-webkit-gradient(radial, 40% 40%, 0, 40% 40%, 60, from(green), to(yellow));</pre>
<p>And then used the same center offset but constrained the radius to the distance of the nearest wall (<strong>Radial 3</strong>):</p>
<pre>-moz-radial-gradient(40% 40%, closest-side, green, yellow);
-webkit-gradient(radial, 40% 40%, 0, 40% 40%, 40, from(green), to(yellow));</pre>
<p>As you can see, Mozilla takes a series of constants using natural language — <code>farthest-side</code>, <code>closest-side</code>, <code>contain</code>, etc — to set the limits of the gradient, where WebKit accepts only pixel values. The advantage to the former approach is that the syntax is simpler and no calculations are required; the disadvantage is that if you want to create a radial gradient that is smaller than the limits of the containing box, you have to combine it with the <code>background-size</code> property.</p>
<p>Next (<strong>Radial 4</strong>) I’ve set the center of the gradient to the top-right corner, using three colours equally distributed; here’s where you can start to see the WebKit syntax start to become really unwieldy:</p>
<pre>-moz-radial-gradient(right top, green, yellow, blue);
-webkit-gradient(radial, right top, 0, right top, 141, from(green), color-stop(50%, yellow), to(blue));</pre>
<p>With WebKit I again have to specify start and end points (with radii), and also specify the stop position of the middle colour. Both outcomes are the same, but the Mozilla syntax is significantly easier.</p>
<p>One aspect of WebKit’s syntax which allows for more flexibility in a gradient is the start point and end point; by providing two separate values you can set the start gradient at a different point to the end gradient, as well as providing different radius values, allowing for effects that Mozilla can’t easily replicate (<strong>Radial 5</strong>):</p>
<pre>-moz-radial-gradient(60% 60%,circle contain,yellow,green 75%,rgba(255,255,255,0));
-webkit-gradient(radial,45% 45%,5,60% 60%,40,from(yellow),color-stop(75%, green),to(rgba(255,255,255,0)));</pre>
<p>You can see how that is rendered here (Mozilla on the left, WebKit on the right):</p>
<p><img src="/wp-content/uploads/2009/11/radial_gradient.png" alt="Comparison of CSS gradients" width="200" height="100" /></p>
<p>Achieving the same effect is only possible in Mozilla by using multiple values on the <code>background-image</code> property, <del datetime="2009-11-30T22:04:27+00:00">along with <code>background-size</code></del> (<strong>Update:</strong> This isn’t necessary; see <a href="#comment-35677">Tab Atkins Jr’s comment</a>, below).</p>
<h2>Conclusions</h2>
<p>While the (original) WebKit syntax does allow for a few effects that the simpler Mozilla implementation can’t easily copy, I think these are really edge cases and the simplicity of the newer syntax is more than ample compensation. It seems the CSS WG agree, which is why the simple syntax is to become an official proposal; I hope the WebKit team accept the proposal and implement it soon.</p>
<p>It was suggested that I also compare these with <a href="http://msdn.microsoft.com/en-us/library/ms532997%28VS.85%29.aspx">Internet Explorer’s Gradient filter</a>, but that’s a browser-specific implementation that has no chance of becoming a standard, so I didn’t feel it was suitable for this article; perhaps in a future extension.</p>
<p><strong>Update:</strong> Just after I finished this article, <a href="http://hacks.mozilla.org/2009/11/css-gradients-firefox-36/">Mozilla Hacks published an in-depth look at the new syntax</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.broken-links.com/2009/11/30/css-gradient-syntax-comparison-of-mozilla-and-webkit-part-2/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>CSS gradient syntax: comparison of Mozilla and WebKit</title>
		<link>http://www.broken-links.com/2009/11/26/css-gradient-syntax-comparison-of-mozilla-and-webkit/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=css-gradient-syntax-comparison-of-mozilla-and-webkit</link>
		<comments>http://www.broken-links.com/2009/11/26/css-gradient-syntax-comparison-of-mozilla-and-webkit/#comments</comments>
		<pubDate>Thu, 26 Nov 2009 15:48:32 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[browsers]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[standards]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[gradients]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[webkit]]></category>

		<guid isPermaLink="false">http://www.broken-links.com/?p=624</guid>
		<description><![CDATA[CSS Gradients were <a href="http://webkit.org/blog/175/introducing-css-gradients/">originally proposed by the WebKit team</a> in April 2008, modified from the syntax proposed for <a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#colors-and-styles">the Canvas element of HTML5</a>. In August of this year, Mozilla announced <a href="/2009/08/08/new-background-rules-in-firefox-3-6/">an implementation slightly modified from that of WebKit</a> would be in the next version of Firefox (3.6).

Since then, however, the <abbr title="CSS Working Group">CSS WG</abbr> have discussed a <a href="http://www.xanthir.com/:4bhipd">different syntax</a>, and <a href="http://www.w3.org/blog/CSS/2009/10/01/resolutions_79">a resolution passed</a> to add this to the <a href="http://www.w3.org/TR/css3-images/">Image Values module</a>. <a href="http://weblogs.mozillazine.org/roc/archives/2009/11/css_gradient_sy.html">Mozilla have decided to implement the new syntax</a>, which is simpler than WebKit's but less flexible.

In this article, which will be split into at least two parts, I'm going to compare the two syntaxes.]]></description>
			<content:encoded><![CDATA[<p>CSS Gradients were <a href="http://webkit.org/blog/175/introducing-css-gradients/">originally proposed by the WebKit team</a> in April 2008, modified from the syntax proposed for <a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#colors-and-styles">the Canvas element of HTML5</a>. In August of this year, Mozilla announced that <a href="http://www.broken-links.com/2009/08/08/new-background-rules-in-firefox-3-6/">an implementation slightly modified from that of WebKit</a> would be in the next version of Firefox (3.6).</p>
<p>Since then, however, the <abbr title="CSS Working Group">CSS WG</abbr> have discussed a <a href="http://www.xanthir.com/:4bhipd">different syntax</a>, and <a href="http://www.w3.org/blog/CSS/2009/10/01/resolutions_79">a resolution was passed</a> to add this to the <a href="http://www.w3.org/TR/css3-images/">Image Values module</a>. <a href="http://weblogs.mozillazine.org/roc/archives/2009/11/css_gradient_sy.html">Mozilla have decided to implement the new syntax</a>, which is simpler than WebKit’s but less flexible.</p>
<p>In this article, which will be split into at least two parts, I’m going to compare the two syntaxes.</p>
<p><span id="more-624"></span></p>
<p>Throughout both parts, I will be referring to the following demo page; you’ll need to be using Safari 4, Chrome, or Firefox 3.6beta3+ in order to see it working:</p>
<p><a href="http://www.broken-links.com/tests/gradients/">CSS Gradients comparison: Mozilla &amp; WebKit</a>.</p>
<p>The first and most noticeable difference is that the Mozilla implementation uses two properties – <code>–moz-linear-gradient</code> and <code>–moz-radial-gradient</code> – whereas WebKit use only a single property – <code>–webkit-gradient</code> – with two type values: <code>linear</code> and <code>radial</code>. That should become clearer as I progress.</p>
<p>Please note that I’ve tried to use the simplest syntax possible for all examples, but there may be occasions where I’ve slipped up. Feel free to correct me.</p>
<h2>Linear gradients</h2>
<p>The <a href="https://developer.mozilla.org/en/CSS/-moz-linear-gradient">Mozilla syntax</a> accepts three different properties: start point, angle of direction, and colour stops. <a href="http://developer.apple.com/safari/library/documentation/AppleApplications/Reference/SafariCSSRef/Articles/Functions.html#//apple_ref/doc/uid/TP40007955">WebKit’s</a> also takes three (excluding type: linear, as mentioned previously): start point, end point, and colour stops.</p>
<p>So a simple left-right gradient change (<strong>Linear 1</strong>) between two colours in Mozilla:</p>
<pre>-moz-linear-gradient (left, green, yellow);</pre>
<p>The <em>left</em> value sets the default position to the middle of the left-hand side (<em>0deg</em>, <em>0 50%</em> or <em>left center</em> does the same); the line then goes horizontally out passing from green to yellow in equal proportion.</p>
<p>To get the same pattern in WebKit:</p>
<pre>-webkit-gradient (linear, left center, right center, from(green), to(yellow));</pre>
<p>The start point is at <em>left center</em> (I could use unit values or percentages as Mozilla does, but not an angle), the end point at <em>right center</em>, and it also passes from green to yellow in equal proportion.</p>
<p>We can tweak those values slightly to get a diagonal gradient from the bottom left corner (<strong>Linear 2</strong>); for Mozilla I specify an angle, for WebKit I set new start and end points:</p>
<pre>-moz-linear-gradient(45deg,green,yellow);
-webkit-gradient(linear,left bottom,right top,from(green),to(yellow));</pre>
<p>I’ll tweak those values again to make a bottom-top gradient with an extra colour (<strong>Linear 3</strong>):</p>
<pre>-moz-linear-gradient(90deg,green,yellow,blue);
-webkit-gradient(linear,center bottom,center top,from(green),color-stop(0.5, yellow),to(blue));</pre>
<p>The big difference here is that Mozilla distributes the three colours proportionally, whereas WebKit’s <code>color-stop</code> function requires that I set a stop point — I’ve used <em>0.5</em> here, although I could have used <em>50%</em>. The <code>from</code> and <code>to</code> functions are shorthand for <code>color-stop</code> values <em>0</em> and <em>1</em> (or <em>100%</em>), respectively.</p>
<p>I don’t have to distribute the colours evenly, however; by changing the value in the colour stop I can choose my own ratio. In the final example (<strong>Linear 4</strong>) I’ve set the yellow to begin 25% along the length of the gradient:</p>
<pre>-moz-linear-gradient(90deg,green,yellow 25%,blue);
-webkit-gradient(linear,center bottom,center top,from(green),color-stop(25%, yellow),to(blue));</pre>
<p>For Webkit I only have to update the <code>color-stop</code> value; for Mozilla, I have to specify it.</p>
<h2>Conclusions</h2>
<p>There are a few differences in the syntaxes for linear gradients, but they’re not major; Mozilla use an angle value, where WebKit use a point-to-point system. I’d say Mozilla’s is the easier to grasp purely because of its brevity, but it’s not that important. In the second part of this article I’ll talk about radial gradients, and it’s there that the differences in implementation become more pronounced.</p>
<p><strong>Update:</strong> <a href="http://www.broken-links.com/2009/11/30/css-gradient-syntax-comparison-of-mozilla-and-webkit-part-2/">Part 2 of this article, about Radial Gradients, is now available</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.broken-links.com/2009/11/26/css-gradient-syntax-comparison-of-mozilla-and-webkit/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
	</channel>
</rss>
