<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: A Shocking Truth about CSS</title>
	<atom:link href="http://blog.twoalex.com/2010/02/26/a-shocking-truth-about-css/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.twoalex.com/2010/02/26/a-shocking-truth-about-css/</link>
	<description>Alexes?  Alex&#039;s?  Alexi?  Alexim?  Alexen?</description>
	<lastBuildDate>Mon, 30 Jan 2012 03:30:53 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Diego Perini</title>
		<link>http://blog.twoalex.com/2010/02/26/a-shocking-truth-about-css/comment-page-1/#comment-30</link>
		<dc:creator>Diego Perini</dc:creator>
		<pubDate>Mon, 15 Mar 2010 01:26:37 +0000</pubDate>
		<guid isPermaLink="false">http://blog.twoalex.com/?p=511#comment-30</guid>
		<description>You may have a look at the &quot;match()&quot; method in NWMatcher selector engine, it does exactly that, compiles CSS 3 selectors to pure &quot;bottom-up&quot; ad-hoc resolver functions. This is what makes so incredibly fast and specs compliant.

I have setup a comparison between &quot;internal&quot; CSS selectors and frameworks/libraries selector engines here:

http://dl.dropbox.com/u/598365/css3-compat/css3-compat.html

the test was to measure consistency between the various implementation and frameworks actual browsers support and  bug fixing capabilities. It looks like too much talk about speed instead of consistency.

@steve, selectors are used in several ways, there are situation where the &quot;match()&quot; or equivalent method is going to be called several times per seconds as in event delegation, so selectors engines performance is key to faster UI interactions, though some kb more to download :-)

Thank you for the good article.</description>
		<content:encoded><![CDATA[<p>You may have a look at the &#8220;match()&#8221; method in NWMatcher selector engine, it does exactly that, compiles CSS 3 selectors to pure &#8220;bottom-up&#8221; ad-hoc resolver functions. This is what makes so incredibly fast and specs compliant.</p>
<p>I have setup a comparison between &#8220;internal&#8221; CSS selectors and frameworks/libraries selector engines here:</p>
<p><a href="http://dl.dropbox.com/u/598365/css3-compat/css3-compat.html" rel="nofollow">http://dl.dropbox.com/u/598365/css3-compat/css3-compat.html</a></p>
<p>the test was to measure consistency between the various implementation and frameworks actual browsers support and  bug fixing capabilities. It looks like too much talk about speed instead of consistency.</p>
<p>@steve, selectors are used in several ways, there are situation where the &#8220;match()&#8221; or equivalent method is going to be called several times per seconds as in event delegation, so selectors engines performance is key to faster UI interactions, though some kb more to download <img src='http://blog.twoalex.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Thank you for the good article.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Steve Souders</title>
		<link>http://blog.twoalex.com/2010/02/26/a-shocking-truth-about-css/comment-page-1/#comment-25</link>
		<dc:creator>Steve Souders</dc:creator>
		<pubDate>Wed, 10 Mar 2010 17:50:13 +0000</pubDate>
		<guid isPermaLink="false">http://blog.twoalex.com/?p=511#comment-25</guid>
		<description>When I started researching performance of CSS selectors, I had heard horror stories of how they were responsible for bringing web pages to a crawl. As I dug into those specific test cases, it turned out it was a combination of bad CSS and bad JavaScript. 

As I focused on pure CSS selector performance, I found that for most sites this isn&#039;t a high priority to fix. But certainly for some sites it is a problem. I&#039;ll plug Page Speed here ( http://code.google.com/speed/page-speed/ ) because it has a rule that checks for inefficient CSS selectors and lists the worst offenders.

Thanks for evangelizing this.</description>
		<content:encoded><![CDATA[<p>When I started researching performance of CSS selectors, I had heard horror stories of how they were responsible for bringing web pages to a crawl. As I dug into those specific test cases, it turned out it was a combination of bad CSS and bad JavaScript. </p>
<p>As I focused on pure CSS selector performance, I found that for most sites this isn&#8217;t a high priority to fix. But certainly for some sites it is a problem. I&#8217;ll plug Page Speed here ( <a href="http://code.google.com/speed/page-speed/" rel="nofollow">http://code.google.com/speed/page-speed/</a> ) because it has a rule that checks for inefficient CSS selectors and lists the worst offenders.</p>
<p>Thanks for evangelizing this.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: What We&#8217;re Reading - Open Blog - NYTimes.com</title>
		<link>http://blog.twoalex.com/2010/02/26/a-shocking-truth-about-css/comment-page-1/#comment-24</link>
		<dc:creator>What We&#8217;re Reading - Open Blog - NYTimes.com</dc:creator>
		<pubDate>Wed, 10 Mar 2010 14:38:58 +0000</pubDate>
		<guid isPermaLink="false">http://blog.twoalex.com/?p=511#comment-24</guid>
		<description>[...] A CSS Revelation Just a reminder: CSS selectors are applied right to left. Two developers share a moment of revelation. See also the original post by Steve Souders: Simplifying CSS Selectors. [...]</description>
		<content:encoded><![CDATA[<p>[...] A CSS Revelation Just a reminder: CSS selectors are applied right to left. Two developers share a moment of revelation. See also the original post by Steve Souders: Simplifying CSS Selectors. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: iPad Links: Tuesday, March 9, 2010 &#171; Mike Cane&#39;s iPad Test</title>
		<link>http://blog.twoalex.com/2010/02/26/a-shocking-truth-about-css/comment-page-1/#comment-23</link>
		<dc:creator>iPad Links: Tuesday, March 9, 2010 &#171; Mike Cane&#39;s iPad Test</dc:creator>
		<pubDate>Tue, 09 Mar 2010 23:58:56 +0000</pubDate>
		<guid isPermaLink="false">http://blog.twoalex.com/?p=511#comment-23</guid>
		<description>[...] No mention of fractions: Web Standards for E-books Why fractions matter: Is Adobe Hindering eBooks? A Shocking Truth about CSS Getting New Users to Stick: Deconstructing how the best sites convert visitors to customers (Part 1 [...]</description>
		<content:encoded><![CDATA[<p>[...] No mention of fractions: Web Standards for E-books Why fractions matter: Is Adobe Hindering eBooks? A Shocking Truth about CSS Getting New Users to Stick: Deconstructing how the best sites convert visitors to customers (Part 1 [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: k</title>
		<link>http://blog.twoalex.com/2010/02/26/a-shocking-truth-about-css/comment-page-1/#comment-22</link>
		<dc:creator>k</dc:creator>
		<pubDate>Tue, 09 Mar 2010 22:01:21 +0000</pubDate>
		<guid isPermaLink="false">http://blog.twoalex.com/?p=511#comment-22</guid>
		<description>Hey everyone,

Thanks for the comments!  It&#039;s very cool (and unexpected) to see this picked up.  

Learning that CSS is process from right-to-left was a fun surprise -- all the astonishment of overturning a fundamental assumption without any of the pain of having to make changes.  (Much as John points out.)

Brad: thanks :) it worked out nicely.  I wanted to write a blog post, so I just copied (nearly) word-for-word the gChat conversation I&#039;d just had with my  husband (M).

Steve and Bruno: thanks for the links.  The Mozilla site is very enlightening and concretely useful.  Do either of you know if other browsers handle CSS processing in a similar fashion as described in the Mozilla link?

I haven&#039;t watched the video yet, but clearly we should.  

Cheers,

Alex K</description>
		<content:encoded><![CDATA[<p>Hey everyone,</p>
<p>Thanks for the comments!  It&#8217;s very cool (and unexpected) to see this picked up.  </p>
<p>Learning that CSS is process from right-to-left was a fun surprise &#8212; all the astonishment of overturning a fundamental assumption without any of the pain of having to make changes.  (Much as John points out.)</p>
<p>Brad: thanks <img src='http://blog.twoalex.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  it worked out nicely.  I wanted to write a blog post, so I just copied (nearly) word-for-word the gChat conversation I&#8217;d just had with my  husband (M).</p>
<p>Steve and Bruno: thanks for the links.  The Mozilla site is very enlightening and concretely useful.  Do either of you know if other browsers handle CSS processing in a similar fashion as described in the Mozilla link?</p>
<p>I haven&#8217;t watched the video yet, but clearly we should.  </p>
<p>Cheers,</p>
<p>Alex K</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Stepan Reznikov</title>
		<link>http://blog.twoalex.com/2010/02/26/a-shocking-truth-about-css/comment-page-1/#comment-21</link>
		<dc:creator>Stepan Reznikov</dc:creator>
		<pubDate>Tue, 09 Mar 2010 20:38:52 +0000</pubDate>
		<guid isPermaLink="false">http://blog.twoalex.com/?p=511#comment-21</guid>
		<description>Yes, selectors are matched from right to left. But it works slightly differently than you described it here. Browsers DO NOT find DOM nodes for CSS selectors, it&#039;s vice versa - for each DOM node browser finds matching selectors - and that explains why matching works from right to left.

More on this:

Writing Efficient CSS for use in the Mozilla UI
https://developer.mozilla.org/en/Writing_Efficient_CSS

Faster HTML and CSS: Layout Engine Internals for Web Developers
http://www.youtube.com/watch?v=a2_6bGNZ7bA</description>
		<content:encoded><![CDATA[<p>Yes, selectors are matched from right to left. But it works slightly differently than you described it here. Browsers DO NOT find DOM nodes for CSS selectors, it&#8217;s vice versa &#8211; for each DOM node browser finds matching selectors &#8211; and that explains why matching works from right to left.</p>
<p>More on this:</p>
<p>Writing Efficient CSS for use in the Mozilla UI<br />
<a href="https://developer.mozilla.org/en/Writing_Efficient_CSS" rel="nofollow">https://developer.mozilla.org/en/Writing_Efficient_CSS</a></p>
<p>Faster HTML and CSS: Layout Engine Internals for Web Developers<br />
<a href="http://www.youtube.com/watch?v=a2_6bGNZ7bA" rel="nofollow">http://www.youtube.com/watch?v=a2_6bGNZ7bA</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: John Boxall</title>
		<link>http://blog.twoalex.com/2010/02/26/a-shocking-truth-about-css/comment-page-1/#comment-18</link>
		<dc:creator>John Boxall</dc:creator>
		<pubDate>Tue, 09 Mar 2010 16:18:22 +0000</pubDate>
		<guid isPermaLink="false">http://blog.twoalex.com/?p=511#comment-18</guid>
		<description>While it&#039;s great to be aware that this is the case, I think Steve&#039;s final conclusion should be noted:

&quot;For most web sites, the possible performance gains from optimizing CSS selectors will be small, and are not worth the costs. &quot;

http://www.stevesouders.com/blog/2009/03/10/performance-impact-of-css-selectors/</description>
		<content:encoded><![CDATA[<p>While it&#8217;s great to be aware that this is the case, I think Steve&#8217;s final conclusion should be noted:</p>
<p>&#8220;For most web sites, the possible performance gains from optimizing CSS selectors will be small, and are not worth the costs. &#8221;</p>
<p><a href="http://www.stevesouders.com/blog/2009/03/10/performance-impact-of-css-selectors/" rel="nofollow">http://www.stevesouders.com/blog/2009/03/10/performance-impact-of-css-selectors/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brad</title>
		<link>http://blog.twoalex.com/2010/02/26/a-shocking-truth-about-css/comment-page-1/#comment-17</link>
		<dc:creator>Brad</dc:creator>
		<pubDate>Tue, 09 Mar 2010 16:18:02 +0000</pubDate>
		<guid isPermaLink="false">http://blog.twoalex.com/?p=511#comment-17</guid>
		<description>Awesome article.  Gotta admit I love the conversational style.  Nice job.</description>
		<content:encoded><![CDATA[<p>Awesome article.  Gotta admit I love the conversational style.  Nice job.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: A Shocking Truth About CSS</title>
		<link>http://blog.twoalex.com/2010/02/26/a-shocking-truth-about-css/comment-page-1/#comment-16</link>
		<dc:creator>A Shocking Truth About CSS</dc:creator>
		<pubDate>Tue, 09 Mar 2010 16:17:24 +0000</pubDate>
		<guid isPermaLink="false">http://blog.twoalex.com/?p=511#comment-16</guid>
		<description>[...] full post on Hacker News      If you enjoyed this article, please consider sharing it!            Tagged with: ABOUT &#8226; [...]</description>
		<content:encoded><![CDATA[<p>[...] full post on Hacker News      If you enjoyed this article, please consider sharing it!            Tagged with: ABOUT &bull; [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bruno Michel</title>
		<link>http://blog.twoalex.com/2010/02/26/a-shocking-truth-about-css/comment-page-1/#comment-15</link>
		<dc:creator>Bruno Michel</dc:creator>
		<pubDate>Tue, 09 Mar 2010 14:21:07 +0000</pubDate>
		<guid isPermaLink="false">http://blog.twoalex.com/?p=511#comment-15</guid>
		<description>You should watch this video: http://www.youtube.com/watch?v=a2_6bGNZ7bA (Faster HTML and CSS: Layout Engine Internals for Web Developers). It&#039;s a great introduction to how browsers use CSS selectors and how they do the rendering of web pages.</description>
		<content:encoded><![CDATA[<p>You should watch this video: <a href="http://www.youtube.com/watch?v=a2_6bGNZ7bA" rel="nofollow">http://www.youtube.com/watch?v=a2_6bGNZ7bA</a> (Faster HTML and CSS: Layout Engine Internals for Web Developers). It&#8217;s a great introduction to how browsers use CSS selectors and how they do the rendering of web pages.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

