<?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>Programming Blog &#187; span</title>
	<atom:link href="http://www.neurosoftware.ro/programming-blog/tag/span/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.neurosoftware.ro/programming-blog</link>
	<description>Web development , php , ajax , symfony, framework, zend</description>
	<lastBuildDate>Thu, 18 Aug 2011 08:11:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Buffer your tweets</title>
		<link>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/buffer-your-tweets-2/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/buffer-your-tweets-2/#comments</comments>
		<pubDate>Wed, 01 Jun 2011 16:47:13 +0000</pubDate>
		<dc:creator>Facebook-Web-Design</dc:creator>
				<category><![CDATA[web resources]]></category>
		<category><![CDATA[span]]></category>
		<category><![CDATA[Tweet]]></category>
		<category><![CDATA[tweets]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/buffer-your-tweets-2/</guid>
		<description><![CDATA[Don&#8217;t you hate it when you see 10 tweets by the same person in the span of 2 minutes? I usually end up un-following that person if they do that too often. It&#8217;s not that they are spamming or even mean to but it sure does feel like they are dominating your twitter feed. However, [...]]]></description>
			<content:encoded><![CDATA[<p>Don&#8217;t you hate it when you see 10 tweets by the same person in the span of 2 minutes? I usually end up un-following that person if they do that too often. It&#8217;s not that they are spamming or even mean to but it sure does feel like they are dominating your twitter feed. However, at times I end up doing the same thing and I hate myself for it.</p>
<p>I was told that I should schedule my tweets to avoid such problems. Schedule my tweets!? I&#8217;m too lazy for that, besides I don&#8217;t tweet that much to justify scheduling a tweet. So I chanced upon a solution that is perfect for me.</p>
<p>The <a title="Buffer App" href="http://bufferapp.com/">Buffer App</a>, why schedule? when I can buffer! The way it works is that you fill up your buffer and it schedules the tweet for you automatically. No need to mess around with scheduling!  It&#8217;s simple and easy to use. Their Chrome extension comes in very handy and they have a free account where you can buffer 10 tweets at a time!</p>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/b02c9_buffer_app.png" alt="Buffer App for Twitter" width="704" height="395" class="aligncenter size-full wp-image-14191" /></p>
<div>
</div>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/b02c9_qRpei__geqc" height="1" width="1" /><br />
<a href="http://feeds2.feedburner.com/vitaminmasterfeed">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/buffer-your-tweets-2/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Buffer your tweets</title>
		<link>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/buffer-your-tweets/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/buffer-your-tweets/#comments</comments>
		<pubDate>Wed, 01 Jun 2011 16:47:12 +0000</pubDate>
		<dc:creator>Facebook-Web-Design</dc:creator>
				<category><![CDATA[web resources]]></category>
		<category><![CDATA[span]]></category>
		<category><![CDATA[Tweet]]></category>
		<category><![CDATA[tweets]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/buffer-your-tweets/</guid>
		<description><![CDATA[Don&#8217;t you hate it when you see 10 tweets by the same person in the span of 2 minutes? I usually end up un-following that person if they do that too often. It&#8217;s not that they are spamming or even mean to but it sure does feel like they are dominating your twitter feed. However, [...]]]></description>
			<content:encoded><![CDATA[<p>Don&#8217;t you hate it when you see 10 tweets by the same person in the span of 2 minutes? I usually end up un-following that person if they do that too often. It&#8217;s not that they are spamming or even mean to but it sure does feel like they are dominating your twitter feed. However, at times I end up doing the same thing and I hate myself for it.</p>
<p>I was told that I should schedule my tweets to avoid such problems. Schedule my tweets!? I&#8217;m too lazy for that, besides I don&#8217;t tweet that much to justify scheduling a tweet. So I chanced upon a solution that is perfect for me.</p>
<p>The <a title="Buffer App" href="http://bufferapp.com/">Buffer App</a>, why schedule? when I can buffer! The way it works is that you fill up your buffer and it schedules the tweet for you automatically. No need to mess around with scheduling!  It&#8217;s simple and easy to use. Their Chrome extension comes in very handy and they have a free account where you can buffer 10 tweets at a time!</p>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/b02c9_buffer_app.png" alt="Buffer App for Twitter" width="704" height="395" class="aligncenter size-full wp-image-14191" /></p>
<div>
</div>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/b02c9_qRpei__geqc" height="1" width="1" /><br />
<a href="http://feeds2.feedburner.com/vitaminmasterfeed">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/buffer-your-tweets/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>13 Infographics To Understand The Blogosphere Better</title>
		<link>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/13-infographics-to-understand-the-blogosphere-better/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/13-infographics-to-understand-the-blogosphere-better/#comments</comments>
		<pubDate>Wed, 16 Feb 2011 16:16:27 +0000</pubDate>
		<dc:creator>Facebook-Web-Design</dc:creator>
				<category><![CDATA[web resources]]></category>
		<category><![CDATA[anatomy]]></category>
		<category><![CDATA[blogosphere]]></category>
		<category><![CDATA[crash course]]></category>
		<category><![CDATA[crowds]]></category>
		<category><![CDATA[decades]]></category>
		<category><![CDATA[distributions]]></category>
		<category><![CDATA[infographic]]></category>
		<category><![CDATA[Infographics]]></category>
		<category><![CDATA[span]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/13-infographics-to-understand-the-blogosphere-better/</guid>
		<description><![CDATA[Not too long ago, we showcased the best infographics about social media that we could find on the net. This time round, we&#8217;re going to show you how infographics can enhance your knowledge of the interconnecting world of blogs which we call &#8216;blogosphere&#8217;. As the popularity of blogs increases, bloggers wish to know how they [...]]]></description>
			<content:encoded><![CDATA[<p>Not too long ago, we showcased the best <a rel="external" href="http://www.hongkiat.com/blog/55-interesting-social-media-infographics/">infographics about social media</a> that we could find on the net. This time round, we&#8217;re going to show you how infographics can enhance your knowledge of the interconnecting world of blogs which we call &#8216;blogosphere&#8217;. As the popularity of blogs increases, bloggers wish to know how they can draw more crowds to their posts or the entire site. Some may hope that they can earn more revenues from advertisers, while others are mostly concerned with the best method of sharing themselves with others. Regardless of the reason, it definitely helps to review information of your blog distributions, readers&#8217; trends, the blogging economy, etc. There&#8217;s no better way to represent complex information like these in a visually pleasing infographic.</p>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/6f919_preview.jpg" width="500" height="312" alt="preview 13 Infographics To Understand The Blogosphere Better" /></p>
<p>We&#8217;ve compiled a neat list of infographics pertaining to blogging and the blogosphere, in the hope that bloggers (and potential ones) like yourself will acquire new knowledge about the blogging universe and perhaps improve on your site. At the very least, we hope these enticing infographics will make you feel intrigued about how far blogs have come along on the net. Enjoy!</p>
<p><span></span></p>
<p><a rel="external" href="http://www.flowtown.com/blog/the-evolution-of-the-blogger">The Evolution of The Blogger</a><br />If you ever wondered how blog started and become what it is now, check this out. You&#8217;ll be amazed to know how many different kind of bloggers there were in the span of two decades. <em>(via Flowtown)</em></p>
<p><a rel="external" href="http://www.flowtown.com/blog/the-evolution-of-the-blogger"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/00102_The-Evolution-of-The-Blogger.jpg" width="600" height="552" alt="The Evolution of The Blogger 13 Infographics To Understand The Blogosphere Better" /></a></p>
<p><a rel="external" href="http://www.flowtown.com/blog/whos-in-the-blogosphere">Who&#8217;s in the Blogosphere?</a><br />Numbers and more numbers&#8230; except that it&#8217;s presented in colored charts and bars. This infographic is a detailed breakdown of the profile of U.S. bloggers. <em>(via Flowtown)</em></p>
<p><a rel="external" href="http://www.flowtown.com/blog/whos-in-the-blogosphere"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/43ab6_Whos-in-the-Blogosphere.jpg" width="600" height="540" alt="Whos in the Blogosphere 13 Infographics To Understand The Blogosphere Better" /></a></p>
<p><a rel="external" href="http://yoast.com/wordpress-theme-anatomy/">Anatomy of a WordPress Theme</a><br />This piece of infographic is your crash course on how WordPress works. If you&#8217;ve been so busy with blogging and don&#8217;t have time to figure out how your blogging platform works, just take a quick look at this. <em>(via Yoast)</em></p>
<p><a rel="external" href="http://yoast.com/wordpress-theme-anatomy/"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/43ab6_Anatomy-of-a-WordPress-Theme.jpg" width="600" height="744" alt="Anatomy of a WordPress Theme 13 Infographics To Understand The Blogosphere Better" /></a></p>
<p><a rel="external" href="http://infographiclabs.com/infographic/state-of-the-blogosphere/#more-111">State of the Blogosphere in 2010</a><br />Blogosphere represented as a universe of planets within a galaxy. Well-suited for the vast nature of the blogging community. <em>(via Infographic Lab)</em></p>
<p><a rel="external" href="http://infographiclabs.com/infographic/state-of-the-blogosphere/#more-111"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/ed363_State-of-The-Blogosphere.jpg" width="600" height="651" alt="State of The Blogosphere 13 Infographics To Understand The Blogosphere Better" /></a></p>
<p><a rel="external" href="http://www.testking.com/techking/infographics/the-power-of-wordpress-infographic/">The Power of WordPress</a><br />A general introduction of how the WordPress has evolved over the past seven years as well as numerical and chart representations of various WordPress statistics. <em>(via Testking)</em></p>
<p><a rel="external" href="http://www.testking.com/techking/infographics/the-power-of-wordpress-infographic/"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/acf52_The-Power-of-WordPress.jpg" width="600" height="747" alt="The Power of WordPress 13 Infographics To Understand The Blogosphere Better" /></a></p>
<p><a rel="external" href="http://www.testking.com/techking/infographics/the-most-popular-design-blogs-by-twitter-followers-and-facebook-fans/">The Most Popular Design Blogs</a><br />A breakdown of a number of popular design blogs on how many Twitter Followers and Facebook Fans each one has. <em>(via Testking)</em></p>
<p><a rel="external" href="http://www.testking.com/techking/infographics/the-most-popular-design-blogs-by-twitter-followers-and-facebook-fans/"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/acf52_The-Most-Popular-Design-Blogs.jpg" width="600" height="684" alt="The Most Popular Design Blogs 13 Infographics To Understand The Blogosphere Better" /></a></p>
<p><a rel="external" href="http://www.elliance.com/aha/infographics/Search-Benefits-of-the-Blogosphere.aspx">Search Benefits of the Blogosphere</a><br />A simple infographic promoting the benefits of the blogging community using cutesy birdies on a tree. <em>(via Elliance)</em></p>
<p><a rel="external" href="http://www.elliance.com/aha/infographics/Search-Benefits-of-the-Blogosphere.aspx"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/8028a_Search-Benefits-of-the-Blogosphere.jpg" width="600" height="582" alt="Search Benefits of the Blogosphere 13 Infographics To Understand The Blogosphere Better" /></a></p>
<p><a rel="external" href="http://www.wpbeginner.com/beginners-guide/self-hosted-wordpress-org-vs-free-wordpress-com-infograph/">Self-hosted WordPress.org vs. Free WordPress.com</a><br />Potential bloggers: Unsure of what kind of WordPress platform to choose? This comprehensive comparison between self-hosted platform and free WordPress will help you in your decision. <em>(via WPBeginner)</em></p>
<p><a rel="external" href="http://www.wpbeginner.com/beginners-guide/self-hosted-wordpress-org-vs-free-wordpress-com-infograph/"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/8028a_Self-hosted-WordPressorg-vs-Free-WordPresscom.jpg" width="600" height="540" alt="Self hosted WordPressorg vs Free WordPresscom 13 Infographics To Understand The Blogosphere Better" /></a></p>
<p><a rel="external" href="http://www.wpbeginner.com/beginners-guide/ultimate-guide-to-upgrade-wordpress-for-beginners-infograph/">Ultimate Guide to Upgrade WordPress</a><br />WordPress bloggers will love this clear and clean flowchart detailing the steps to upgrade and safeguard their blogs. <em>(via WPBeginner)</em></p>
<p><a rel="external" href="http://www.wpbeginner.com/beginners-guide/ultimate-guide-to-upgrade-wordpress-for-beginners-infograph/"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/3c099_Ultimate-Guide-to-Upgrade-WordPress.jpg" width="600" height="495" alt="Ultimate Guide to Upgrade WordPress 13 Infographics To Understand The Blogosphere Better" /></a></p>
<p><a rel="external" href="http://www.wpbeginner.com/beginners-guide/which-blogging-platform-should-you-use/">Which Blogging Platform Should You Use?</a><br />A survey of bloggers&#8217; preferences for blogging platform. WordPress emerged as the winner. <em>(via WPBeginner)</em></p>
<p><a rel="external" href="http://www.wpbeginner.com/beginners-guide/which-blogging-platform-should-you-use/"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/dba19_Which-Blogging-Platform-Should-You-Use.jpg" width="600" height="539" alt="Which Blogging Platform Should You Use 13 Infographics To Understand The Blogosphere Better" /></a></p>
<p><a rel="external" href="http://grasshoppergroup.com/the-blog-economy-infographic/">The Blog Economy</a><br />Substantial infographic that profiles the income levels of bloggers, blogging habits along with social media usages. <em>(via Grasshopper Group)</em></p>
<p><a rel="external" href="http://grasshoppergroup.com/the-blog-economy-infographic/"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/dba19_The-Blog-Economy.jpg" width="600" height="759" alt="The Blog Economy 13 Infographics To Understand The Blogosphere Better" /></a></p>
<p><a rel="external" href="http://jess3.com/the-blog-tree/">The Blog Tree</a><br />Using a tree its leaves as a representation of popularity of a range of blogs, this infographic is indeed one-of-a-kind. <em>(via JESS3)</em></p>
<p><a rel="external" href="http://jess3.com/the-blog-tree/"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/75dfc_The-Blog-Tree.jpg" width="600" height="514" alt="The Blog Tree 13 Infographics To Understand The Blogosphere Better" /></a></p>
<p><a rel="external" href="http://www.marketingtechblog.com/blogging/corporate-blogging-the-infographic/">Corporate Blogging: The Infographic</a><br />Infographics can do wonders like compressing a book like Corporate Blogging for Dummies into a flat piece of paper with all the key words atop. <em>(via  Marketing Technology Blog)</em></p>
<p><a rel="external" href="http://www.marketingtechblog.com/blogging/corporate-blogging-the-infographic/"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/bcd9d_Corporate-Blogging-The-Infographic.jpg" width="600" height="374" alt="Corporate Blogging The Infographic 13 Infographics To Understand The Blogosphere Better" /></a></p>
<p><a rel="external" href="http://www.howtomakemyblog.com/infographics/the-journey-of-a-successful-blog-post-infographic/">The Journey of a Successful Blog Post</a><br />A straightforward step-by-step process for any blog post to be get its well-deserved crowd. A must-see for all aspiring bloggers aiming to shoot his or her blog to fame.<em> (via HowToMakeMyBlog)</em></p>
<p><a rel="external" href="http://www.howtomakemyblog.com/infographics/the-journey-of-a-successful-blog-post-infographic/"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/b4f0c_The-Journey-of-a-Successful-Blog-Post.jpg" width="600" height="332" alt="The Journey of a Successful Blog Post 13 Infographics To Understand The Blogosphere Better" /></a></p>
<p>(bellefoong)</p>
<div></div>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/b4f0c_uhyqqvtVX50" height="1" width="1" /><br />
<a href="http://feedproxy.google.com/24thfloor">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/13-infographics-to-understand-the-blogosphere-better/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Feiyue &#8211; The Flying Project</title>
		<link>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/feiyue-the-flying-project/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/feiyue-the-flying-project/#comments</comments>
		<pubDate>Fri, 17 Dec 2010 17:17:16 +0000</pubDate>
		<dc:creator>Facebook-Web-Design</dc:creator>
				<category><![CDATA[web resources]]></category>
		<category><![CDATA[la marque]]></category>
		<category><![CDATA[Munich]]></category>
		<category><![CDATA[Nike]]></category>
		<category><![CDATA[paire de basket]]></category>
		<category><![CDATA[Shoes]]></category>
		<category><![CDATA[sneakers]]></category>
		<category><![CDATA[span]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/feiyue-the-flying-project/</guid>
		<description><![CDATA[La marque Feiyue a donné carte blanche à deux membres du collectif artistique Span-Kidz pour leur dernier film. Une mise en avant de l&#8217;esprit Flying Forward avec cette paire de basket défiant les lois de l&#8217;apesanteur, en décollant d&#8217;une table. Un projet à découvrir dans la suite de l&#8217;article. Previously on Fubiz Munich Sneakers Design [...]]]></description>
			<content:encoded><![CDATA[<p>La marque <a href="http://www.feiyue-shoes.com">Feiyue</a> a donné carte blanche à deux membres du collectif artistique Span-Kidz pour leur dernier film. Une mise en avant de l&#8217;esprit Flying Forward avec cette paire de basket défiant les lois de l&#8217;apesanteur, en décollant d&#8217;une table. Un projet à découvrir dans la suite de l&#8217;article.</p>
<p><a href="http://www.fubiz.net/2010/12/17/feiyue-the-flying-project/"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/27a47_flying11-550x287.png" alt="" width="550" height="287" class="alignnone size-medium wp-image-123018" /></a><br />
<span></span><br />
<a href="http://www.fubiz.net/2010/12/17/feiyue-the-flying-project/flying21/" rel="attachment wp-att-123017"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/59849_flying21-550x303.png" alt="flying21" width="550" height="303" class="alignnone size-medium wp-image-123017" /></a></p>
</p>
<h3>Previously on Fubiz</h3>
<ul>
<li><a href="http://www.fubiz.net/2010/10/04/munich-sneakers-design/" title="Munich Sneakers Design">Munich Sneakers Design</a></li>
<li><a href="http://www.fubiz.net/2010/08/30/nike-i-am-the-rules/" title="Nike - I Am The Rules">Nike &#8211; I Am The Rules</a></li>
<li><a href="http://www.fubiz.net/2010/08/17/keds-shoes-collection/" title="Keds Shoes Collection ">Keds Shoes Collection </a></li>
</ul>
<p>Copyright Fubiz™ &#8211; Suivez nous sur <a href="http://twitter.com/fubiz">Twitter</a> et <a href="http://www.facebook.com/fubiz">Facebook</a></p>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/59849_cN-j1jjl5O0" height="1" width="1" /><br />
<a href="http://feeds2.feedburner.com/fubiz">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/feiyue-the-flying-project/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Quick Tip: Work Backward to Understand Structural Pseudo Classes</title>
		<link>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/quick-tip-work-backward-to-understand-structural-pseudo-classes/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/quick-tip-work-backward-to-understand-structural-pseudo-classes/#comments</comments>
		<pubDate>Fri, 17 Dec 2010 15:25:47 +0000</pubDate>
		<dc:creator>Facebook-Web-Design</dc:creator>
				<category><![CDATA[web resources]]></category>
		<category><![CDATA[css selectors]]></category>
		<category><![CDATA[span]]></category>
		<category><![CDATA[video tutorials]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/quick-tip-work-backward-to-understand-structural-pseudo-classes/</guid>
		<description><![CDATA[Have you ever seen those scary looking CSS structural pseudo classes, like li:nth-child(4n+2)? Can you enunciate exactly what that means? If not, don&#8217;t worry; I&#8217;ll teach you how easy this is to understand &#8212; once you work backward! Subscribe to our YouTube page to watch all of the video tutorials! You also might enjoy The [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://feedads.g.doubleclick.net/~a/hTYiG2_kypb1BVMaUEPm6o4PCNM/0/da"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/32c29_di" border="0"></img></a><br />
<a href="http://feedads.g.doubleclick.net/~a/hTYiG2_kypb1BVMaUEPm6o4PCNM/1/da"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/c307c_di" border="0"></img></a></p>
<p>
Have you ever seen those scary looking CSS <a href="http://www.w3.org/TR/2005/WD-css3-selectors-20051215/#structural-pseudos" target="_blank">structural pseudo classes</a>, like <code>li:nth-child(4n+2)</code>? Can you enunciate exactly what that means? If not, don&#8217;t worry; I&#8217;ll teach you how easy this is to understand &#8212; once you work backward!
</p>
<p><span></span></p>
<div>
<span><a target="_blank" href="http://www.youtube.com/user/nettutsplus">Subscribe to our YouTube page to watch all of the video tutorials!</a></span></p>
<div><em>You also might enjoy <a target="_blank" href="http://net.tutsplus.com/tutorials/html-css-techniques/the-30-css-selectors-you-must-memorize/">The 30 CSS Selectors you Must Memorize</a> </em></div>
</div>
<hr />
<h2>See What I Mean? </h2>
<p>The key to figuring these things out is to work from right to left! Now it&#8217;s easy to understand. If you enjoyed this video quick tip, don&#8217;t forget that we have a seemingly <a href="http://net.tutsplus.com/tag/tips/">never-ending span of video quick tip on Nettuts+</a> &#8211; ranging from .NET, to CSS, to JavaScript!</p>
<div>
<a href="http://feeds.feedburner.com/~ff/nettuts?a=3BWB2LVe7IA:3tx2rhpXB-g:yIl2AUoC8zA"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/c307c_nettuts?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/nettuts?a=3BWB2LVe7IA:3tx2rhpXB-g:F7zBnMyn0Lo"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/c307c_nettuts?i=3BWB2LVe7IA:3tx2rhpXB-g:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/nettuts?a=3BWB2LVe7IA:3tx2rhpXB-g:V_sGLiPBpWU"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/c307c_nettuts?i=3BWB2LVe7IA:3tx2rhpXB-g:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/nettuts?a=3BWB2LVe7IA:3tx2rhpXB-g:gIN9vFwOqvQ"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/14b1d_nettuts?i=3BWB2LVe7IA:3tx2rhpXB-g:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/nettuts?a=3BWB2LVe7IA:3tx2rhpXB-g:TzevzKxY174"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/14b1d_nettuts?d=TzevzKxY174" border="0"></img></a>
</div>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/14b1d_3BWB2LVe7IA" height="1" width="1" /><br />
<a href="http://feedproxy.google.com/nettuts">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/quick-tip-work-backward-to-understand-structural-pseudo-classes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Easiest Way to Create Vertical Text with CSS</title>
		<link>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/the-easiest-way-to-create-vertical-text-with-css/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/the-easiest-way-to-create-vertical-text-with-css/#comments</comments>
		<pubDate>Fri, 15 Oct 2010 18:23:16 +0000</pubDate>
		<dc:creator>Facebook-Web-Design</dc:creator>
				<category><![CDATA[web resources]]></category>
		<category><![CDATA[couple ideas]]></category>
		<category><![CDATA[doctype html]]></category>
		<category><![CDATA[h1]]></category>
		<category><![CDATA[lt]]></category>
		<category><![CDATA[meta charset]]></category>
		<category><![CDATA[span]]></category>
		<category><![CDATA[utf 8]]></category>
		<category><![CDATA[vertical text]]></category>
		<category><![CDATA[video tutorials]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/the-easiest-way-to-create-vertical-text-with-css/</guid>
		<description><![CDATA[Earlier this morning, I needed to create vertical text for a project I&#8217;m working on. After trying out a couple ideas, I took to Twitter to find what sorts of thoughts our followers had on the subject. There were plenty of great responses and ideas that we&#8217;ll go over today! *Note &#8211; please refer to [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://feedads.g.doubleclick.net/~a/fYcxGApD0PMlaJWDCtQvXhfQoRc/0/da"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/c9c60_di" border="0"></img></a><br />
<a href="http://feedads.g.doubleclick.net/~a/fYcxGApD0PMlaJWDCtQvXhfQoRc/1/da"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/c9c60_di" border="0"></img></a></p>
<p>Earlier this morning, I needed to create vertical text for a project I&#8217;m working on. After trying out a couple ideas, I took to <a href="http://www.twitter.com/nettuts">Twitter</a> to find what sorts of thoughts our followers had on the subject. There were plenty of great responses and ideas that we&#8217;ll go over today! </p>
<p><span></span></p>
<div>
<div><em>*Note &#8211; please refer to &#8220;Method 6&#8243; below for more details about proper usage. </em> </div>
<p><span><a href="http://www.youtube.com/user/nettutsplus">Subscribe to our YouTube page to watch all of the video tutorials!</a></span><br />
<span><em>Prefer to watch this video on <a href="http://screenr.com/95l">Screenr</a>?</em></span>
</div>
<hr />
<h2><span>Method 1</span>: <code>&lt;br&gt;</code> Tags</h2>
<p>
So, one possible (though not recommended) way to achieve vertical text is to add <code>&lt;br&gt;</code> tags after each letter.
</p>
<pre>
&lt;h1&gt;
   N &lt;br /&gt;E &lt;br /&gt;T &lt;br /&gt;T &lt;br /&gt;U &lt;br /&gt;T &lt;br /&gt;S
&lt;/h1&gt;
</pre>
<h5> <a href="http://jsbin.com/okuvo3">View a Demo</a> </h5>
<p>Don&#8217;t you use this method. It&#8217;s lame and sloppy. </p>
<hr />
<h2><span>Method 2</span>: Static Wrapping </h2>
<p>With this method, we wrap each letter in a span, and then set its <code>display</code> to <code>block</code> within our CSS. </p>
<pre>
&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
&lt;meta charset=utf-8 /&gt;
&lt;title&gt;Vertical Text&lt;/title&gt;

&lt;style&gt;
  h1 span { display: block; }
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;

  &lt;h1&gt;
   &lt;span&gt; N &lt;/span&gt;
   &lt;span&gt; E &lt;/span&gt;
   &lt;span&gt; T &lt;/span&gt;
   &lt;span&gt; T &lt;/span&gt;
   &lt;span&gt; U &lt;/span&gt;
   &lt;span&gt; T &lt;/span&gt;
   &lt;span&gt; S &lt;/span&gt;
  &lt;/h1&gt;

&lt;/body&gt;
&lt;/html&gt;
</pre>
<h5> <a href="http://jsbin.com/axiki4">View Demo </a></h5>
<p>The problem with this solution &#8212; other than the frightening mark-up &#8212; is that it&#8217;s a manual process. If the text is generated dynamically from a CMS, you&#8217;re out of luck. Don&#8217;t use this method. </p>
<hr />
<h2><span>Method 3</span>: Use JavaScript </h2>
<p>My initial instinct was to dynamically add the <code>span</code> tags with JavaScript. That way, we get around the issues mentioned in method two. </p>
<pre>
&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
&lt;meta charset=utf-8 /&gt;
&lt;title&gt;JS Bin&lt;/title&gt;

&lt;style&gt;
  h1 span { display: block; }
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
  &lt;h1&gt; NETTUTS &lt;/h1&gt;

  &lt;script&gt;
    var h1 = document.getElementsByTagName('h1')[0];
    h1.innerHTML = '&lt;span&gt;' + h1.innerHTML.split('').join('&lt;/span&gt;&lt;span&gt;') + '&lt;/span&gt;';
  &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
<h5><a href="http://jsbin.com/esema3/2">View Demo</a> </h5>
<p>This method is definitely an improvement. Above, we <code>split</code> the text into an array, and then wrap each letter in a <code>span</code>. While we could use something like a <code>for</code> statement, or <code>$.map</code> to filter through the array, a far better and quicker solution is to manually join and wrap the text at the same time. </p>
<p>Though better, this solution isn&#8217;t recommended. </p>
<ul>
<li> Will this break your layout if JavaScript is disabled? </li>
<li> Ideally, we should be using CSS for this task, if possible. </li>
</ul>
<hr />
<h2><span>Method 4</span>: Apply a Width to the Container </h2>
<p>
Let&#8217;s get away from JavaScript if we can. What if we applied a width to the container element, and forced the text to wrap? That could work.
</p>
<pre>
&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
&lt;meta charset=utf-8 /&gt;
&lt;title&gt;JS Bin&lt;/title&gt;

&lt;style&gt;
  h1 {
    width: 50px;
    font-size: 50px;
    word-wrap: break-word;
  }
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
  &lt;h1&gt; NETTUTS &lt;/h1&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
<h5> <a href="http://jsbin.com/ohigi3"> View Demo </a> </h5>
<p> In this scenario, we apply a very narrow width to the <code>h1</code> tag, and then make its <code>font-size</code> equal to that exact value. Finally, by setting <code>word-wrap</code> equal to <code>break-word</code>, we can force each letter onto its own line.  However, <code>word-wrap: break-word</code> is part of the CSS3 specification, and is not compliant across all browsers. </p>
<p>Excluding older browsers, this seemingly solves our problem&#8230;but not entirely. The demo above does appear to work, but it&#8217;s too risky to play with pixel values. Let&#8217;s try something as simple as <a href="http://jsbin.com/ohigi3/2">turning the uppercase letters into lowercase. </a> </p>
<div>
<img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/5fbcd_broken.png" alt="Broken Again" />
</div>
<p>Yikes; with this method, we have to be very careful when it comes to the specific values we set. Not recommended. </p>
<hr />
<h2><span>Method 5</span>: Apply <code>letter-spacing</code> </h2>
<p>As a precaution, and to extend method four, why don&#8217;t we apply fairly large <code>letter-spacing</code> to get around this issue?</p>
<p>
<pre>
&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
&lt;meta charset=utf-8 /&gt;
&lt;title&gt;JS Bin&lt;/title&gt;

&lt;style&gt;
  h1 {
    width: 50px;
    font-size: 50px;
    word-wrap: break-word;
    letter-spacing: 20px; /* Set large letter-spacing as precaution */
  }
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
  &lt;h1&gt; Nettuts &lt;/h1&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
<h5> <a href="http://jsbin.com/ovuja4"> View Demo </a> </h5>
<p>That seems to fix the issue, though, again, we&#8217;re using a bit of CSS3 here. </p>
<hr />
<h2> <span>Method 6</span>: Use <code>em</code>s </h2>
<p>Alternatively, there&#8217;s a one-liner solution. Remember when we learned that applying <code>overflow: hidden</code> to a parent element would miraculously make it contain its floats? This method is sort of like that! The key is to use <code>em</code>s, and place a space between each letter. </p>
<pre>
&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
&lt;meta charset=utf-8 /&gt;
&lt;title&gt;JS Bin&lt;/title&gt;

&lt;style&gt;
  h1 {
    width: 1em;
    font-size: 40px;
    letter-spacing: 40px; /* arbitrarily large letter-spacing for safety */
  }
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
  &lt;h1&gt; N e t t u t s &lt;/h1&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
<h5><a href="http://jsbin.com/ahomu4">View Demo</a> </h5>
<p>Pretty neat, right? And, this way, you can apply any font size that you wish. Because we&#8217;re using <code>em</code>s &#8212; which is equal to the <code>x-height</code> of the chosen font &#8212; we&#8217;re then provided with a lot more flexibility. </p>
<p><strong>But</strong>, once again, sometimes more than one letter will end up on  a line. You have to be safe; that&#8217;s why I&#8217;ve applied arbitrarily large <code>letter-spacing</code> to ensure that there&#8217;s never more than one letter on a line. </p>
<p>To my knowledge at this time, this is the best, most cross-browser compliant solution. </p>
<hr />
<h2> Conclusion </h2>
<p>Shouldn&#8217;t there be a CSS3 rule to accomplish this task? What if I could set something along the lines of: <code>font-display: letter-block;</code> which would instruct each letter to be rendered as a block of sorts? </p>
<p>What do you think? Do you have any other alternatives that we should consider? Many people suggested using text-rotation to accomplish the task, but it&#8217;s important to remember that this also rotates the text ninety degrees as well, which is not what we&#8217;re trying to achieve. </p>
<div>
<a href="http://feeds.feedburner.com/~ff/nettuts?a=n1PMMOlbaXg:tLAlAQDtFuE:yIl2AUoC8zA"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/5fbcd_nettuts?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/nettuts?a=n1PMMOlbaXg:tLAlAQDtFuE:F7zBnMyn0Lo"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/5fbcd_nettuts?i=n1PMMOlbaXg:tLAlAQDtFuE:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/nettuts?a=n1PMMOlbaXg:tLAlAQDtFuE:V_sGLiPBpWU"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/baa42_nettuts?i=n1PMMOlbaXg:tLAlAQDtFuE:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/nettuts?a=n1PMMOlbaXg:tLAlAQDtFuE:gIN9vFwOqvQ"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/baa42_nettuts?i=n1PMMOlbaXg:tLAlAQDtFuE:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/nettuts?a=n1PMMOlbaXg:tLAlAQDtFuE:TzevzKxY174"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/442b3_nettuts?d=TzevzKxY174" border="0"></img></a>
</div>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/442b3_n1PMMOlbaXg" height="1" width="1" /><br />
<a href="http://feedproxy.google.com/nettuts">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/the-easiest-way-to-create-vertical-text-with-css/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Create CSS3 Rounded Image with jQuery</title>
		<link>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/how-to-create-css3-rounded-image-with-jquery/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/how-to-create-css3-rounded-image-with-jquery/#comments</comments>
		<pubDate>Sat, 03 Jul 2010 15:17:01 +0000</pubDate>
		<dc:creator>Facebook-Web-Design</dc:creator>
				<category><![CDATA[web resources]]></category>
		<category><![CDATA[annotations]]></category>
		<category><![CDATA[background image]]></category>
		<category><![CDATA[D'Arcy]]></category>
		<category><![CDATA[flash image]]></category>
		<category><![CDATA[image element]]></category>
		<category><![CDATA[image rotator]]></category>
		<category><![CDATA[radius]]></category>
		<category><![CDATA[rounded corners]]></category>
		<category><![CDATA[span]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/how-to-create-css3-rounded-image-with-jquery/</guid>
		<description><![CDATA[Nick La was trying to style CSS3 border-radius to image element and he realized that Firefox doesn’t display border-radius on images. Then he figured a way to work around it &#8211; wrap a span tag around with the original image as a background-image. And also, Darcy Clarke has written a piece of  jQuery code which [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Nick La</strong> was trying to style CSS3 border-radius to image element and he realized that Firefox doesn’t display border-radius on images. Then he figured a way to work around it &#8211; wrap a span tag around with the original image as a background-image.</p>
<p>And also, <strong>Darcy Clarke</strong> has written a piece of  jQuery code which does the magic tag wrapping automatically. You can view the tutorial on <a title="CSS3 Rounded Image with jQuery" href="http://www.webdesignerwall.com/tutorials/css3-rounded-image-with-jquery/" target="_blank">CSS3 Rounded Image With jQuery</a>.</p>
<p><a title="CSS3 Rounded Image with jQuery" href="http://www.webdesignerwall.com/tutorials/css3-rounded-image-with-jquery/" target="_blank"><img class="size-full wp-image-3157 aligncenter" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/e92fd_round-corner.jpg" alt="round-corner" width="480" height="250" /></a></p>
<blockquote><p>Source: <a title="CSS3 Rounded Image with jQuery" href="http://www.webdesignerwall.com/tutorials/css3-rounded-image-with-jquery/" target="_blank">CSS3 Rounded Image with jQuery</a></p>
</blockquote>
<div>
<h3>Related Posts</h3>
<ul>
<li><a href="http://www.webappers.com/2009/08/03/create-rounded-corners-with-css3-border-radius-property/" rel="bookmark" title="August 3, 2009">Create Rounded Corners with CSS3 Border-Radius Property</a></li>
<li><a href="http://www.webappers.com/2010/01/14/how-to-build-the-new-visual-annotations-with-css3/" rel="bookmark" title="January 14, 2010">How to Build the New Visual Annotations with CSS3</a></li>
<li><a href="http://www.webappers.com/2008/06/21/magic-toolbox-javascript-and-flash-image-zoom-tools/" rel="bookmark" title="June 21, 2008">Magic Toolbox &#8211; Javascript and Flash Image Zoom Tools</a></li>
<li><a href="http://www.webappers.com/2010/03/02/mac-like-multi-level-dropdown-menu-with-css3/" rel="bookmark" title="March 2, 2010">Mac-like Multi-level Dropdown Menu with CSS3</a></li>
<li><a href="http://www.webappers.com/2009/05/06/how-to-create-an-image-rotator-with-jquery-and-css/" rel="bookmark" title="May 6, 2009">How to Create an Image Rotator with jQuery and CSS</a></li>
</ul>
</div>
<div>
</div>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/08061_D6okAtJlhXs" height="1" width="1" /><br />
<a href="http://feeds2.feedburner.com/Webappers">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/how-to-create-css3-rounded-image-with-jquery/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>CSS3 Rounded Image With jQuery</title>
		<link>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/css3-rounded-image-with-jquery/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/css3-rounded-image-with-jquery/#comments</comments>
		<pubDate>Wed, 30 Jun 2010 13:27:48 +0000</pubDate>
		<dc:creator>Facebook-Web-Design</dc:creator>
				<category><![CDATA[web resources]]></category>
		<category><![CDATA[background image]]></category>
		<category><![CDATA[demo]]></category>
		<category><![CDATA[image element]]></category>
		<category><![CDATA[image thanks]]></category>
		<category><![CDATA[Images]]></category>
		<category><![CDATA[radius]]></category>
		<category><![CDATA[span]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/css3-rounded-image-with-jquery/</guid>
		<description><![CDATA[The other day I was trying to style CSS3 border-radius to image element and I realized that Firefox doesn&#8217;t display border-radius on images. Then I figured a way to work around it &#8212; wrap a span tag around with the original image as a background-image. Thanks to Darcy Clarke for the jQuery code which does [...]]]></description>
			<content:encoded><![CDATA[<p>
	<img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/54039_css3-rounded-image.gif" align="right" alt="Leadin Image" />
	</p>
<p><big>The other day I was trying to style CSS3 border-radius to image element and I realized that Firefox doesn&#8217;t display border-radius on images. Then I figured a way to work around it &#8212; wrap a span tag around with the original image as a background-image. Thanks to <a href="http://clarke78.com">Darcy Clarke</a> for the jQuery code which does the magic tag wrapping automatically.</big></p>
<p><a href="http://www.webdesignerwall.com/demo/jquery-css3-rounded-img/">View Demo <em>Rounded Images</em></a> <a href="http://www.webdesignerwall.com/tutorials/css3-rounded-image-with-jquery/#more-531">(more&#8230;)</a></p>
<p><a href="http://www.webdesignerwall.com/feed/">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/css3-rounded-image-with-jquery/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>219,000 Cigarettes – A Smoking Hot Installation</title>
		<link>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/219000-cigarettes-%e2%80%93-a-smoking-hot-installation/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/219000-cigarettes-%e2%80%93-a-smoking-hot-installation/#comments</comments>
		<pubDate>Wed, 28 Apr 2010 07:29:23 +0000</pubDate>
		<dc:creator>Facebook-Web-Design</dc:creator>
				<category><![CDATA[web resources]]></category>
		<category><![CDATA[central sydney]]></category>
		<category><![CDATA[cigarette]]></category>
		<category><![CDATA[cigarettes]]></category>
		<category><![CDATA[Green Bay]]></category>
		<category><![CDATA[pr agency]]></category>
		<category><![CDATA[reflections]]></category>
		<category><![CDATA[Serenity]]></category>
		<category><![CDATA[smoker]]></category>
		<category><![CDATA[span]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/219000-cigarettes-%e2%80%93-a-smoking-hot-installation/</guid>
		<description><![CDATA[I don&#8217;t smoke, but I don&#8217;t have anything against anyone who does. I smoked when I was attending University, but when I graduated and moved away, suddenly it wasn&#8217;t fun anymore. About five years ago, I was at a party and in the mood for a cigarette. I took two puffs and puked for two [...]]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t smoke, but I don&#8217;t have anything against anyone who does.  I smoked when I was attending University, but when I graduated and moved away, suddenly it wasn&#8217;t fun anymore.  About five years ago, I was at a party and in the mood for a cigarette.  I took two puffs and puked for two days.  Needless to say, I won&#8217;t be smoking again for a while. <img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/ebd90_icon_smile.gif" alt=":)" class="wp-smiley" /> </p>
<p>Last week, at Martin Place in central Sydney, PR agency One Green Bay covered the floor with an installation made from 219,000 imitation cigarettes.  This number represents the number of cigarettes a 20-per-day smoker consumes over the span of 30 years.  It&#8217;s hard to see in the pictures, but the cigarettes are covered with a transparent panel, which is why you see people walking on top of them.</p>
<p>It was strategically placed in a spot where many people enjoy their cigarette break.  The purpose of this display was to raise awareness about how dangerous smoking is, and of course to encourage people to stop smoking, even if they have to seek professional help to do it.  I&#8217;m usually not a fan of these &#8220;in your face&#8221; kind of messages, but I like this one.  The reflections and serenity that these pictures portray actually make the cigarettes look beautiful.  I guess their marketing didn&#8217;t work on me, but since I don&#8217;t smoke anyway, it doesn&#8217;t really matter.</p>
<p align="center"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/a95ea_smoking1.jpg" alt="" /></p>
<p align="center"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/b3102_smoking2.jpg" alt="" /></p>
<p align="center"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/c80bd_smoking3.jpg" alt="" /></p>
<p align="center"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/2bbfa_smoking4.jpg" alt="" /></p>
<p align="center"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/ef963_smoking6.jpg" alt="" /></p>
<p align="center"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/18843_smoking7.jpg" alt="" /></p>
<p align="center"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/5ff79_smoking9.jpg" alt="" /></p>
<p align="center"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/7d8c8_smoking10.jpg" alt="" /></p>
<p><strong></strong><br />
<strong></strong><br />
Thanks for the pictures! <a href="http://www.zimbio.com/pictures/_Q0S692OaOn/219+000+Cigarettes+Cover+Martin+Place+Raise/zdtqpteUsj-">http://www.zimbio.com<br />
</a></p>
<div>
</div>
<p><a href="http://feeds2.feedburner.com/bitrebels">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/219000-cigarettes-%e2%80%93-a-smoking-hot-installation/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>CSS3 Gradient Buttons</title>
		<link>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/css3-gradient-buttons/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/css3-gradient-buttons/#comments</comments>
		<pubDate>Thu, 22 Apr 2010 17:02:47 +0000</pubDate>
		<dc:creator>Facebook-Web-Design</dc:creator>
				<category><![CDATA[web resources]]></category>
		<category><![CDATA[button size]]></category>
		<category><![CDATA[cross browser]]></category>
		<category><![CDATA[css gradient]]></category>
		<category><![CDATA[demo]]></category>
		<category><![CDATA[html element]]></category>
		<category><![CDATA[padding]]></category>
		<category><![CDATA[span]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/css3-gradient-buttons/</guid>
		<description><![CDATA[Last week I talked about Cross-Browser CSS Gradient. Today I&#8217;m going to show you how to put the CSS gradient feature in a good practical use. Check out my demo to see a set of gradient buttons that I have created with just CSS (no image or Javascript). The buttons are scalable based on the [...]]]></description>
			<content:encoded><![CDATA[<p>
	<img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/dbac5_css3-buttons.jpg" align="right" alt="Leadin Image" />
	</p>
<p><big>Last week I talked about <a href="http://www.webdesignerwall.com/tutorials/cross-browser-css-gradient/">Cross-Browser CSS Gradient</a>. Today I&#8217;m going to show you how to put the CSS gradient feature in a good practical use. Check out my <a href="http://www.webdesignerwall.com/demo/css-buttons.html">demo</a> to see a set of gradient buttons that I have created with just CSS (no image or Javascript). The buttons are scalable based on the font-size. The button size can be easily adjusted by changing the padding and font-size values. The best part about this method is it can be applied to any HTML element such as div, span, p, a, button, input, etc.</big> <a href="http://www.webdesignerwall.com/tutorials/css3-gradient-buttons/#more-504">(more&#8230;)</a></p>
<p><a href="http://www.webdesignerwall.com/feed/">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/css3-gradient-buttons/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FarmVille Surpasses 80 Million Users [PIC]</title>
		<link>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/farmville-surpasses-80-million-users-pic/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/farmville-surpasses-80-million-users-pic/#comments</comments>
		<pubDate>Sun, 21 Feb 2010 01:25:09 +0000</pubDate>
		<dc:creator>Facebook-Web-Design</dc:creator>
				<category><![CDATA[web resources]]></category>
		<category><![CDATA[1 billion dollars]]></category>
		<category><![CDATA[10 million]]></category>
		<category><![CDATA[30 million]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[parent company]]></category>
		<category><![CDATA[span]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/farmville-surpasses-80-million-users-pic/</guid>
		<description><![CDATA[FarmVille, the massively popular Facebook game, surpassed 80 million monthly active users this week (source: AppData). Facebook has around 400 million users in total. FarmVille has been a breakout hit, with its active user count growing by around 10 million users per month. Note that this isn&#8217;t simply signups: This is a count of people [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://api.tweetmeme.com/share?url=http://mashable.com/2010/02/20/farmville-80-million-users/&amp;service=bit.ly"><img width="51" height="61" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/6e874_farmville-80-million-users" align="right" /></a> <a href="http://www.google.com/reader/link?url=http://mashable.com/2010/02/20/farmville-80-million-users/&amp;title=FarmVille Surpasses 80 Million Users [PIC]&amp;srcTitle=Mashable&amp;srcUrl=http://mashable.com"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/6e874_gbuzz-feed.png" align="right" /></a>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/6e874_farmville260.jpg" alt="" width="260" height="190" class="alignright size-full wp-image-210180" />FarmVille, the massively popular Facebook game, surpassed 80 million monthly active users this week (source: <a href="http://www.appdata.com/facebook/apps/index/id/102452128776" target="blank">AppData</a>).  Facebook has around 400 million users in total.</p>
<p><a href="http://mashable.com/2010/02/19/farmville-social-networking-game-of-the-year/">FarmVille</a> has been a breakout hit, with its active user count growing by around 10 million users per month.  Note that this isn&#8217;t simply signups: This is a count of people using the app at least once in the 30 day span.</p>
<p>FarmVille&#8217;s daily active user count is currently 29.7 million &#8212; that&#8217;s <strong>almost 30 million people using FarmVille every day.</strong></p>
<p>FarmVille&#8217;s parent company, Zynga, was valued at <a href="http://mashable.com/2009/11/23/zynga-valuation/">1 billion dollars</a> late last year.</p>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/24ea0_farmvillechart.png" alt="" width="526" height="292" class="alignnone size-full wp-image-212074" /></p>
<p>Tags: <a href="http://mashable.com/tag/facebook/">facebook</a>, <a href="http://mashable.com/tag/farmville/">farmville</a></p>
<p><a href="http://feedads.g.doubleclick.net/~at/i3-97ubRiIBFtMghr8l0lO6vIrs/0/da"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/24ea0_di" border="0"></img></a><br />
<a href="http://feedads.g.doubleclick.net/~at/i3-97ubRiIBFtMghr8l0lO6vIrs/1/da"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/24ea0_di" border="0"></img></a></p>
<div>
</div>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/3e351_GD5Pu_kWTuY" height="1" width="1" /><br />
<a href="http://feeds2.feedburner.com/Mashable">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/farmville-surpasses-80-million-users-pic/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Pure CSS bar charts as a simple API</title>
		<link>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/pure-css-bar-charts-as-a-simple-api/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/pure-css-bar-charts-as-a-simple-api/#comments</comments>
		<pubDate>Mon, 18 Jan 2010 02:20:05 +0000</pubDate>
		<dc:creator>Facebook-Web-Design</dc:creator>
				<category><![CDATA[web resources]]></category>
		<category><![CDATA[chart c]]></category>
		<category><![CDATA[container document]]></category>
		<category><![CDATA[gt 400]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[nbsp]]></category>
		<category><![CDATA[Plain]]></category>
		<category><![CDATA[script src http]]></category>
		<category><![CDATA[span]]></category>
		<category><![CDATA[text]]></category>
		<category><![CDATA[ul class]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/pure-css-bar-charts-as-a-simple-api/</guid>
		<description><![CDATA[I am right now working on a high-traffic project that will run in a sandbox that doesn&#8217;t allow me to pull third party JavaScript or use canvas/Flash. Yet I need to generate bar charts from a set of data. The solution to me was to create the charts from HTML using CSS. There have been [...]]]></description>
			<content:encoded><![CDATA[<p>I am right now working on a high-traffic project that will run in a sandbox that doesn&#8217;t allow me to pull third party JavaScript or use canvas/Flash. Yet I need to generate bar charts from a set of data.</p>
<p><a href="http://icant.co.uk/csscharts"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/b44b9_4275838221_5ed55f57a6.jpg" alt="Pure CSS bar charts" /></a></p>
<p>The solution to me was to create the charts from HTML using CSS. There have been some <a href="http://meyerweb.com/eric/css/edge/bargraph/demo.html">solutions</a> <a href="http://www.splintered.co.uk/experiments/archives/css_bar_graphs/">for</a> <a href="http://www.standards-schmandards.com/exhibits/barchart/">this</a> <a href="http://www.cssplay.co.uk/menu/barchart.html">problem</a> <a href="http://speckyboy.com/2009/02/04/16-usable-css-graph-and-bar-chart-tutorials-and-techniques/">already</a> but I wanted something very simple and easy to maintain. Hence all the markup I am using is this:</p>
<div><a href="showCodeTxt('xml-5');">PLAIN TEXT</a></div>
<div><span>XML:</span></p>
<div>
<div>
<ol>
<li>
<div><span><span>&lt;ul<span>&gt;</span></span></span></div>
</li>
<li>
<div>&nbsp; <span><span>&lt;li<span>&gt;</span></span></span><span><span>&lt;span<span>&gt;</span></span></span>400<span><span>&lt;/span<span>&gt;</span></span></span><span><span>&lt;/li<span>&gt;</span></span></span></div>
</li>
<li>
<div>&nbsp; <span><span>&lt;li<span>&gt;</span></span></span><span><span>&lt;span<span>&gt;</span></span></span>20<span><span>&lt;/span<span>&gt;</span></span></span><span><span>&lt;/li<span>&gt;</span></span></span></div>
</li>
<li>
<div>&nbsp; <span><span>&lt;li<span>&gt;</span></span></span><span><span>&lt;span<span>&gt;</span></span></span>30<span><span>&lt;/span<span>&gt;</span></span></span><span><span>&lt;/li<span>&gt;</span></span></span></div>
</li>
<li>
<div>&nbsp; <span><span>&lt;li<span>&gt;</span></span></span><span><span>&lt;span<span>&gt;</span></span></span>233<span><span>&lt;/span<span>&gt;</span></span></span><span><span>&lt;/li<span>&gt;</span></span></span></div>
</li>
<li>
<div><span><span>&lt;/ul<span>&gt;</span></span></span> </div>
</li>
</ol>
</div>
</div>
</div>
<p>Instead of hard-coding any of the trickery necessary I wrote a PHP script to generate the HTML, the styles and do all the math. So all that is needed to render one of the charts is the following code:</p>
<div><a href="showCodeTxt('php-6');">PLAIN TEXT</a></div>
<div><span>PHP:</span></p>
<div>
<div>
<ol>
<li>
<div><span>&lt;?php</span> </div>
</li>
<li>
<div>&nbsp; <span>$values</span> = <span>&#8217;400,20,30,233,312,78,20,67&#8242;</span>;</div>
</li>
<li>
<div>&nbsp; <span>$height</span> = <span>100</span>;</div>
</li>
<li>
<div>&nbsp; <span>$width</span> = <span>600</span>;</div>
</li>
<li>
<div>&nbsp; <span>$bargap</span> = <span>0</span>;</div>
</li>
<li>
<div>&nbsp; <span>include</span><span>&#40;</span><span>&#8216;csscharts.php&#8217;</span><span>&#41;</span>;</div>
</li>
<li>
<div><span>?&gt;</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p>Of course, this can also be turned into a web service &#8211; you can get the chart with the following URL:</p>
<p><a href="http://icant.co.uk/csscharts/csscharts.php?values=400,20,30,233,312,78,20,67&amp;height=100&amp;width=600&amp;bargap=0">http://icant.co.uk/csscharts/csscharts.php?values=400,20,30,233,312,78,20,67&#38;height=100&#38;width=600&#38;bargap=0</a></p>
<p>And if you specify JSON as the format you get it with a <code>callback</code> to a function called <code>csscharts</code>:</p>
<p><a href="http://icant.co.uk/csscharts/csscharts.php?values=400,20,30,233,312,78,20,67&amp;format=json">http://icant.co.uk/csscharts/csscharts.php?values=400,20,30,233,312,78,20,67&#38;format=json</a></p>
<div><a href="showCodeTxt('javascript-7');">PLAIN TEXT</a></div>
<div><span>JAVASCRIPT:</span></p>
<div>
<div>
<ol>
<li>
<div>csscharts<span>&#40;</span></div>
</li>
<li>
<div>&nbsp; <span>&#123;</span></div>
</li>
<li>
<div>&nbsp; &nbsp; chart:<span>&#8220;&lt;ul class=<span>\&#8221;</span>barchart<span>\&#8221;</span> [… the rest of the html …]&lt;/ul&gt;&#8221;</span></div>
</li>
<li>
<div>&nbsp; <span>&#125;</span></div>
</li>
<li>
<div><span>&#41;</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p>That way you can use it in JavaScript:</p>
<div><a href="showCodeTxt('javascript-8');">PLAIN TEXT</a></div>
<div><span>JAVASCRIPT:</span></p>
<div>
<div>
<ol>
<li>
<div>&lt;script&gt;</div>
</li>
<li>
<div><span>function</span> csscharts<span>&#40;</span>o<span>&#41;</span><span>&#123;</span></div>
</li>
<li>
<div>&nbsp; <span>var</span> container = document.<span>getElementById</span><span>&#40;</span><span>&#8216;container&#8217;</span><span>&#41;</span>;</div>
</li>
<li>
<div>&nbsp; c.<span>innerHTML</span> = o.<span>chart</span> + c.<span>innerHTML</span>;</div>
</li>
<li>
<div><span>&#125;</span></div>
</li>
<li>
<div>&lt;/script&gt;</div>
</li>
<li>
<div>&lt;script src=<span>&#8220;http://icant.co.uk/csscharts/csscharts.php?values=400,20,30,233,312,78,20,67&amp;format=json&#8221;</span>&gt;&lt;/script&gt; </div>
</li>
</ol>
</div>
</div>
</div>
<p>You can <a href="http://icant.co.uk/csscharts/csscharts-demo.php">see some demos here</a>, get <a href="http://icant.co.uk/csscharts/">detailed info about the CSS trickery used</a> and of course <a href="http://github.com/codepo8/CSScharts">download the code on GitHub.</a></ul>
<div>
<a href="http://feeds.feedburner.com/~ff/ajaxian?a=R11_svY5jUc:vtoe9hBdr1I:yIl2AUoC8zA"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/b44b9_ajaxian?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ajaxian?a=R11_svY5jUc:vtoe9hBdr1I:7Q72WNTAKBA"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/7c61d_ajaxian?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ajaxian?a=R11_svY5jUc:vtoe9hBdr1I:D7DqB2pKExk"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/7c61d_ajaxian?i=R11_svY5jUc:vtoe9hBdr1I:D7DqB2pKExk" border="0"></img></a>
</div>
<p><a href="http://feeds2.feedburner.com/ajaxian">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/pure-css-bar-charts-as-a-simple-api/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Using jQuery to Style Design Elements: 20 Impressive Plugins</title>
		<link>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/using-jquery-to-style-design-elements-20-impressive-plugins/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/using-jquery-to-style-design-elements-20-impressive-plugins/#comments</comments>
		<pubDate>Sun, 10 Jan 2010 13:21:27 +0000</pubDate>
		<dc:creator>Facebook-Web-Design</dc:creator>
				<category><![CDATA[web resources]]></category>
		<category><![CDATA[anchor links]]></category>
		<category><![CDATA[Chris Coyier]]></category>
		<category><![CDATA[class]]></category>
		<category><![CDATA[design elements]]></category>
		<category><![CDATA[div style]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[quot]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[span]]></category>
		<category><![CDATA[span class]]></category>
		<category><![CDATA[styling design]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/using-jquery-to-style-design-elements-20-impressive-plugins/</guid>
		<description><![CDATA[I know we covered different jQuery posts here but you guys don&#8217;t stop asking for more. So here we are again covering more jQuery Plugins doing what: Styling Design Elements. So today we need jQuery solutions that are a little more specific. Here are 20 more handy jQuery plugins that have made websites much sleeker [...]]]></description>
			<content:encoded><![CDATA[<p>I know we covered <a href="http://devsnippets.com/reviews/15-jquery-plugins-to-fix-and-beautify-browser-issues.html">different</a> <a href="http://devsnippets.com/jquery-posts/20-jquery-plugins-for-unforgettable-user-experience.html">jQuery </a>posts here but you guys don&#8217;t stop asking for more. So here we are again covering more jQuery Plugins doing what: Styling Design Elements. So today we need jQuery solutions that are a little more specific. Here are 20 more handy jQuery plugins that have made websites much sleeker and more interesting.</p>
<h3>1. <a href="http://www.webdesignerwall.com/tutorials/jquery-sequential-list/">jQuery Sequential List</a></h3>
<p><a href="http://www.webdesignerwall.com/tutorials/jquery-sequential-list/"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/9bc17_jquery-designelements1.jpg" alt="" /></a></p>
<p>This tutorial will show you how to use jQuery to add a sequent of CSS classes to create a graphical list. The second example in this tutorial will show you how to add a comment counter to a comment list using jQuery’s prepend feature. The code is very simple, the following example shows how you can add a counter number to a comment list. </p>
<pre>
&lt;script type=&quot;text/javascript&quot; src=&quot;jquery.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
$(document).ready(function(){

  $(&quot;#commentlist li&quot;).each(function (i) {
    i = i 1;
    $(this).prepend(&#39;&lt;span class=&quot;commentnumber&quot;&gt; #&#39; i &#39;&lt;/span&gt;&#39;);
   });

});
&lt;/script&gt;
</pre>
<p>To get this markup:</p>
<pre>
&lt;ol id=&quot;commentlist&quot;&gt;
	&lt;li&gt;&lt;span class=&quot;commentnumber&quot;&gt; #1&lt;/span&gt;
		...
	&lt;/li&gt;
	&lt;li&gt;&lt;span class=&quot;commentnumber&quot;&gt; #2&lt;/span&gt;
		...
	&lt;/li&gt;
	&lt;li&gt;&lt;span class=&quot;commentnumber&quot;&gt; #3&lt;/span&gt;
		...
	&lt;/li&gt;
&lt;/ol&gt;
</pre>
<p><a href="http://webdesignerwall.com/demo/jquery-sequential/jquery-sequential-list.html">Check out the demo here</a></p>
<h3>2. <a href="http://www.atblabs.com/jquery.corners.html">jQuery Corners</a></h3>
<p><a href="http://www.atblabs.com/jquery.corners.html"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/94ffa_jquery-designelements2.jpg" alt="" /></a></p>
<p>This jQuery plugin will simple allow you to create rounded corner for your design elements including forms or anchor links without using images or obstructive markup.</p>
<p>Once jQuery and jQuery.corners scripts are loaded, rounding corners is easy. </p>
<pre>
&lt;div style=&quot;background-color:#acc; padding:5px&quot; class=&quot;rounded&quot;&gt;
  Simple Example
&lt;/div&gt;
&lt;script&gt;$(document).ready( function(){
  $(&#39;.rounded&#39;).corners();
});&lt;/script&gt;
</pre>
<p><a href="http://www.atblabs.com/jquery.corners.html">Check out the demo here</a></p>
<h3>3. <a href="http://widowmaker.kiev.ua/checkbox/">jQuery Checkbox</a></h3>
<p><a href="http://widowmaker.kiev.ua/checkbox/"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/01b44_jquery-designelements3.jpg" alt="" /></a></p>
<p>This jQuery plugin will simple skin checkboxes and radio buttons in a nice way.</p>
<p><a href="http://widowmaker.kiev.ua/checkbox/">Check out the demo here</a></p>
<h3>4. <a href="http://www.filamentgroup.com/lab/styling_buttons_and_toolbars_with_the_jquery_ui_css_framework/">Styling Buttons and Toolbars with the jQuery UI CSS Framework</a></h3>
<p><a href="http://www.filamentgroup.com/lab/styling_buttons_and_toolbars_with_the_jquery_ui_css_framework/"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/a95cf_jquery-designelements4.jpg" alt="" /></a></p>
<p>This tutorial demonstrates how to incorporate the power of jQuery UI CSS framework classes in a custom widget to create and style buttons and toolbars.</p>
<p>Creating a basic button is very simple with the jQuery UI CSS framework and styling it is really easy. All you need to do is add the default &#8220;clickable&#8221; state by assigning the class ui-state-default. We also want these to have rounded corners, so we added the optional ui-corner-all framework class which adds CSS3 corner-radius properties to all corners without the need for any images or extra markup.</p>
<pre>
&lt;button class=&quot;ui-state-default ui-corner-all&quot; type=&quot;submit&quot;&gt;Button&lt;/button&gt;
&lt;a href=&quot;#&quot; class=&quot;ui-state-default ui-corner-all&quot;&gt;Link&lt;/a&gt;
</pre>
<p><a href="http://www.filamentgroup.com/examples/buttonFrameworkCSS/">Check out the demo here</a></p>
<h3>5. <a href="http://www.smashingmagazine.com/2009/01/22/ask-sm-how-to-create-a-colorful-sitemap-with-jquery/">Create A Colorful Sitemap With jQuery</a></h3>
<p><a href="http://www.smashingmagazine.com/2009/01/22/ask-sm-how-to-create-a-colorful-sitemap-with-jquery/"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/d5b61_jquery-designelements5.jpg" alt="" /></a></p>
<p>In this article, Chris Coyier teaches us how to build a visually interesting sitemap that makes the hierarchy clearer through the use of color. The idea here is, when the mouse cursor hovers over a list, that list will brighten up a bit and fade to a unique color. When the mouse cursor is removed, the list will return to its original color.</p>
<p><a href="http://css-tricks.com/examples/Sitemap">Check out the demo here</a></p>
<h3>6. <a href="http://blog.jeremymartin.name/2008/02/blogger-trick-style-author-comments.html"> Style Author Comments Differently with jQuery</a></h3>
<p><a href="http://blog.jeremymartin.name/2008/02/blogger-trick-style-author-comments.html"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/ba7d3_jquery-designelements6.jpg" alt="" /></a></p>
<p>Now you want to apply the custom styling applied to comments left by the author on blogger. The script will loop through all of the comments on the page, if the member link on the current comment matches the member link in the profile page on your blog, then it must be an author comment. The script will then apply an additional class to the comment, allowing you to style it separately.</p>
<p><a href="http://blog.jeremymartin.name/2008/02/blogger-trick-style-author-comments.html">Check out the demo here</a></p>
<h3>7. <a href="http://code.google.com/p/jquery-asmselect/">asmSelect &#8211; Alternative Select Multiple</a></h3>
<p><a href="http://code.google.com/p/jquery-asmselect/"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/8c6b7_jquery-designelements7.jpg" alt="" /></a></p>
<p>A progressive enhancement to &lt;select multiple&gt; form elements which is easier for users to understand and interact with than regular &lt;select multiple&gt; form elements. Also, it doesn&#8217;t require user to Ctrl-Click or Shift-Click multiple elements. Instead users of your form can add or remove elements individually, without risk of losing those that have already been selected. </p>
<p><a href="http://www.ryancramer.com/projects/asmselect/examples/example1.html">Check out the demo here</a></p>
<h3>8. <a href="http://plugins.jquery.com/project/flexigrid">Flexgrid </a></h3>
<p><a href="http://plugins.jquery.com/project/flexigrid"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/8ad74_jquery-designelements8.jpg" alt="" /></a></p>
<p>A lightweight but rich data grid with resizable columns and a scrolling data to match the headers, plus an ability to connect to an xml based data source to load the content. Features include: Resizable columns, Resizable height, Sortable column headers, Cool theme, Can convert an ordinary table, Paging, Show/hide columns and more.</p>
<p><a href="http://sanderkorvemaker.nl/test/flexigrid/">Check out the demo here</a></p>
<h3>9. <a href="http://www.anon-design.se/demo/maxlength/">MaxLength</a></h3>
<p><a href="http://www.anon-design.se/demo/maxlength/"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/c2de7_jquery-designelements9.jpg" alt="" /></a></p>
<p>This plugin makes it easy to apply a &quot;maxlength&quot; attribute to custom elements for example a &lt;textarea&gt;. It also gives you the possibility to add a nice character counter under the element that shows the user how many chars he/she has left before the maxlength is reached, and/or an alert message.</p>
<p>To use this on a simple text area, all you have to do is:</p>
<pre>
&lt;script type=&quot;text/javascript&quot;&gt;
  $(document).ready(function(){
    $(&#39;#textarea_1_1&#39;).maxlength();
  });
&lt;/script&gt;
</pre>
<p><a href="http://www.anon-design.se/demo/maxlength/">Check out the demo here</a></p>
<h3>10. <a href="http://www.oakcitygraphics.com/jquery/clockpick/trunk/ClockPick.cfm">ClockPick</a></h3>
<p><a href="http://www.oakcitygraphics.com/jquery/clockpick/trunk/ClockPick.cfm"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/a48b2_jquery-designelements10.jpg" alt="" /></a></p>
<p>ClockPick is a timepicker plugin, enabling users to enter a time value into a form field. Using a unique popup div UI, ClockPick gets the job done in about 1/5 the time it takes to enter a time value using a traditional select menu UI.</p>
<p><a href="http://www.oakcitygraphics.com/jquery/clockpick/trunk/ClockPick.cfm">Check out the demo here</a></p>
<h3>11. <a href="http://pupunzi.wordpress.com/2009/01/18/mbmenu/">jQuery (mb)Menu 1.5</a></h3>
<p><a href="http://pupunzi.wordpress.com/2009/01/18/mbmenu/"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/29911_jquery-designelements11.jpg" alt="" /></a></p>
<p>This is a powerful jQuery component to build easily a multilevel tree menu or a contextual menu (right click) in an intuitive way! You can add as many submenus as you want; if your submenu or menu is not declared in the page, the component’ll get it via ajax calling the template page with the id of the menu you need (the value of  “menu” attribute) the ajax page should return a well formatted code as the example below for the menu voices code.</p>
<p><a href="http://www.open-lab.com/mb.ideas/index.html#mbMenu">Check out the demo here</a></p>
<h3>12. <a href="http://pupunzi.wordpress.com/2009/02/01/mbcontainersplus/">(mb)ContainersPlus 1.0</a></h3>
<p><a href="http://pupunzi.wordpress.com/2009/02/01/mbcontainersplus/"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/3e1fa_jquery-designelements12.jpg" alt="" /></a></p>
<p>This is a useful plug in to build full featured and full skinnable containers. The container can be set to draggable, resizable, collapsable and minimizable. The container can be set to draggable and resizable by adding &#8220;draggable&#8221; and/or &#8220;resizable&#8221; to the class attribute; there is a custom attribute called buttons that accept: i [iconize], m [minimize], c [close] as value to add buttons to the button-bar. You can also add a left top corner icon by adding the attribute &#8220;icon&#8221; with the icon path as value.</p>
<p><a href="http://www.open-lab.com/mb.ideas/index.html#mbContainerPlus">Check out the demo here</a></p>
<h3>13. <a href="http://www.ollicle.com/2007/jun/03/jquery_lineheight_flexible.html">Auto line-height for flexible layouts</a></h3>
<p><a href="http://www.ollicle.com/2007/jun/03/jquery_lineheight_flexible.html"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/24b92_jquery-designelements13.jpg" alt="" /></a></p>
<p>Adjusts the line-height of a container (such as a div) in proportion to it’s width, relative to the font size.</p>
<p><a href="http://www.ollicle.com/eg/jquery/autolineheight/">Check out the demo here</a></p>
<h3>14. <a href="http://layout.jquery-dev.net/">UI.Layout</a></h3>
<p><a href="http://plugins.jquery.com/project/layout"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/8d4d8_jquery-designelements14.jpg" alt="" /></a></p>
<p>This plugin was inspired by the <a href="http://extjs.com/deploy/dev/examples/layout/complex.html">extJS border-layout</a>, and recreates that functionality as a jQuery plug-in. The UI.Layout plug-in can create any UI look you want &#8211; from simple headers or sidebars, to a complex application with toolbars, menus, help-panels, status bars, sub-forms, etc.</p>
<p><a href="http://layout.jquery-dev.net/demos/complex.html">Check out the demo here</a></p>
<h3>15. <a href="http://franca.exofire.net/jq/colorize">Colorize </a></h3>
<p><a href="http://franca.exofire.net/jq/colorize"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/3e33e_jquery-designelements15.jpg" alt="" /></a></p>
<p>Colorize is a jQuery plugin to add background color to alternate table rows, highlight a row/column on mouse over, and colorize a row/column when you click your mouse button over it. You can colorize as many table rows as you want. A repeat mouse click reverts the row to the original background color.</p>
<p><a href="http://franca.exofire.net/js/demo_plugin_2.html">Check out the demo here</a></p>
<h3>16. <a href="http://www.memorycraft.jp/project/jquery/j3ssw/index.html">jQuery 3 State Switch Plugin</a></h3>
<p><a href="http://www.memorycraft.jp/project/jquery/j3ssw/index.html"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/af764_jquery-designelements16.jpg" alt="" /></a></p>
<p>jQuery 3 State Switch Plugin(J3SSW) is a jQuery Plugin that expresses the selection and some states of list item using radio button and checkbox at the same time. The applications of J3SSW includes some interfaces for sort key or filter key of any search results.</p>
<p><a href="http://www.memorycraft.jp/project/jquery/j3ssw/index.html">Check out the demo here</a></p>
<h3>17. <a href="http://plugins.jquery.com/project/ahover">Animated Hover</a></h3>
<p><a href="http://plugins.jquery.com/project/ahover"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/5d78e_jquery-designelements17.jpg" alt="" /></a></p>
<p>Animated Hover provides animated transitions between hovered items for any jQuery project. Requires jQuery 1.2+ and Dimensions</p>
<p><a href="http://media.brianbeck.com/shared/javascript/jquery-ahover/demo/demo.html">Check out the demo here</a></p>
<h3>18. <a href="http://www.komodomedia.com/blog/2008/10/jquery-feed-menus/">jQuery Feed Menu</a></h3>
<p><a href="http://www.komodomedia.com/blog/2008/10/jquery-feed-menus/"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/5d78e_jquery-designelements18.jpg" alt="" /></a></p>
<p>It’s nice to offer users an alternate way to get at your feeds, here is an easy and standard way of offering your feeds via a nice, compact menu, just like in the location bar, but on your site.</p>
<p><a href="http://www.komodomedia.com/blog/2008/10/jquery-feed-menus/">Check out the demo here</a></p>
<h3>19. <a href="http://www.noupe.com/css/jquery-hover-sub-tag-cloud.html">jquery Hover Sub Tag Cloud</a></h3>
<p><a href="http://www.noupe.com/css/jquery-hover-sub-tag-cloud.html"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/c314c_jquery-designelements19.jpg" alt="" /></a></p>
<p>Here is a new way to create your tag cloud Using jQuery and reduce its size, so my demo will introduce &#8220;Hover Sub Tags&#8221; under each main Tag, for example if you have Ajax as a tag, you can have jquery, mootools, etc… as sub-tags.  A Sub Tag  Cloud will appear when hovering over the main Tag links.</p>
<p><a href="http://www.noupe.com/examples/tagcloud/tag-cloud.html">Check out the demo here</a></p>
<h3>20. <a href="http://www.ihwy.com/Labs/jquery-listnav-plugin.aspx">jQuery ListNav Plugin</a></h3>
<p><a href="http://www.ihwy.com/Labs/jquery-listnav-plugin.aspx"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/e8a08_jquery-designelements20.jpg" alt="" /></a></p>
<p>This jQuery plugin supplies an easy way to unobtrusively add a letter-based navigation widget to any UL or OL list. An easily stylable (via CSS) nav bar appears above the list, showing the user the letters A-through-Z. Clicking one of the letters filters the list to show only the items in the list that start with that letter. Hovering over a letter (optionally) shows a count above the letter, indicating how many items will be displayed if that letter is clicked. Other options give you control over the basic functionality.</p>
<p><a href="http://www.ihwy.com/Labs/Demos/Current/jquery-listnav-plugin.aspx">Check out the demo here</a></p>
<p><a href="http://feeds2.feedburner.com/Devsnippets">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/using-jquery-to-style-design-elements-20-impressive-plugins/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>3D CSS Parallax Effect</title>
		<link>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/3d-css-parallax-effect/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/3d-css-parallax-effect/#comments</comments>
		<pubDate>Tue, 15 Dec 2009 12:05:03 +0000</pubDate>
		<dc:creator>Facebook-Web-Design</dc:creator>
				<category><![CDATA[web resources]]></category>
		<category><![CDATA[a99]]></category>
		<category><![CDATA[background position]]></category>
		<category><![CDATA[bg2]]></category>
		<category><![CDATA[class]]></category>
		<category><![CDATA[Hover]]></category>
		<category><![CDATA[nbsp nbsp nbsp nbsp nbsp]]></category>
		<category><![CDATA[span]]></category>
		<category><![CDATA[width]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/3d-css-parallax-effect/</guid>
		<description><![CDATA[Roman Cortes has a fun parallax effect using just CSS and HTML. Scroll over the bad boy above and see it at work. Then view the source and have your eyes bleed PLAIN TEXT HTML: &#160; &#60;style type=&#8220;text/css&#8221;&#62; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; a#a96:hover img {left: 224px}a#a96:hover b.d1 {background-position: 224px 0; width: [...]]]></description>
			<content:encoded><![CDATA[</p>
<p>Roman Cortes has a fun <a href="http://www.romancortes.com/ficheros/meninas.html">parallax effect</a> using just CSS and HTML. Scroll over the bad boy above and see it at work.</p>
<p>Then view the source and have your eyes bleed <img src='http://www.neurosoftware.ro/programming-blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<div><a href="showCodeTxt('html-2');">PLAIN TEXT</a></div>
<div><span>HTML:</span></p>
<div>
<div>
<ol>
<li>
<div>&nbsp;</div>
</li>
<li>
<div><span><a href="http://december.com/html/4/element/style.html"><span>&lt;style</span></a> <span>type</span>=<span>&#8220;text/css&#8221;</span><span>&gt;</span></a></span></div>
</li>
<li>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; a#a96:hover img {left: 224px}a#a96:hover b.d1 {background-position: 224px 0; width: 224px}a#a96:hover b.d2 {background-position: -449.6px 18px;}a#a96:hover b.d3 {background-position: -32px -216px; width: 368px}a#a96:hover b.d4 {background-position: -64px -74px;}a#a97:hover img {left: 223px}a#a97:hover b.d1 {background-position: 223px 0; width: 223px}a#a97:hover b.d2 {background-position: -449.7px 18px;}a#a97:hover b.d3 {background-position: -32.3333333333px -216px; width: 367.666666667px}a#a97:hover b.d4 {background-position: -64.6666666667px -74px;}a#a98:hover img {left: 222px}a#a98:hover b.d1 {background-position: 222px 0; width: 222px}a#a98:hover b.d2 {background-position: -449.8px 18px;}a#a98:hover b.d3 {background-position: -32.6666666667px -216px; width: 367.333333333px}a#a98:hover b.d4 {background-position: -65.3333333333px -74px;}a#a99:hover img {left: 221px}a#a99:hover b.d1 {background-position: 221px 0; width: 221px}a#a99:hover b.d2 {background-position: -449.9px 18px;}a#a99:hover b.d3 {background-position: -33px -216px; width: 367px}a#a99:hover b.d4 {background-position: -66px -74px;}&nbsp; &nbsp; &nbsp; &nbsp; <span><span>&lt;/style&gt;</span></span> </div>
</li>
<li>
<div>&nbsp;</div>
</li>
<li>
<div><span><a href="http://december.com/html/4/element/body.html"><span>&lt;body&gt;</span></a></span> </div>
</li>
<li>
<div>&nbsp; &nbsp; &nbsp; &nbsp; <span><a href="http://december.com/html/4/element/a.html"><span>&lt;a</span></a> <span>href</span>=<span>&#8220;#&#8221;</span> <span>id</span>=<span>&#8220;a0&#8243;</span><span>&gt;</span></a></span><span><a href="http://december.com/html/4/element/img.html"><span>&lt;img</span></a> <span>src</span>=<span>&#8220;meninas_bg2.jpg&#8221;</span> <span>width</span>=<span>&#8220;80&#8243;</span> <span>height</span>=<span>&#8220;455&#8243;</span> <span>alt</span>=<span>&#8220;&#8221;</span> /<span>&gt;</span></a></span><span><a href="http://december.com/html/4/element/b.html"><span>&lt;b</span></a> <span>class</span>=<span>&#8220;d1&#8243;</span><span>&gt;</span></a></span><span><span>&lt;/b&gt;</span></span><span><a href="http://december.com/html/4/element/b.html"><span>&lt;b</span></a> <span>class</span>=<span>&#8220;d4&#8243;</span><span>&gt;</span></a></span><span><span>&lt;/b&gt;</span></span><span><a href="http://december.com/html/4/element/b.html"><span>&lt;b</span></a> <span>class</span>=<span>&#8220;d3&#8243;</span><span>&gt;</span></a></span><span><span>&lt;/b&gt;</span></span><span><a href="http://december.com/html/4/element/b.html"><span>&lt;b</span></a> <span>class</span>=<span>&#8220;d2&#8243;</span><span>&gt;</span></a></span><span><span>&lt;/b&gt;</span></span><span><a href="http://december.com/html/4/element/span.html"><span>&lt;span&gt;</span></a></span><span>&amp;nbsp;</span><span><span>&lt;/span&gt;</span></span><span><span>&lt;/a&gt;</span></span><span><a href="http://december.com/html/4/element/a.html"><span>&lt;a</span></a> <span>href</span>=<span>&#8220;#&#8221;</span> <span>id</span>=<span>&#8220;a1&#8243;</span><span>&gt;</span></a></span><span><a href="http://december.com/html/4/element/img.html"><span>&lt;img</span></a> <span>src</span>=<span>&#8220;meninas_bg2.jpg&#8221;</span> <span>width</span>=<span>&#8220;81&#8243;</span> <span>height</span>=<span>&#8220;455&#8243;</span> <span>alt</span>=<span>&#8220;&#8221;</span> /<span>&gt;</span></a></span><span><a href="http://december.com/html/4/element/b.html"><span>&lt;b</span></a> <span>class</span>=<span>&#8220;d1&#8243;</span><span>&gt;</span></a></span><span><span>&lt;/b&gt;</span></span><span><a href="http://december.com/html/4/element/b.html"><span>&lt;b</span></a> <span>class</span>=<span>&#8220;d4&#8243;</span><span>&gt;</span></a></span><span><span>&lt;/b&gt;</span></span><span><a href="http://december.com/html/4/element/b.html"><span>&lt;b</span></a> <span>class</span>=<span>&#8220;d3&#8243;</span><span>&gt;</span></a></span><span><span>&lt;/b&gt;</span></span><span><a href="http://december.com/html/4/element/b.html"><span>&lt;b</span></a> <span>class</span>=<span>&#8220;d2&#8243;</span><span>&gt;</span></a></span><span><span>&lt;/b&gt;</span></span><span><a href="http://december.com/html/4/element/span.html"><span>&lt;span&gt;</span></a></span><span>&amp;nbsp;</span><span><span>&lt;/span&gt;</span></span><span><span>&lt;/a&gt;</span></span> </div>
</li>
<li>
<div>&nbsp; &nbsp; &nbsp; &nbsp; <span><a href="http://december.com/html/4/element/a.html"><span>&lt;a</span></a> <span>href</span>=<span>&#8220;#&#8221;</span> <span>id</span>=<span>&#8220;a2&#8243;</span><span>&gt;</span></a></span><span><a href="http://december.com/html/4/element/img.html"><span>&lt;img</span></a> <span>src</span>=<span>&#8220;meninas_bg2.jpg&#8221;</span> <span>width</span>=<span>&#8220;82&#8243;</span> <span>height</span>=<span>&#8220;455&#8243;</span> <span>alt</span>=<span>&#8220;&#8221;</span> /<span>&gt;</span></a></span><span><a href="http://december.com/html/4/element/b.html"><span>&lt;b</span></a> <span>class</span>=<span>&#8220;d1&#8243;</span><span>&gt;</span></a></span><span><span>&lt;/b&gt;</span></span><span><a href="http://december.com/html/4/element/b.html"><span>&lt;b</span></a> <span>class</span>=<span>&#8220;d4&#8243;</span><span>&gt;</span></a></span><span><span>&lt;/b&gt;</span></span><span><a href="http://december.com/html/4/element/b.html"><span>&lt;b</span></a> <span>class</span>=<span>&#8220;d3&#8243;</span><span>&gt;</span></a></span><span><span>&lt;/b&gt;</span></span><span><a href="http://december.com/html/4/element/b.html"><span>&lt;b</span></a> <span>class</span>=<span>&#8220;d2&#8243;</span><span>&gt;</span></a></span><span><span>&lt;/b&gt;</span></span><span><a href="http://december.com/html/4/element/span.html"><span>&lt;span&gt;</span></a></span><span>&amp;nbsp;</span><span><span>&lt;/span&gt;</span></span><span><span>&lt;/a&gt;</span></span><span><a href="http://december.com/html/4/element/a.html"><span>&lt;a</span></a> <span>href</span>=<span>&#8220;#&#8221;</span> <span>id</span>=<span>&#8220;a3&#8243;</span><span>&gt;</span></a></span><span><a href="http://december.com/html/4/element/img.html"><span>&lt;img</span></a> <span>src</span>=<span>&#8220;meninas_bg2.jpg&#8221;</span> <span>width</span>=<span>&#8220;83&#8243;</span> <span>height</span>=<span>&#8220;455&#8243;</span> <span>alt</span>=<span>&#8220;&#8221;</span> /<span>&gt;</span></a></span><span><a href="http://december.com/html/4/element/b.html"><span>&lt;b</span></a> <span>class</span>=<span>&#8220;d1&#8243;</span><span>&gt;</span></a></span><span><span>&lt;/b&gt;</span></span><span><a href="http://december.com/html/4/element/b.html"><span>&lt;b</span></a> <span>class</span>=<span>&#8220;d4&#8243;</span><span>&gt;</span></a></span><span><span>&lt;/b&gt;</span></span><span><a href="http://december.com/html/4/element/b.html"><span>&lt;b</span></a> <span>class</span>=<span>&#8220;d3&#8243;</span><span>&gt;</span></a></span><span><span>&lt;/b&gt;</span></span><span><a href="http://december.com/html/4/element/b.html"><span>&lt;b</span></a> <span>class</span>=<span>&#8220;d2&#8243;</span><span>&gt;</span></a></span><span><span>&lt;/b&gt;</span></span><span><a href="http://december.com/html/4/element/span.html"><span>&lt;span&gt;</span></a></span><span>&amp;nbsp;</span><span><span>&lt;/span&gt;</span></span><span><span>&lt;/a&gt;</span></span><span><a href="http://december.com/html/4/element/a.html"><span>&lt;a</span></a> <span>href</span>=<span>&#8220;#&#8221;</span> <span>id</span>=<span>&#8220;a4&#8243;</span><span>&gt;</span></a></span><span><a href="http://december.com/html/4/element/img.html"><span>&lt;img</span></a> <span>src</span>=<span>&#8220;meninas_bg2.jpg&#8221;</span> <span>width</span>=<span>&#8220;84&#8243;</span> <span>height</span>=<span>&#8220;455&#8243;</span> <span>alt</span>=<span>&#8220;&#8221;</span> /<span>&gt;</span></a></span><span><a href="http://december.com/html/4/element/b.html"><span>&lt;b</span></a> <span>class</span>=<span>&#8220;d1&#8243;</span><span>&gt;</span></a></span><span><span>&lt;/b&gt;</span></span><span><a href="http://december.com/html/4/element/b.html"><span>&lt;b</span></a> <span>class</span>=<span>&#8220;d4&#8243;</span><span>&gt;</span></a></span><span><span>&lt;/b&gt;</span></span><span><a href="http://december.com/html/4/element/b.html"><span>&lt;b</span></a> <span>class</span>=<span>&#8220;d3&#8243;</span><span>&gt;</span></a></span><span><span>&lt;/b&gt;</span></span><span><a href="http://december.com/html/4/element/b.html"><span>&lt;b</span></a> <span>class</span>=<span>&#8220;d2&#8243;</span><span>&gt;</span></a></span><span><span>&lt;/b&gt;</span></span><span><a href="http://december.com/html/4/element/span.html"><span>&lt;span&gt;</span></a></span><span>&amp;nbsp;</span><span><span>&lt;/span&gt;</span></span><span><span>&lt;/a&gt;</span></span><span><a href="http://december.com/html/4/element/a.html"><span>&lt;a</span></a> <span>href</span>=<span>&#8220;#&#8221;</span> <span>id</span>=<span>&#8220;a5&#8243;</span><span>&gt;</span></a></span><span><a href="http://december.com/html/4/element/img.html"><span>&lt;img</span></a> <span>src</span>=<span>&#8220;meninas_bg2.jpg&#8221;</span> <span>width</span>=<span>&#8220;85&#8243;</span> <span>height</span>=<span>&#8220;455&#8243;</span> <span>alt</span>=<span>&#8220;&#8221;</span> /<span>&gt;</span></a></span><span><a href="http://december.com/html/4/element/b.html"><span>&lt;b</span></a> <span>class</span>=<span>&#8220;d1&#8243;</span><span>&gt;</span></a></span><span><span>&lt;/b&gt;</span></span><span><a href="http://december.com/html/4/element/b.html"><span>&lt;b</span></a> <span>class</span>=<span>&#8220;d4&#8243;</span><span>&gt;</span></a></span><span><span>&lt;/b&gt;</span></span><span><a href="http://december.com/html/4/element/b.html"><span>&lt;b</span></a> <span>class</span>=<span>&#8220;d3&#8243;</span><span>&gt;</span></a></span><span><span>&lt;/b&gt;</span></span><span><a href="http://december.com/html/4/element/b.html"><span>&lt;b</span></a> <span>class</span>=<span>&#8220;d2&#8243;</span><span>&gt;</span></a></span><span><span>&lt;/b&gt;</span></span><span><a href="http://december.com/html/4/element/span.html"><span>&lt;span&gt;</span></a></span><span>&amp;nbsp;</span><span><span>&lt;/span&gt;</span></span><span><span>&lt;/a&gt;</span></span><span><a href="http://december.com/html/4/element/a.html"><span>&lt;a</span></a> <span>href</span>=<span>&#8220;#&#8221;</span> <span>id</span>=<span>&#8220;a6&#8243;</span><span>&gt;</span></a></span><span><a href="http://december.com/html/4/element/img.html"><span>&lt;img</span></a> <span>src</span>=<span>&#8220;meninas_bg2.jpg&#8221;</span> <span>width</span>=<span>&#8220;86&#8243;</span> <span>height</span>=<span>&#8220;455&#8243;</span> <span>alt</span>=<span>&#8220;&#8221;</span> /<span>&gt;</span></a></span><span><a href="http://december.com/html/4/element/b.html"><span>&lt;b</span></a> <span>class</span>=<span>&#8220;d1&#8243;</span><span>&gt;</span></a></span><span><span>&lt;/b&gt;</span></span><span><a href="http://december.com/html/4/element/b.html"><span>&lt;b</span></a> <span>class</span>=<span>&#8220;d4&#8243;</span><span>&gt;</span></a></span><span><span>&lt;/b&gt;</span></span><span><a href="http://december.com/html/4/element/b.html"><span>&lt;b</span></a> <span>class</span>=<span>&#8220;d3&#8243;</span><span>&gt;</span></a></span><span><span>&lt;/b&gt;</span></span><span><a href="http://december.com/html/4/element/b.html"><span>&lt;b</span></a> <span>class</span>=<span>&#8220;d2&#8243;</span><span>&gt;</span></a></span><span><span>&lt;/b&gt;</span></span><span><a href="http://december.com/html/4/element/span.html"><span>&lt;span&gt;</span></a></span><span>&amp;nbsp;</span><span><span>&lt;/span&gt;</span></span><span><span>&lt;/a&gt;</span></span><span><a href="http://december.com/html/4/element/a.html"><span>&lt;a</span></a> <span>href</span>=<span>&#8220;#&#8221;</span> <span>id</span>=<span>&#8220;a7&#8243;</span><span>&gt;</span></a></span><span><a href="http://december.com/html/4/element/img.html"><span>&lt;img</span></a> <span>src</span>=<span>&#8220;meninas_bg2.jpg&#8221;</span> <span>width</span>=<span>&#8220;87&#8243;</span> <span>height</span>=<span>&#8220;455&#8243;</span> <span>alt</span>=<span>&#8220;&#8221;</span> /<span>&gt;</span></a></span><span><a href="http://december.com/html/4/element/b.html"><span>&lt;b</span></a> <span>class</span>=<span>&#8220;d1&#8243;</span><span>&gt;</span></a></span><span><span>&lt;/b&gt;</span></span><span><a href="http://december.com/html/4/element/b.html"><span>&lt;b</span></a> <span>class</span>=<span>&#8220;d4&#8243;</span><span>&gt;</span></a></span><span><span>&lt;/b&gt;</span></span><span><a href="http://december.com/html/4/element/b.html"><span>&lt;b</span></a> <span>class</span>=<span>&#8220;d3&#8243;</span><span>&gt;</span></a></span><span><span>&lt;/b&gt;</span></span><span><a href="http://december.com/html/4/element/b.html"><span>&lt;b</span></a> <span>class</span>=<span>&#8220;d2&#8243;</span><span>&gt;</span></a></span><span><span>&lt;/b&gt;</span></span><span><a href="http://december.com/html/4/element/span.html"><span>&lt;span&gt;</span></a></span><span>&amp;nbsp;</span><span><span>&lt;/span&gt;</span></span><span><span>&lt;/a&gt;</span></span><span><a href="http://december.com/html/4/element/a.html"><span>&lt;a</span></a> <span>href</span>=<span>&#8220;#&#8221;</span> <span>id</span>=<span>&#8220;a8&#8243;</span><span>&gt;</span></a></span><span><a href="http://december.com/html/4/element/img.html"><span>&lt;img</span></a> <span>src</span>=<span>&#8220;meninas_bg2.jpg&#8221;</span> <span>width</span>=<span>&#8220;88&#8243;</span> <span>height</span>=<span>&#8220;455&#8243;</span> <span>alt</span>=<span>&#8220;&#8221;</span> /<span>&gt;</span></a></span><span><a href="http://december.com/html/4/element/b.html"><span>&lt;b</span></a> <span>class</span>=<span>&#8220;d1&#8243;</span><span>&gt;</span></a></span><span><span>&lt;/b&gt;</span></span><span><a href="http://december.com/html/4/element/b.html"><span>&lt;b</span></a> <span>class</span>=<span>&#8220;d4&#8243;</span><span>&gt;</span></a></span><span><span>&lt;/b&gt;</span></span><span><a href="http://december.com/html/4/element/b.html"><span>&lt;b</span></a> <span>class</span>=<span>&#8220;d3&#8243;</span><span>&gt;</span></a></span><span><span>&lt;/b&gt;</span></span><span><a href="http://december.com/html/4/element/b.html"><span>&lt;b</span></a> <span>class</span>=<span>&#8220;d2&#8243;</span><span>&gt;</span></a></span><span><span>&lt;/b&gt;</span></span><span><a href="http://december.com/html/4/element/span.html"><span>&lt;span&gt;</span></a></span><span>&amp;nbsp;</span><span><span>&lt;/span&gt;</span></span><span><span>&lt;/a&gt;</span></span><span><a href="http://december.com/html/4/element/a.html"><span>&lt;a</span></a> <span>href</span>=<span>&#8220;#&#8221;</span> <span>id</span>=<span>&#8220;a9&#8243;</span><span>&gt;</span></a></span><span><a href="http://december.com/html/4/element/img.html"><span>&lt;img</span></a> <span>src</span>=<span>&#8220;meninas_bg2.jpg&#8221;</span> <span>width</span>=<span>&#8220;89&#8243;</span> <span>height</span>=<span>&#8220;455&#8243;</span> <span>alt</span>=<span>&#8220;&#8221;</span> /<span>&gt;</span></a></span><span><a href="http://december.com/html/4/element/b.html"><span>&lt;b</span></a> <span>class</span>=<span>&#8220;d1&#8243;</span><span>&gt;</span></a></span><span><span>&lt;/b&gt;</span></span><span><a href="http://december.com/html/4/element/b.html"><span>&lt;b</span></a> <span>class</span>=<span>&#8220;d4&#8243;</span><span>&gt;</span></a></span><span><span>&lt;/b&gt;</span></span><span><a href="http://december.com/html/4/element/b.html"><span>&lt;b</span></a> <span>class</span>=<span>&#8220;d3&#8243;</span><span>&gt;</span></a></span><span><span>&lt;/b&gt;</span></span><span><a href="http://december.com/html/4/element/b.html"><span>&lt;b</span></a> <span>class</span>=<span>&#8220;d2&#8243;</span><span>&gt;</span></a></span><span><span>&lt;/b&gt;</span></span><span><a href="http://december.com/html/4/element/span.html"><span>&lt;span&gt;</span></a></span><span>&amp;nbsp;</span><span><span>&lt;/span&gt;</span></span><span><span>&lt;/a&gt;</span></span><span><a href="http://december.com/html/4/element/a.html"><span>&lt;a</span></a> <span>href</span>=<span>&#8220;#&#8221;</span> <span>id</span>=<span>&#8220;a10&#8243;</span><span>&gt;</span></a></span><span><a href="http://december.com/html/4/element/img.html"><span>&lt;img</span></a> <span>src</span>=<span>&#8220;meninas_bg2.jpg&#8221;</span> <span>width</span>=<span>&#8220;90&#8243;</span> <span>height</span>=<span>&#8220;455&#8243;</span> <span>alt</span>=<span>&#8220;&#8221;</span> /<span>&gt;</span></a></span><span><a href="http://december.com/html/4/element/b.html"><span>&lt;b</span></a> <span>class</span>=<span>&#8220;d1&#8243;</span><span>&gt;</span></a></span><span><span>&lt;/b&gt;</span></span><span><a href="http://december.com/html/4/element/b.html"><span>&lt;b</span></a> <span>class</span>=<span>&#8220;d4&#8243;</span><span>&gt;</span></a></span><span><span>&lt;/b&gt;</span></span><span><a href="http://december.com/html/4/element/b.html"><span>&lt;b</span></a> <span>class</span>=<span>&#8220;d3&#8243;</span><span>&gt;</span></a></span><span><span>&lt;/b&gt;</span></span><span><a href="http://december.com/html/4/element/b.html"><span>&lt;b</span></a> <span>class</span>=<span>&#8220;d2&#8243;</span><span>&gt;</span></a></span><span><span>&lt;/b&gt;</span></span><span><a href="http://december.com/html/4/element/span.html"><span>&lt;span&gt;</span></a></span><span>&amp;nbsp;</span><span><span>&lt;/span&gt;</span></span><span><span>&lt;/a&gt;</span></span><span><a href="http://december.com/html/4/element/a.html"><span>&lt;a</span></a> <span>href</span>=<span>&#8220;#&#8221;</span> <span>id</span>=<span>&#8220;a11&#8243;</span><span>&gt;</span></a></span><span><a href="http://december.com/html/4/element/img.html"><span>&lt;img</span></a> <span>src</span>=<span>&#8220;meninas_bg2.jpg&#8221;</span> <span>width</span>=<span>&#8220;91&#8243;</span> <span>height</span>=<span>&#8220;455&#8243;</span> <span>alt</span>=<span>&#8220;&#8221;</span> /<span>&gt;</span></a></span><span><a href="http://december.com/html/4/element/b.html"><span>&lt;b</span></a> <span>class</span>=<span>&#8220;d1&#8243;</span><span>&gt;</span></a></span><span><span>&lt;/b&gt;</span></span> </div>
</li>
<li>
<div>&nbsp;</div>
</li>
</ol>
</div>
</div>
</div>
<p>I hope he used a tool <img src='http://www.neurosoftware.ro/programming-blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </a></p>
<div>
<a href="http://feeds.feedburner.com/~ff/ajaxian?a=hVPCt5Wl8oA:zA0Bn93juw0:yIl2AUoC8zA"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/1c7fe_ajaxian?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ajaxian?a=hVPCt5Wl8oA:zA0Bn93juw0:7Q72WNTAKBA"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/1c7fe_ajaxian?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ajaxian?a=hVPCt5Wl8oA:zA0Bn93juw0:D7DqB2pKExk"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/1c7fe_ajaxian?i=hVPCt5Wl8oA:zA0Bn93juw0:D7DqB2pKExk" border="0"></img></a>
</div>
<p><a href="http://feeds2.feedburner.com/ajaxian">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/3d-css-parallax-effect/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Microformats: Boon or Bane?</title>
		<link>http://www.neurosoftware.ro/programming-blog/facebook-web-design/programming/microformats-boon-or-bane/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/facebook-web-design/programming/microformats-boon-or-bane/#comments</comments>
		<pubDate>Thu, 10 Dec 2009 12:27:11 +0000</pubDate>
		<dc:creator>Facebook-Web-Design</dc:creator>
				<category><![CDATA[funny]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[class]]></category>
		<category><![CDATA[crappy html]]></category>
		<category><![CDATA[div]]></category>
		<category><![CDATA[elevator pitch]]></category>
		<category><![CDATA[hResume]]></category>
		<category><![CDATA[human resource departments]]></category>
		<category><![CDATA[Iowa]]></category>
		<category><![CDATA[microformat]]></category>
		<category><![CDATA[public cvs]]></category>
		<category><![CDATA[span]]></category>
		<category><![CDATA[stack overflow]]></category>
		<category><![CDATA[USA]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/facebook-web-design/programming/microformats-boon-or-bane/</guid>
		<description><![CDATA[I recently added microformat support to the free public CVs at careers.stackoverflow.com by popular demand. Designed for humans first and machines second, microformats are a set of simple, open data formats built upon existing and widely adopted standards. The official microformat &#8220;elevator pitch&#8221; tells us nothing useful. That&#8217;s not a good sign. It doesn&#8217;t get [...]]]></description>
			<content:encoded><![CDATA[<p>
I recently added <a href="http://en.wikipedia.org/wiki/Microformat">microformat</a> support to the free public CVs at <a href="http://careers.stackoverflow.com/">careers.stackoverflow.com</a> by popular demand.</p>
<blockquote><p>
Designed for humans first and machines second, <b>microformats are a set of simple, open data formats built upon existing and widely adopted standards</b>.
</p></blockquote>
<p>
The <a href="http://microformats.org/">official</a> microformat <a href="http://www.codinghorror.com/blog/archives/000962.html">&#8220;elevator pitch&#8221;</a> tells us nothing useful. That&#8217;s not a good sign. It doesn&#8217;t get much better on the <a href="http://microformats.org/about">learn more</a> link, either.</p>
<p>
I&#8217;m left scratching my head, wondering <b>why I should care</b>. What problem, exactly, do microformats solve for me as a user? As a software developer? There&#8217;s lots of hand-wavy talk about <i>data</i>, but precious little in the way of concrete stories or real world examples.</p>
<p>
But I have a real world example: a CV. To some human resource departments the standard web interchange format for a CV or Resume is already established &#8212; it&#8217;s called &#8220;Microsoft Word&#8221;. I have no beef with Word, but certainly we&#8217;d like to pick a more <b>simple, open data format</b> for our personal data than Microsoft Word &#8212; and the <a href="http://en.wikipedia.org/wiki/HResume">hResume</a> microformat seems to fit the bill. And if your CV is published on the web in a standard(ish) format, it&#8217;s easier to take it with you wherever you need to go. </p>
<p>
I had already implemented the <a href="http://microformats.org/wiki/rel-tag">tag</a> and <a href="http://microformats.org/wiki/rel-me">identity</a> microformats on Stack Overflow many months ago. I wasn&#8217;t convinced of the benefits, but the implementation was so easy that it seemed like more work to argue the point than to actually <i>get it done</i>. Judge for yourself:</p>
<p><pre>
&lt;a href="http://www.codinghorror.com/" rel="me"&gt;codinghorror.com&lt;/a&gt;
&lt;a href="/questions/tagged/captcha" rel="tag"&gt;captcha&lt;/a&gt;
</pre>
<p>
Fairly clean and simple, right? That was the extent of my experience with microformats. Limited, but positive. Then I read through the <a href="http://microformats.org/wiki/hresume">hResume microformat spec</a>. You should read it too. Go ahead. I&#8217;ll wait here.</p>
<p>
My first impression was not positive, to put it mildly. So you want me to <b>take the ambiguous, crappy &#8220;HTML&#8221; markup we already have and layer some ambiguous, crappy &#8220;microformat&#8221; markup on <i>top</i> of it?</b> And that&#8217;s &hellip; a solution? If that&#8217;s what microformats are going to be about, I think I might want off the microbus.</p>
<p>
Let&#8217;s take a look at a representative slice of hResume markup:</p>
<p><pre>
&lt;div class="vcard"&gt;
  &lt;a class="fn org url" href="http://example.com/"&gt;Example&lt;/a&gt;
  &lt;div class="adr"&gt;
    &lt;span class="type"&gt;Work&lt;/span&gt;:
    &lt;div class="street-address"&gt;169 Maple Ave&lt;/div&gt;
    &lt;span class="locality"&gt;Anytown&lt;/span&gt;,
    &lt;abbr class="region" title="Iowa"&gt;IA&lt;/abbr&gt;
    &lt;span class="postal-code"&gt;50981&lt;/span&gt;
    &lt;div class="country-name"&gt;USA&lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;
</pre>
<p>
As you can see, <b>the crux of microformats is overloading CSS classes</b>. When you give something the &#8220;adr&#8221; class within the &#8220;vcard&#8221; class, that means it&#8217;s the address data field within the hCard, within the hResume.</p>
<p>
While I can see the attraction, this approach makes me uneasy:</p>
<ol>
<li><b>We&#8217;re overloading the class attribute with two meanings.</b> Is &#8220;adr&#8221; the name of a class that contains styling information, or the name of a data field? Or both? It&#8217;s impossible to tell. The minute you introduce a microformat into your HTML, the semantics of the class attribute have been permanently altered.
<li><b>The microformat css class names may overlap with existing css classes</b>. Woe betide the poor developer who has to retrofit a microformat on an established site where &#8220;locality&#8221; or &#8220;region&#8221; have already been defined in the CSS and are associated with elements all over the site. And let me tell you, many of the microformat css field names are, uh, <i>conveniently</i> named what you&#8217;ve probably already used in your HTML somewhere. In the wrong way, inevitably.
<li><b>There&#8217;s no visual indication whatsoever that any given css class is a microformat</b>. If you hire a new developer, how can they possibly be expected to know that &#8220;postal-code&#8221; isn&#8217;t just an arbitrarily chosen CSS class name, it&#8217;s a gosh darned officially blessed <i>microformat</i>? What if they decide they don&#8217;t like dashes in CSS class names and rename the style &#8220;postalcode&#8221;? Wave bye bye to your valid microformat. If it seems fragile and obtuse, that&#8217;s because it is.
<li><b>The spec is <i>incredibly</i> ambiguous</b>. I read through the hResume, hCard, and hCalendar spec multiple times, checked all the samples, viewed source on existing sites, used all the <a href="http://ufxtract.com/">validators</a> I could find, and I <i>still</i> got huge swaths of the format wrong! For a &#8220;simple&#8221; and &#8220;easy&#8221; format, it&#8217;s &hellip; anything but, in my experience. The specification is full of ambiguities and requires a lot of interpretation to even get close. I&#8217;m not the <a href="http://www.codinghorror.com/blog/archives/000051.html">world&#8217;s best developer</a>, but I&#8217;m theoretically competent, and if I can&#8217;t implement hResume without wanting to cut myself and/or writing snarky blog posts like this, how can we expect everyone else to?
<li><b>It doesn&#8217;t handle unstructured data well</b>. On Stack Overflow, we have a single &#8220;location&#8221; field. No city, state, zip, lat, long, and all that jazz: just an unstructured, freeform, enter-whatever-pleases-you &#8220;location&#8221; field. This was awkward to map in hCard, which practically <i>demands</i> that addresses be chopped up into meticulous little sub-fields. This is a bit ironic for a format supposedly designed to work with the loose, unstructured world wide web. Oh, and this goes double for dates. If you don&#8217;t have an ISO datetime value, good luck.
</ol>
<p>
Maybe I have a particular aversion to getting my chocolate data structure mixed up with my peanut butter layout structure, but it totally skeeves me out that the microformat folks actually <i>want</i> us to design our CSS and HTML around these specific, ambiguous and non-namespaced microformat CSS class names. It feels like a hacky overload. While you could argue this is no different than the web and HTML in general &#8212; a giant wobbly teetering tower of nasty, patched-together hacks &#8212; something about it fundamentally bothers me.</p>
<p>
Now, all that said, <b>I still think microformats are useful and worth implementing</b>, if for no other reason than it&#8217;s <i>too easy not to</i>. If you have semi-structured data, and it maps well to an existing microformat, why not? Yes, it is kind of a hack, but it might even be a useful hack if <a href="http://microformats.org/wiki/google-search">Google starts indexing your microformats and presenting them in search results</a>. While I&#8217;m unclear on the general benefits of microformats for end users or developers, seeing stuff like this in search results &hellip;</p>
<p>
<img alt="google-microformat-results-forum.png" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/a988a_google-microformat-results-forum.png" width="544" height="99" /></p>
<p>
<img alt="google-microformat-results-review.png" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/49ca1_google-microformat-results-review.png" width="547" height="96" class="mt-image-none" /></p>
<p>
&hellip; is enough to convince me that microformats are a step in the right direction. Warts and all. While we&#8217;re waiting for HTML5 and <a href="http://ejohn.org/blog/html-5-data-attributes/">its mythical data attributes</a> to ship sometime this century, it&#8217;s better than nothing.</p>
<table>
<tr>
<td>
[advertisement] <a href="http://www.atlassian.com/software/jira/?s_kwcid=codinghorror&amp;utm_source=codinghorror&amp;utm_medium=referral&amp;utm_campaign=footer_link&amp;utm_content=jira4_from_10" rel="nofollow">JIRA 4</a> &#8211; Simplify issue tracking for everyone involved. <a href="http://www.atlassian.com/software/jira/?s_kwcid=codinghorror&amp;utm_source=codinghorror&amp;utm_medium=referral&amp;utm_campaign=footer_link&amp;utm_content=jira4_from_10" rel="nofollow">Get started</a> from $10 for 10 users.
</td>
</tr>
</table>
<p>
<a href="http://feeds.feedburner.com/codinghorror">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/facebook-web-design/programming/microformats-boon-or-bane/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Microformats: What, Why, and How</title>
		<link>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/microformats-what-why-and-how/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/microformats-what-why-and-how/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 07:45:18 +0000</pubDate>
		<dc:creator>Facebook-Web-Design</dc:creator>
				<category><![CDATA[web resources]]></category>
		<category><![CDATA[123 Main Street]]></category>
		<category><![CDATA[Canada]]></category>
		<category><![CDATA[class]]></category>
		<category><![CDATA[couple of minutes]]></category>
		<category><![CDATA[darling]]></category>
		<category><![CDATA[data formats]]></category>
		<category><![CDATA[guy]]></category>
		<category><![CDATA[href]]></category>
		<category><![CDATA[javascript library]]></category>
		<category><![CDATA[John]]></category>
		<category><![CDATA[John Doe]]></category>
		<category><![CDATA[microformat]]></category>
		<category><![CDATA[Microformats]]></category>
		<category><![CDATA[Ontario]]></category>
		<category><![CDATA[quot]]></category>
		<category><![CDATA[rel]]></category>
		<category><![CDATA[span]]></category>
		<category><![CDATA[Toronto]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/microformats-what-why-and-how/</guid>
		<description><![CDATA[There&#8217;s a lot of data on the web. Like, a lot. But I would guess that the data most useful to the masses&#8212;such as information about people they need to contact or events they need to attend&#8212;is stored in HTML, where you can&#8217;t easily get at it. So, who you gonna call? Microformats is attempting [...]]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s a lot of data on the web. Like, a lot. But I would guess that the data most useful to the masses&#8212;such as information about people they need to contact or events they need to attend&#8212;is stored in HTML, where you can&#8217;t easily get at it. So, who you gonna call? Microformats is attempting to take on the job!</p>
<p><span></span></p>
<h3>What?</h3>
<p>Let&#8217;s take this from the top. What are microformats? Off the homepage of <a href="http://microformats.org">microformats.org</a> comes this definition:</p>
<blockquote>
<p>Designed for humans first and machines second, microformats are a set of simple, open data formats built upon existing and widely adopted standards.</p>
</blockquote>
<p>A good start, but we need a bit more to clarify. You can find a <a href="http://microformats.org/wiki/what-are-microformats">whole list of definitions</a> on the site, but here&#8217;s the summary: <strong>microformats are a set of standards for embedding easily extractable data on your pages, using technologies you are comfortable with today.</strong> The great part about this is that you probably have content on your site <em>right now</em> that you could mark up with a microformat. The even greater part is that it will only take you a couple of minutes after reading this tutorial.</p>
<h3>Why?</h3>
<p>So why should you use microformats? What&#8217;s the incentive? Well, if you&#8217;re convinced that HTML should be semantic just because, then microformats will click with you. Otherwise, I&#8217;ll persuade: as we noticed, the whole idea of microformats is to standardize that way data is marked up on a page, so that it can be easily extracted. Currently, there aren&#8217;t a whole lot of tools that take advantage of microformats, but I think that will change. Using microformats in your work will prepare your websites for the future, when microformats will be much more widespread. Again, the website has <a href="http://microformats.org/wiki/what-can-you-do-with-microformats">general list of what you can do with microformats</a>. There&#8217;s already decent Firefox addon for extracting microformats; it&#8217;s called <a href="https://addons.mozilla.org/en-US/firefox/addon/4106">Operator</a>. </p>
<div><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/5d967_operator.jpg" alt="Operator FireFox AddOn" /></div>
<p>Then, <cite><a href="http://www.danwebb.net">Dan Web</a></cite> has created a <a href="http://www.github.com/danwrong/sumo">simple JavaScript library called &#8216;Sumo&#8217;</a> that <a href="http://www.danwebb.net/2007/2/9/sumo-a-generic-microformats-parser-for-javascript">extracts microformats for use with JavaScript</a>. You can also try <a href="http://leftlogic.com/lounge/articles/microformats_bookmarklet/">the microformats bookmarklet</a>.</p>
<h3>How?</h3>
<p>Well, if you&#8217;ve gotten this far, it&#8217;s obvious you and microformats were meant for each other. So let&#8217;s hop right in and look at one. But before we do, here&#8217;s the general structure of the microformats we&#8217;ll be looking at: generally speaking, if they involve more than one element in our code, they use classes. If they are only concerned with one element, it&#8217;s usually the rel attribute that&#8217;s used.</p>
<h4>hCalendar</h4>
<p>hCalendar is an easy way to mark up events. We&#8217;ll start with an element that declares our event:</p>
<pre>
&lt;div class=&quot;vevent&quot;&gt;

&lt;/div&gt;
</pre>
<p>If you have multiple events, you should wrap them in a div.vcalendar; however, it&#8217;s not necessary. There are two required properties for an event: the start date (dtstart) and the summary. Let&#8217;s add these: </p>
<pre>
&lt;div class=&quot;vevent&quot;&gt;
	&lt;p&gt;This year, our &lt;span class=&quot;summary&quot;&gt;company holiday dinner&lt;/span&gt;
	will begin at &lt;span class=&quot;dtstart&quot;&gt;2009-12-18T17:30&lt;/span&gt;.&lt;/p&gt;
&lt;/div&gt;
</pre>
<p>Human-readable, eh? Not that date! You&#8217;re right; although microformats are written for people first, dates are one area where it&#8217;s important that computers can read it. Common convention would be to write the date with an abbr tag, in which case the title attribute would be the value for the property value:</p>
<pre>
&lt;abbr class=&quot;dtstart&quot; title=&quot;2009-12-18T17:30&quot;&gt;5:30pm on Friday, December 18.&lt;/abbr&gt;</pre>
<p>There are other, optional properties you can add, as well. How about an end time, or a location?</p>
<pre>
&lt;p&gt;We&apos;ll meet in the &lt;span class=&quot;location&quot;&gt; conference room of the Tower Hotel&lt;/span&gt;,
which we have reserved until &lt;abbr class=&quot;dtend&quot; title=&quot;2009-12-18T20:30&quot;&gt;9:30pm&lt;/abbr&gt;.&lt;/p&gt;
</pre>
<p>Using the Operator Toolbar in Firefox, we can see that this event is on our page. We can work with it in several ways:</p>
<div><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/0aac0_hcalendar.jpg" alt="hCalenday in Operator" /></div>
<div><img src="http://nettuts.s3.amazonaws.com/515_micro/" alt="" /></div>
<p>If I choose to export it to Google Calendar, it perfectly carries over the values we have set.</p>
<div><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/f937a_gcal.jpg" alt="Google Calendar, importing hCalendar" /></div>
<p>For more about hCalendar, check out the <a href="http://microformats.org/wiki/hcalendar">hCalendar documentation</a>,</p>
<h4>hCard</h4>
<p>Let&#8217;s move on to hCard; hCard is a lot more complicated than hCalendar, but we won&#8217;t get into all the details. If you want to read more later, check out <a href="http://microformats.org/wiki/hcard">the docs</a>.</p>
<p>Again, we start with our root:</p>
<pre>
&lt;div class=&quot;vcard&quot;&gt;
&lt;/div&gt;
</pre>
<p>For hCard, there are only two required properties; the name (n) and the formatted name (fn). Usually, there are the same element. </p>
<pre>
&lt;div class=&quot;vcard&quot;&gt;
	&lt;p class=&quot;fn n&quot;&gt;John Doe&lt;/p&gt;
&lt;/div&gt;
</pre>
<p>Without going too deep, I&#8217;ll note that this format implies that &#8216;John&#8217; is the first name and &#8216;Doe&#8217; is the last name. If you want to specify this, you can use the given-name and family-name classes:</p>
<pre>
&lt;span class=&quot;given-name&quot;&gt;John&lt;/span&gt;
&lt;span class=&quot;family-name&quot;&gt;Doe&lt;/span&gt;
</pre>
<p>Of course, you&#8217;ll usually want to add more than just your name. You can add a nickname, photo, email address, birthday, url, telephone number, and address, just to name a few. </p>
<pre>
&lt;p class=&quot;nickname&quot;&gt;JayDee&lt;/p&gt;
&lt;img src=&quot;http://www.johndoe.com/avatar.jpg&quot; class=&quot;photo&quot; /&gt;
&lt;ul&gt;
	&lt;li class=&quot;email&quot;&gt;&lt;span class=&quot;type&quot;&gt;Personal:&lt;/span&gt; &lt;span class=&quot;value&quot;&gt;johndoe@gmail.com&lt;/span&gt;&lt;/li&gt;
	&lt;li class=&quot;email&quot;&gt;&lt;span class=&quot;type&quot;&gt;Work:&lt;/span&gt; jdoe@example.com&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
	&lt;li class=&quot;tel&quot;&gt;&lt;span class=&quot;type&quot;&gt;Home&lt;/span&gt;: &lt;span class=&quot;value&quot;&gt;(416) 123-4567&lt;/span&gt;&lt;/li&gt;
	&lt;li class=&quot;tel&quot;&gt;&lt;span class=&quot;type&quot;&gt;Work&lt;/span&gt; 416-987-6543&lt;/li&gt;
&lt;/ul&gt;
&lt;p class=&quot;bday&quot;&gt;January 1, 1980&lt;/p&gt;
&lt;a href=&quot;http://www.johndoe.com&quot; class=&quot;url&quot;&gt;My Website&lt;/a&gt;
&lt;address class=&quot;adr&quot;&gt;
	&lt;p class=&quot;street-address&quot;&gt;123 Main Street&lt;/p&gt;
	&lt;p&gt;&lt;span class=&quot;locality&quot;&gt;Toronto&lt;/span&gt;, &lt;span class=&quot;region&quot;&gt;Ontario&lt;/span&gt; &lt;span class=&quot;postal-code&quot;&gt;M2W 4R5&lt;/span&gt;&lt;/p&gt;
	&lt;p class=&quot;country&quot;&gt;Canada&lt;/p&gt;
&lt;/address&gt;
</pre>
<p>There are a few things to note here:</p>
<ul>
<li>All the class names I&#8217;ve used here are the hCard properties. </li>
<li>Some properties, like url and photo, take their values from the href or src attributes, and not the text of the element.</li>
<li>Properties like tel and email can have two child properties: type and value. If only type is defined, value will be implied (as you can see in the second email address and telephone number).</li>
</ul>
<p>Using Operator, I can export this as a vcard &#8230;</p>
<div><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/d639e_hcard.jpg" alt="hCard in Operator" /></div>
<p>&#8230; and open it in Outlook. </p>
<div><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/cd4c6_outlook.jpg" alt="hCard in Outlook" /></div>
<p>See? Everything we defined is here!</p>
<h4>xFolk</h4>
<p>xFolk is a developing microformat for open social bookmarks. From the <a href="http://microformats.org/wiki/xfolk">docs</a>:</p>
<blockquote>
<p>Lack of an open, interoperable data standard is a major issue in using social bookmarking services. An open standard would make it possible to easily collect social bookmark data and remix it to invent new services &#8230; An open standard would also make it possible to write JavaScripts that work across services as some currently do for del.icio.us, enabling across-the-board improvements in user experience.</p>
</blockquote>
<p>To implement xFolk, start by giving each bookmark wrapper a class of &#8216;xfolkentry&#8217;:</p>
<pre>
&lt;li class=&quot;xfolkentry&quot;&gt;
&lt;/li&gt;
</pre>
<p>Then, insert the link and a description, giving them classes of &#8216;taggedLink&#8217; and &#8216;description&#8217;, respectively.</p>
<pre>
&lt;a class=&quot;taggedlink&quot; href=&quot;http://net.tutsplus.com&quot; title=&quot;Nettuts+&quot;&gt;Nettuts&lt;/a&gt;,
&lt;span class=&quot;description&quot;&gt;the best web development blog on the planet&lt;/span&gt;.
</pre>
<p>Yup, simple; I can imagine this being useful on a blog roll, or in a web roundup. Think of a tool that would let you bookmark all of these links at once.</p>
<h4>XFN (XHTML Friends Network)</h4>
<p>XFN is a simple way to mark up human relationships. Using the rel attribute (which is short for relationship) on your links, you define your relationship with the owner of the page you&#8217;re linking to. You can have a relationship with two parties: other people or yourself (well, your other pages). It&#8217;s easy to define other pages you own: </p>
<pre>
&lt;a rel=&quot;me&quot; href=&quot;http://JohnDoe.posterous.com&quot;&gt;My Posterous&lt;/a&gt;
&lt;a rel=&quot;me&quot; href=&quot;http://www.flickr.com/JohnDoe&quot;&gt;My Photos&lt;/a&gt;
&lt;a rel=&quot;me&quot; href=&quot;http://twitter.com/JohnDoe&quot;&gt;My Tweets&lt;/a&gt;
</pre>
<p>Pretty simple, eh? rel=&#8221;me&#8221; and you&#8217;re done.</p>
<p>Relationships with other people are a bit more detailed, but no more difficult: There are six categories you can take options from: friendship, physical, professional, geographical, family, romantic. I won&#8217;t list them all here (a good idea would be to try the <a href="http://gmpg.org×fn/creator">link creator</a>), but here are a few examples:</p>
<pre>
&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;#&quot; rel=&quot;met friend&quot;&gt;Good friend&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;#&quot; rel=&quot;met muse spouse sweetheart&quot;&gt;Darling wife&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;#&quot; rel=&quot;met acquaintance neighbour&quot;&gt;Guy next door&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;#&quot; rel=&quot;friend co-worker&quot;&gt;Co-worker at Envato&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</pre>
<p>In the first link, you can tell from the rel attribute that I&#8217;ve met the owner of the page I&#8217;m linking to and that I am his friend. Next is my (hypothetical) wife, who happens to be my spouse and sweetheart, as well as someone who I have met and who inspires me. I&#8217;ve also met the guy next door, but he&#8217;s only an acquaintance and neighbor. Finally, although my (again, hypothetical) Co-worker is a friend, notice that I&#8217;ve never met him; this would be described as a virtual relationship. I should point out that you shouldn&#8217;t use XFN when just linking to a blog post or the like; use it when you&#8217;re directly referring to a person, so there name is the text of the link, and the href goes to their home page.</p>
<h4>VoteLinks</h4>
<p>VoteLinks is an interesting idea: when you link to an article, posting, product, anything, add the rev attribute. Rev? Rev is the opposite of rel; while rel describes what the linked page is to current page (like a &#8216;friend&#8217; or a &#8217;stylesheet&#8217;), rev describes what the current page is to the linked one. With VoteLinks, you can make your page a &#8216;vote-for&#8217;, &#8216;vote-against&#8217;, or &#8216;vote-abstain&#8217; whatever you are linking to. So, for example:</p>
<pre>
&lt;p&gt;Check our &lt;a href=&quot;#&quot; rev=&quot;vote-for&quot;&gt;this great blog post by Collis&lt;/a&gt; on the netsetter&lt;/p&gt;

&lt;p&gt;I got terrible service at &lt;a href=&quot;#&quot; rev=&quot;vote-against&quot;&gt;the Five Seasons Grill&lt;/a&gt; last night&lt;/p&gt;

&lt;p&gt;What do I think of &lt;a href=&quot;#&quot; rev=&quot;vote-abstain&quot;&gt;his site redesign&lt;/a&gt;? &lt;/p&gt;
</pre>
<p>How is this useful? Well, imagine if Google (and other search engines) took VoteLinks into account when displaying items. Currently, their system (put very basically) is the more links, the more visibility on Google. But what if most of those links were votes against the product or page? Or how about a site that crawls the web looking for VoteLinks and shows you the general popularity of pages? It&#8217;s all very speculative, but it could be interesting. The problem is, a lot of people need to be using VoteLinks for them to have any effect.</p>
<h4>Geo</h4>
<p>Geo is very simple; it has two properties: latitude and longitude.</p>
<pre>
&lt;p class=&quot;geo&quot;&gt;&lt;strong&gt;Apple :&lt;/strong&gt;
	(&lt;span class=&quot;latitude&quot;&gt;37.33171397409807&lt;/span&gt;
	&lt;span class=&quot;longitude&quot;&gt;-122.03051626682281&lt;/span&gt;)
&lt;/p&gt;
&lt;p class=&quot;geo&quot;&gt;&lt;strong&gt;Envato :&lt;/strong&gt;
	&lt;abbr class=&quot;latitude&quot; title=&quot;-37.812528&quot;&gt;-37&amp;deg; 48&apos; 45.1008&quot;&lt;/abbr&gt;
	&lt;abbr class=&quot;longitude&quot; title=&quot;144.969076&quot;&gt;144&amp;deg; 58&apos; 8.6736&quot;&lt;/abbr&gt;.
&lt;/p&gt;
</pre>
<p>As we&#8217;ve seen before, you can use the abbr element to mask the real values. And of course, Operator recognizes these.</p>
<div><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/7bf4a_geo.jpg" alt="geo" /></div>
<h4>rel-license</h4>
<p>If you&#8217;ve ever released anything to the public, you know you need to put a license on it. You can give the rel attribute of a link the value of &#8216;license&#8217; when linking to the license documentation. </p>
<pre>
&lt;a href=&quot;http://creativecommons.org/licenses/by/2.0/&quot; rel=&quot;license&quot;&gt;cc by 2.0&lt;/a&gt;
</pre>
<p>What&#8217;s the point? Already Yahoo Creative Commons Search and Google Usage Right&#8217;s Search both use the rel=&#8217;licence&#8217; attribute in their algorithms.</p>
<h4>rel-tag</h4>
<p>This is an interesting one, because every blogger tags their posts. For this microformat, simply add rel=&#8221;tag&#8221; to your tag links and be done. Now, using our Operator add-on, we can see content from other sites with the same tags. It&#8217;s important to note that the name of the tag is taken from the href of the link, and not the text of the link. So in the following example &#8230; </p>
<pre>
&lt;a href=&quot;http://www.example.com/tag/javascript&gt;Client-Side Scripting&lt;/a&gt;
</pre>
<p>&#8230; the tag is &#8216;javascript&#8217; and not &#8216;client-side scripting.&#8217;</p>
<p>Nettuts has implemented this microformat; but you already knew that if you have Operator!</p>
<div><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/7f25e_reltag.jpg" alt="rel-tag on Nettuts" /></div>
<h4>rel-nofollow</h4>
<p>Another simple but hopefully effective tag: adding rel=&#8221;nofollow&#8221; to a link is designed to keep the link from having any affect on your page&#8217;s ranking in search engines. Of course, the search engine has to implement this, and <a href="http://googleblog.blogspot.com/2005/01/preventing-comment-spam.html">Google</a>, <a href="http://www.ysearchblog.com/2005/01/18/a-defense-against-comment-spam/">Yahoo</a>, and <a href="http://www.bing.com/community/blogs/search/archive/2005/01/18/nofollow_tags.aspx">Bing</a> already have. It would be ideal to add this to any links in blog comments, so that they wont&#8217; affect your site, and won&#8217;t get any credit for their own.</p>
<h3>So, What are you going to do?</h3>
<p>We&#8217;ve briefly covered a healthy number of microformats; but the question remains: are they worth your time? Not until you start using them! Microformats are made to make page scraping for data easier, but until they&#8217;re widely used, there won&#8217;t be very many tools for them. Although a lot of these may seem pointless now, hopefully they will be everywhere in a few years. When that happens, the tools to make use of them will be available. Microformats are definitely worth your time: so easy, so inexpensive, so potentially powerful.</p>
<p>Will you implement microformats into your sites?</p>
<p>I&#8217;ve hidden a microformat in this tutorial; can you find it?</p>
<ul>
<li>Follow us on <a href="http://www.twitter.com/nettuts">Twitter</a>, or subscribe to the <a href="http://feeds.feedburner.com/nettuts" title="Nettuts+ RSS Feed">Nettuts+ RSS Feed</a> for the best web development tutorials on the web.</li>
</ul>
<p>

</p>
<p><a href="http://feedads.g.doubleclick.net/~a/VLmo8kLANTINliXPtNTJAWmjJrU/0/da"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/a7830_di" border="0"></img></a><br />
<a href="http://feedads.g.doubleclick.net/~a/VLmo8kLANTINliXPtNTJAWmjJrU/1/da"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/a7830_di" border="0"></img></a></p>
<div>
<a href="http://feeds.feedburner.com/~ff/nettuts?a=QxwG9HrIOzw:swSAm5aKT7g:yIl2AUoC8zA"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/a7830_nettuts?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/nettuts?a=QxwG9HrIOzw:swSAm5aKT7g:F7zBnMyn0Lo"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/a7830_nettuts?i=QxwG9HrIOzw:swSAm5aKT7g:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/nettuts?a=QxwG9HrIOzw:swSAm5aKT7g:V_sGLiPBpWU"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/7f7b2_nettuts?i=QxwG9HrIOzw:swSAm5aKT7g:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/nettuts?a=QxwG9HrIOzw:swSAm5aKT7g:gIN9vFwOqvQ"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/7f7b2_nettuts?i=QxwG9HrIOzw:swSAm5aKT7g:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/nettuts?a=QxwG9HrIOzw:swSAm5aKT7g:TzevzKxY174"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/7f7b2_nettuts?d=TzevzKxY174" border="0"></img></a>
</div>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/7f7b2_QxwG9HrIOzw" height="1" width="1" /><br />
<a href="http://feedproxy.google.com/nettuts">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/microformats-what-why-and-how/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Making a Fresh Content Accordion</title>
		<link>http://www.neurosoftware.ro/programming-blog/facebook-web-design/tutorial/making-a-fresh-content-accordion/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/facebook-web-design/tutorial/making-a-fresh-content-accordion/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 01:13:01 +0000</pubDate>
		<dc:creator>Facebook-Web-Design</dc:creator>
				<category><![CDATA[tutorial]]></category>
		<category><![CDATA[anchor element]]></category>
		<category><![CDATA[background]]></category>
		<category><![CDATA[button]]></category>
		<category><![CDATA[color]]></category>
		<category><![CDATA[demo html]]></category>
		<category><![CDATA[designers group]]></category>
		<category><![CDATA[LI]]></category>
		<category><![CDATA[li class]]></category>
		<category><![CDATA[li element]]></category>
		<category><![CDATA[span]]></category>
		<category><![CDATA[URL]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/facebook-web-design/tutorial/making-a-fresh-content-accordion/</guid>
		<description><![CDATA[When developing a website, it is a great challenge to be able to organize the content in such a way, that it is both intriguing and eye-catching. Not to mention how important it is to prevent information overloading by exposing your visitors to too much data in a single view. This is why there are [...]]]></description>
			<content:encoded><![CDATA[<p>When developing a website, it is a great challenge to be able to organize the content in such a way, that it is both intriguing and eye-catching. Not to mention how important it is to prevent information overloading by exposing your visitors to too much data in a single view.</p>
<p>This is why there are certain techniques that help designers group content and show it only if the user is interested in what you have to offer and interacts with the page.</p>
<p>Today we are making a simple, yet eye-catching accordion with the help of CSS, jQuery and the <a href="http://gsgd.co.uk/sandbox/jquery/easing/" target="_blank">easing plug-in</a> for some fancy effects.</p>
<p>You can go ahead and download the demo files before we continue with step one.</p>
<h3>Step 1 &#8211; XHTML</h3>
<p>As you can see from the demo, the accordion is divided into four sections, each defined by a <strong>LI</strong> element with a class name of <strong>menu</strong>. They are positioned inside the main unordered list (<strong>ul.container</strong>) and share a common XHTML structure:</p>
<h4>demo.html</h4>
<pre>&lt;li class="menu"&gt; &lt;!-- This LI is positioned inside the main UL --&gt;

&lt;ul&gt; &lt;!-- This UL holds the section title and content  --&gt;

&lt;!-- The click-able section title with a unique background: --&gt;
&lt;li class="button"&gt;&lt;a href="#" class="green"&gt;Kiwis &lt;span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;

&lt;!-- The dropdown list, hidden by default and shown on title click: --&gt;
&lt;li class="dropdown"&gt;

&lt;ul&gt; &lt;!-- This list holds the options that are slid down by jQuery --&gt;

&lt;!-- Each option is in its own LI --&gt;
&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Kiwifruit"&gt;Read on Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.flickr.com/search/?w=all&amp;amp;q=kiwi&amp;amp;m=text"&gt;Flickr Stream&lt;/a&gt;&lt;/li&gt;

&lt;/ul&gt; &lt;!-- Closing the elements --&gt;

&lt;/li&gt;
&lt;/ul&gt;

&lt;/li&gt;</pre>
<p>Each menu LI contains another UL, which forms a title area (<strong>li.button</strong>), and a content area (<strong>li.dropdown</strong>).</p>
<p>We then have an anchor element positioned inside  <strong>li.button</strong> (button being the assigned class name) . This hyperlink is later bound to a jQuery event handler, which slides open the section&#8217;s drop down list once the link is clicked.</p>
<p>It is also worth noting that the <strong>dropdown</strong> list elements are hidden by default with the <strong>display:none</strong> CSS property as you will see in a moment.</p>
<div><img class="size-full wp-image-544" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/434fb_i1.png" alt="The accordion explained" width="600" height="460" />
<p>The accordion explained</p>
</div>
<h3>Step 2 &#8211; CSS</h3>
<p>If styled properly, even the simplest idea can make a big difference in the overall feeling your site gives to the visitors.</p>
<p>It is important to take extra care so that the CSS code you produce is valid and that it works well across different browsers. I&#8217;ve included all the styles used in the demo below:</p>
<h4>demo.css &#8211; part 1</h4>
<pre>body{
	/* Setting default text color, background and a font stack */
	color:#cccccc;
	font-size:13px;
	background: #302b23;
	font-family:Arial, Helvetica, sans-serif;
}

ul{
	margin:0;
	padding:0;
}

ul.container{
	/* The main UL */
	width:240px;
	margin:0 auto;
	padding:50px;
}

li{
	list-style:none;
	text-align:left;
}

li.menu{
	/* The main list elements */
	padding:5px 0;
	width:100%;
}

li.button a{
	/* The section titles */
	display:block;
	font-family:BPreplay,Arial,Helvetica,sans-serif;
	font-size:21px;
	height:34px;
	overflow:hidden;
	padding:10px 20px 0;
	position:relative;
	width:200px;
}</pre>
<p>Here we style the main UL &#8211; <strong>ul.container</strong>, which holds the rest of the elements. Lastly, we define the looks of the hyperlinks that act as section titles (notice that the actual background images are not yet assigned).</p>
<h4>demo.css &#8211; part 2</h4>
<pre>li.button a:hover{
	/* Removing the inherited underline from the titles */
	text-decoration:none;
}

li.button a span{
	/* This span acts as the right part of the section's background */
	height:44px;
	position:absolute;
	right:0;
	top:0;
	width:4px;
	display:block;
}

/* Setting up different styles for each section color */

li.button a.blue{background:url(img/blue.png) repeat-x top left; color:#074384;}
li.button a.blue span{ background:url(img/blue.png) repeat-x top right;}

li.button a.green{background:url(img/green.png) repeat-x top left; color:#436800;}
li.button a.green span{ background:url(img/green.png) repeat-x top right;}

li.button a.orange{background:url(img/orange.png) repeat-x top left; color:#882e02;}
li.button a.orange span{ background:url(img/orange.png) repeat-x top right;}

li.button a.red{background:url(img/red.png) repeat-x top left; color:#641603;}
li.button a.red span{ background:url(img/red.png) repeat-x top right;}

/* The hover effects */

li.button a:hover{ background-position:bottom left;}
li.button a:hover span{ background-position:bottom right;}

.dropdown{
	/* The expandable lists */
	display:none;
	padding-top:5px;
	width:100%;
}

.dropdown li{
	/* Each element in the expandable list */
	background-color:#373128;
	border:1px solid #40392C;
	color:#CCCCCC;
	margin:5px 0;
	padding:4px 18px;
}</pre>
<p>The most interesting part here is how we specify the individual background property for every section color. We also provide a background for the span element, which holds the right part of the background image, as explained in the illustration below.</p>
<div><img class="size-full wp-image-545" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/be3ba_i3.png" alt="The buttons" width="600" height="230" />
<p>The buttons</p>
</div>
<h3>Step 3 &#8211; jQuery</h3>
<p>After we&#8217;ve laid the layout of the accordion, it is time to make it tick. First we need to include a few scripts in the page (this code is put inside the head section of the document):</p>
<pre>&lt;script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="jquery.easing.1.3.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="script.js"&gt;&lt;/script&gt;</pre>
<p>We first include the jQuery library from Google&#8217;s CDN, which will help us write compact and compatible code. Later we include the easing plugin and lastly our own script file, which I&#8217;ve covered in detail below.</p>
<p>As you may have noticed from the demo, the slide down effect is not your regular linear movement, but more bounce-like and lively. This is achieved with the help of the <strong>easing</strong> plug-in for jQuery. It provides a number of interesting effects which can put those lovely details in your web design.</p>
<p>Now lets continue with our own scripts file.</p>
<h4>script.js</h4>
<pre>$(document).ready(function(){
	/* This code is executed after the DOM has been completely loaded */

	/* Changing thedefault easing effect - will affect the slideUp/slideDown methods: */
	$.easing.def = "easeOutBounce";

	/* Binding a click event handler to the links: */
	$('li.button a').click(function(e){

		/* Finding the drop down list that corresponds to the current section: */
		var dropDown = $(this).parent().next();

		/* Closing all other drop down sections, except the current one */
		$('.dropdown').not(dropDown).slideUp('slow');
		dropDown.slideToggle('slow');

		/* Preventing the default event (which would be to navigate the browser to the link's address) */
		e.preventDefault();
	})

});</pre>
<p>We first set the easing method that is going to be used by the <strong>slideUp</strong>/<strong>slideDown</strong> effects, and then bind a specially crafted function to the click event of the <strong>li.button</strong> hyperlink. When this link is clicked, we get the corresponding <strong>li.dropDown</strong> and show it, hiding all the others.</p>
<p>I am using the <strong>slideToggle</strong> jQuery method, which checks to see if the element is already visible on the page, and decides whether to show or hide it. This way, when you click on an open section of the accordion, it is contracted instead of just staying opened.</p>
<p>After this, we use <strong>e.preventDefault()</strong> to prevent the browser from navigating away from the page (after all we&#8217;ve just clicked a link and this is the normal behavior).</p>
<p>With this our fruity CSS &amp; jQuery accordion is complete!</p>
<div><img class="size-full wp-image-546" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/3c72f_i2.png" alt="A CSS &amp; jQuery accordion" width="600" height="230" />
<p>A CSS &amp; jQuery accordion</p>
</div>
<h3>Conclusion</h3>
<p>This time we created a fresh accordion script that is both easily modifiable end embeddable.</p>
<p>Can you think of any awesome uses of this script?</p>
<p>How would you like to change it?</p>
<div>
<table border="0" bgcolor="#ffffff">
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</table>
</div>
<p><a href="http://feedads.g.doubleclick.net/~a/P7aciphTtZam_H9tfARXbUU5qt4/0/da"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/3c72f_di" border="0"></img></a><br />
<a href="http://feedads.g.doubleclick.net/~a/P7aciphTtZam_H9tfARXbUU5qt4/1/da"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/3c72f_di" border="0"></img></a></p>
<div>
<a href="http://feeds.feedburner.com/~ff/Tutorialzine?a=5GjSCiHs5Fg:hw2pH5Bd_7o:yIl2AUoC8zA"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/3c72f_Tutorialzine?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Tutorialzine?a=5GjSCiHs5Fg:hw2pH5Bd_7o:D7DqB2pKExk"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/3c72f_Tutorialzine?i=5GjSCiHs5Fg:hw2pH5Bd_7o:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Tutorialzine?a=5GjSCiHs5Fg:hw2pH5Bd_7o:F7zBnMyn0Lo"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/4346f_Tutorialzine?i=5GjSCiHs5Fg:hw2pH5Bd_7o:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Tutorialzine?a=5GjSCiHs5Fg:hw2pH5Bd_7o:V_sGLiPBpWU"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/4346f_Tutorialzine?i=5GjSCiHs5Fg:hw2pH5Bd_7o:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Tutorialzine?a=5GjSCiHs5Fg:hw2pH5Bd_7o:gIN9vFwOqvQ"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/4346f_Tutorialzine?i=5GjSCiHs5Fg:hw2pH5Bd_7o:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Tutorialzine?a=5GjSCiHs5Fg:hw2pH5Bd_7o:qj6IDK7rITs"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/4346f_Tutorialzine?d=qj6IDK7rITs" border="0"></img></a>
</div>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/4346f_5GjSCiHs5Fg" height="1" width="1" /></p>
<p><a href="http://feeds.feedburner.com/Tutorialzine">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/facebook-web-design/tutorial/making-a-fresh-content-accordion/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Better Pull Quotes with&#160;MooTools</title>
		<link>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/better-pull-quotes-withmootools/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/better-pull-quotes-withmootools/#comments</comments>
		<pubDate>Mon, 23 Nov 2009 16:50:05 +0000</pubDate>
		<dc:creator>Facebook-Web-Design</dc:creator>
				<category><![CDATA[web resources]]></category>
		<category><![CDATA[background color]]></category>
		<category><![CDATA[Chris]]></category>
		<category><![CDATA[Chris Coyier]]></category>
		<category><![CDATA[David Walsh Blog]]></category>
		<category><![CDATA[Don]]></category>
		<category><![CDATA[element]]></category>
		<category><![CDATA[mootools]]></category>
		<category><![CDATA[new element]]></category>
		<category><![CDATA[padding]]></category>
		<category><![CDATA[quote]]></category>
		<category><![CDATA[span]]></category>
		<category><![CDATA[span class]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/better-pull-quotes-withmootools/</guid>
		<description><![CDATA[Chris Coyier authored a post titled Better Pull Quotes: Don&#8217;t Repeat Markup a while back. In his post he created great-looking pull quotes without repeating any content &#8212; instead he uses jQuery to dynamically create the pull quotes. The following is the MooTools method for doing so. View Demo The HTML &#60;p&#62;&#60;span class=&#34;pull-me&#34;&#62;As a MooTools [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://davidwalsh.name/dw-content/mootools-pull-quote.php"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/fce5d_pullquotes.png" alt="Pull Quotes" /></a></p>
<p>Chris Coyier authored a post titled <a href="http://css-tricks.com/better-pull-quotes/">Better Pull Quotes: Don&#8217;t Repeat Markup</a> a while back.  In his post he created great-looking pull quotes without repeating any content &#8212; instead he uses jQuery to dynamically create the pull quotes.  The following is the MooTools method for doing so.</p>
<div><a href="http://davidwalsh.name/dw-content/mootools-pull-quote.php">View Demo</a>
<div></div>
</div>
<h2>The HTML</h2>
<pre>
&lt;p&gt;&lt;span class=&quot;pull-me&quot;&gt;As a MooTools &quot;insider&quot;, however, I'm excited for what the MooTools team will bring to the table during 2010.&lt;/span&gt; We'll be launching the Forge (our public plugin repository), releasing MooTools 2, continuing to grow MooTools More, featuring more community work, and much more. MooTools FTW!&lt;/p&gt;
</pre>
<p>The HTML above features a paragraph of content with a SPAN tag wrapping what I&#8217;d like to be the pull quote.</p>
<h2>The CSS</h2>
<pre>
.quote { padding:20px; margin:0 0 20px 20px; font-size:20px; font-style:italic; background:#eee; color:#999; display:block; width:200px; float:right; }
</pre>
<p>You may style the quote any way you&#8217;d like.  These elements are traditionally large in text with italicized text and a different background color.</p>
<h2>The MooTools Javascript</h2>
<pre>
window.addEvent('domready',function() {
	//grab all quotes
	$$('span.pull-me').each(function(span) {
		//inject styled quote into page
		new Element('span',{
			'class': 'quote',
			text: span.get('text')
		}).inject(span.getParent(),'top');
	});
});
</pre>
<p>We find each element with a &#8220;pull-me&#8221; CSS class and generate a new element with our &#8220;quote&#8221; class.  We then inject the new element into the original element&#8217;s parent.  That&#8217;s all!</p>
<div><a href="http://davidwalsh.name/dw-content/mootools-pull-quote.php">View Demo</a>
<div></div>
</div>
<p>Chris did a great job with the execution of his idea.  This is a technique that will likely be used well into the future.</p>
<div>
                                <a href="http://davidwalsh.name/wp-content/plugins/as-pdf/generate.php?post=4292"><br />
                                    <span>Download PDF</span><br />
                                </a>
                            </div>
<p>Don&#8217;t forget to <a href="http://twitter.com/davidwalshblog">follow me on Twitter</a> and be sure to visit <a href="http://scriptandstyle.com">Script &amp; Style</a> for the best Javascript and CSS articles around!</p>
<p><a href="http://buysellads.com/buy/detail/1687">Sponsor the David Walsh Blog</a> and get your brand in front of several thousand users per day!</p>
<p><a href="http://davidwalsh.name/mootools-pull-quotes">Better Pull Quotes with&nbsp;MooTools</a></p>
<p>Related posts:
<ol>
<li><a href="http://davidwalsh.name/highlight-table-columns" rel="bookmark" title="Permanent Link: Highlight Table Rows, Columns, and Cells Using MooTools 1.2.3">Highlight Table Rows, Columns, and Cells Using MooTools&nbsp;1.2.3</a></li>
<li><a href="http://davidwalsh.name/predictions-2010" rel="bookmark" title="Permanent Link: Bold Web Predictions for 2010">Bold Web Predictions for&nbsp;2010</a></li>
<li><a href="http://davidwalsh.name/mootools-html-police-dwmarkupmarine" rel="bookmark" title="Permanent Link: MooTools HTML Police: dwMarkupMarine">MooTools HTML Police:&nbsp;dwMarkupMarine</a></li>
<li><a href="http://davidwalsh.name/method-chaining" rel="bookmark" title="Permanent Link: Method Chaining in MooTools and PHP">Method Chaining in MooTools and&nbsp;PHP</a></li>
<li><a href="http://davidwalsh.name/image-protector-plugin-for-jquery" rel="bookmark" title="Permanent Link: dwImageProtector Plugin for jQuery">dwImageProtector Plugin for&nbsp;jQuery</a></li>
</ol>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/fce5d_NCxy8TQwalw" height="1" width="1" /><br />
<a href="http://davidwalsh.name/feed/atom">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/better-pull-quotes-withmootools/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MakingSEO coded, Free CSS Template with PSD-to-HTML tips</title>
		<link>http://www.neurosoftware.ro/programming-blog/blogposter/web-design/makingseo-coded-free-css-template-with-psd-to-html-tips/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/blogposter/web-design/makingseo-coded-free-css-template-with-psd-to-html-tips/#comments</comments>
		<pubDate>Mon, 02 Nov 2009 07:36:35 +0000</pubDate>
		<dc:creator>BlogPoster</dc:creator>
				<category><![CDATA[web design]]></category>
		<category><![CDATA[background]]></category>
		<category><![CDATA[class]]></category>
		<category><![CDATA[designschool]]></category>
		<category><![CDATA[div]]></category>
		<category><![CDATA[fresh company]]></category>
		<category><![CDATA[header contents]]></category>
		<category><![CDATA[portfolio design]]></category>
		<category><![CDATA[post]]></category>
		<category><![CDATA[span]]></category>
		<category><![CDATA[web layout]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/blogposter/web-design/makingseo-coded-free-css-template-with-psd-to-html-tips/</guid>
		<description><![CDATA[By this time I&#8217;m sure, the superheroes don&#8217;t have particular superpowers. The crisis are still running and I certainly cannot save the world, dammit! But&#8230; I&#8217;ve coded the PSD Template makingSEO and in this post you can read some quick tips used in the psd-to-html conversion (in case you missed the first part, please read [...]]]></description>
			<content:encoded><![CDATA[<p>By this time I&#8217;m sure, the superheroes don&#8217;t have particular superpowers. The crisis are still running and I certainly cannot save the world, dammit! But&#8230; I&#8217;ve coded the <a href="http://www.pvmgarage.com/en/2009/09/design-a-clean-and-fresh-company-website-in-photoshop/">PSD Template makingSEO</a> and in this post you can read some quick tips used in the psd-to-html conversion (in case you missed the first part, please read <a href="http://www.pvmgarage.com/en/2009/09/design-a-clean-and-fresh-company-website-in-photoshop/">Design A Clean And Fresh Company Website In Photoshop</a>). </p>
<p>In previous tutorials we have learned some techniques on <strong>how to convert a design mockup into a complete web-page using xhtml and css</strong>, so the following informations will be only a quick review on code. If you want more suggestions on psd-to-html conversion you can take a look at these articles:</p>
<ul>
<li><a href="http://www.pvmgarage.com/en/2009/07/sportnewspvm-coded-how-to-plan-a-web-layout-for-a-wordpress-theme/">SportNewsPvm Coded, How To Plan A Web Layout For A WordPress Theme</a></li>
<li><a href="http://www.pvmgarage.com/en/2009/06/create-a-nice-web-portfolio-design-with-a-watercolored-background-in-photoshop/">Create a Nice Web Portfolio Design with a Watercolored Background in Photoshop</a></li>
<li><a href="http://www.pvmgarage.com/en/2009/05/designschool-coded-free-css-template-with-psd-to-html-tutorial/">DesignSchool Coded, Free CSS Template With PSD to HTML Tutorial</a></li>
</ul>
<p>Below there are the final result of the <a href="http://www.pvmgarage.com/downloads/makingseo">makingSEO psd-to-html conversion</a> and the link to download the complete CSS Template. Don&#8217;t forget, the source files are released under the <a href="http://creativecommons.org/licenses/by/3.0/">Creative Common License (CC 3.0 Attribution)</a> also for commercial use. </p>
<h2>Final Result, Css Template</h2>
<p>Here you can see a preview image and a live demo. You can also download the zip archive with the complete CSS template.<br />
<a href="http://www.pvmgarage.com/downloads/makingseo" target="_blank"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/7e165_makingseo_preview_css.jpg" alt="makingSEO CSS Template" /></a></p>
<div><a href="http://www.pvmgarage.com/downloads/makingseo" target="_blank"><img style="border:none;background: transparent;padding:0px" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/7e165_anteprima-but.jpg" alt="Download Source" /></a></div>
<div><a href="http://www.pvmgarage.com/downloads/makingSEO_Coded_PVMGARAGE.zip"><img style="border:none;background: transparent;padding:0px" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/3f542_downloadbut.jpg" alt="Download Source" /></a></div>
<div></div>
<h2>Coding makingSEO</h2>
<p>We can partition the layout in five sections: <strong>header</strong>, <strong>down-header</strong>, <strong>contents</strong>, <strong>sidebar</strong> and <strong>footer</strong>. Besides we can use two general <em>div</em>, <strong>main_container</strong> and <strong>container</strong>. The first to add the top-background and the second to keep in 960 px the segments (header, down header, contents and sidebar).<br />
<img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/3f542_makingseo_wireframe.jpg" alt="makingSEO CSS Template" /> </p>
<p>Now is time for the code. This section of the post will show the essential steps to code the psd template.<br />
In the folder &#8220;makingseo&#8221; we put in &#8220;images&#8221; folder and the necessary files: &#8220;index.html&#8221; and &#8220;style.css&#8221; and &#8220;reset.css&#8221; (generally I use the <a href="http://developer.yahoo.com/yui/reset/">Yahoo! YUI Reset CSS</a>, but in this case we test the reset file included in <a href="http://www.blueprintcss.org/">Blueprint CSS Framework</a>).</p>
<p>Below the complete &#8220;reset.css&#8221; file (you can optimize it for your needs).</p>
<pre>
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, code,
del, dfn, em, img, q, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

body {
  line-height: 1.5;
}

table { border-collapse: separate; border-spacing: 0; }
caption, th, td { text-align: left; font-weight: normal; }
table, td, th { vertical-align: middle; }

blockquote:before, blockquote:after, q:before, q:after { content: ""; }
blockquote, q { quotes: "" ""; }

a img { border: none; }
</pre>
<h3>Step 1 &#8211; Main Structure</h3>
<p>The markup for the main structure (edit &#8220;index.html&#8221;).</p>
<pre>
&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;
&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&gt;
&lt;title&gt;makingSEO - Improve Your Business | A free CSS Template | made in PV.M Garage&lt;/title&gt;
&lt;link href="reset.css" rel="stylesheet" type="text/css" /&gt;&lt;!-- blueprint css reset --&gt;
&lt;link href="style.css" rel="stylesheet" type="text/css" /&gt;&lt;!-- css style for makingSEO --&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;div id="main_container"&gt;&lt;!-- for general background --&gt;
&lt;div class="container clearfix"&gt;&lt;!-- to keep in 960 pixels the segments --&gt;

  &lt;div id="header"&gt;&lt;!-- here we'll add logo and menu --&gt;
  &lt;/div&gt;

  &lt;div id="down_header"&gt;&lt;!-- here we'll add slogan, screenshot and call-to action button --&gt;
  &lt;/div&gt;

  &lt;div class="contents"&gt;&lt;!-- here we'll add the info boxes --&gt;
  &lt;/div&gt;

  &lt;div class="sidebar"&gt;&lt;!-- here some side informations --&gt;
  &lt;/div&gt;

&lt;/div&gt;&lt;!-- end container --&gt;

&lt;div id="footer"&gt;&lt;!-- here the footer --&gt;
&lt;/div&gt;

&lt;/div&gt;&lt;!-- end main_container --&gt;

&lt;/body&gt;
&lt;/html&gt;
</pre>
<p>To reproduce background we use the following image.<br />
<img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/eb040_general_bck.jpg" alt="makingSEO CSS Template" /></p>
<p>Below the css rules.</p>
<pre>
@charset "utf-8";
/* CSS Document */

body {
  background: #f5f5f5;
  font-family: Verdana, Georgia, “Lucida Sans Unicode”, sans-serif;
  font-size: 12px;
  color: #666;
}

/* General */

:focus {
	outline: 0;
}

a {
  text-decoration: none;
}

ul {
	list-style-type:none;
	color: #fff;
}

/* Container */

#main_container {
  background: url("images/bck.jpg") repeat-x top; /* General Background */
}

.container {
  width: 960px; /* here the width for the segments */
  margin: auto;
}

.clearfix:after {
  content: "020";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
  overflow: hidden;
}
</pre>
<h3>Step 2 &#8211; Header with Logo and Menu</h3>
<p>Now we add logo and menu in the header. Below there are the images exported from psd.<br />
<img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/62fd9_imgs_header.jpg" alt="makingSEO CSS Template" /></p>
<p>Below the (x)html code for header.</p>
<pre>
&lt;div id="header"&gt;
    &lt;div class="logo"&gt;
      &lt;h1&gt;&lt;a href="#"&gt;makingSEO - Improve Your Business&lt;/a&gt;&lt;/h1&gt;
    &lt;/div&gt;
    &lt;div class="menu"&gt;
      &lt;ul&gt;
        &lt;li&gt;&lt;a href="#"&gt;Services&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href="#"&gt;Tools&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href="#"&gt;Strategies&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href="#"&gt;Prices&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href="#"&gt;Contact Us&lt;/a&gt;&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/div&gt;
  &lt;/div&gt;
</pre>
<p>And now, the style.</p>
<pre>
/* Header */

#header {
  height: 156px;
}

.logo {
  float: left;
  background: url("images/light_head.png") no-repeat top left;
  height: 156px;
}

.logo h1 {
  text-indent: -9999px;
  margin-top: 40px;
}

.logo h1 a {
  display: block;
  background: url("images/logo.png") no-repeat top;
  width: 398px;
  height: 61px;
}

.menu ul {
  float: right;
  margin-top: 5px;
  padding-bottom: 10px;
  width: 377px;
  text-align: center;
  background: url("images/dashed_h.png") no-repeat bottom;
}

.menu ul li {
  display: inline;
  padding: 10px 10px 70px 10px;
  background: url("images/dashed_v.png") no-repeat top right;
  margin-left: -5px;
}

.menu ul li a {
  color: #fff;
  padding-bottom: 70px;
}

.menu ul li:hover {
  background: url("images/menu_hov.png") repeat-x top right;
}
</pre>
<h3>Step 3 &#8211; Slogan and Screenshot in Down-Header</h3>
<p>In Down-Header segment we add a direct slogan, a screenshot of a website that rocks with the help of makingSEO team and a call-to-action button. Below the pictures used to complete this section of the web-page.<br />
<img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/2d566_down_header_imgs.jpg" alt="makingSEO CSS Template" /></p>
<p>Below you can see the html code for the down-header. </p>
<pre>
  &lt;div id="down_header"&gt;
    &lt;div class="d_h_left"&gt;
    &lt;/div&gt;
    &lt;div class="d_h_right"&gt;
      &lt;span class="button"&gt;&lt;a href="#"&gt;&lt;/a&gt;&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
</pre>
<p>The style for this segment.</p>
<pre>
/* Down Header */

#down_header {
   height: 320px;
   padding-top: 25px;
}

.d_h_left {
  float: left;
  width: 520px;
  height: 308px;
  margin-left: -14px;
  background: url("images/screenshot.png") repeat-x top left;
}

.d_h_right {
  float: right;
  width: 450px;
  height: 138px;
  margin: 16px 0 0 4px;
  background: url("images/slogan.png") no-repeat top left;
}

.button a {
  display: block;
  width: 324px;
  height: 70px;
  position: relative;
  top: 145px;
  left: 61px;
  background: url("images/call-but.png") no-repeat 0px -70px;
}

.button a:hover {
  background: url("images/call-but.png") no-repeat 0px 0px; /* CSS Sprites technique for the button*/
}
</pre>
<h3>Step 4 &#8211; The Contents</h3>
<p>The left side is the core of the web-page in which the visitors have the opportunity to know more about the Company. We use some icones and a soft dashed grid.<br />
<img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/d554d_contents_imgs.jpg" alt="makingSEO CSS Template" /><br />
<img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/d0592_content_imgs.jpg" alt="makingSEO CSS Template" /></p>
<p>We write the html code&#8230;</p>
<pre>
&lt;div class="contents"&gt;
    &lt;div class="post_cont"&gt;
      &lt;h1 class="top_left"&gt;&lt;a href="#"&gt;We Study the Best Solutions to Improve Your Visibility&lt;/a&gt;&lt;/h1&gt;
      &lt;p&gt;Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo&lt;/p&gt;
    &lt;/div&gt;
    &lt;div class="post_cont"&gt;
      &lt;h1 class="top_right"&gt;&lt;a href="#"&gt;In One Month You Could Be in the First Page of Google&lt;/a&gt;&lt;/h1&gt;
      &lt;p&gt;Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim.&lt;/p&gt;
      &lt;span class="button_post_g"&gt;&lt;a href="#"&gt;&lt;/a&gt;&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class="post_cont"&gt;
      &lt;h1 class="down_left"&gt;&lt;a href="#"&gt;Organize Your Business with our Experts&lt;/a&gt;&lt;/h1&gt;
      &lt;p&gt;Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu.&lt;/p&gt;
    &lt;/div&gt;
    &lt;div class="post_cont"&gt;
      &lt;h1 class="down_right"&gt;&lt;a href="#"&gt;We Study the Best Solutions to Improve Your Visibility&lt;/a&gt;&lt;/h1&gt;
      &lt;p&gt;Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim.&lt;/p&gt;
      &lt;span class="button_post_o"&gt;&lt;a href="#"&gt;&lt;/a&gt;&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
</pre>
<p>&#8230; and the rules for the style of the contents.</p>
<pre>
/* Contents */

.contents {
  float: left;
  width: 690px;
}

.post_cont {
  width: 310px;
  float: left;
  margin: 0 30px 30px 0;
  background: url("images/dashed_v_g.png") no-repeat right;
  height: 300px;
}

.post_cont h1 a {
  padding-bottom: 0px;
  font-size: 14px;
  color: #424242;
  display: block;
}

.post_cont h1 a:hover {
  color: #d5943f;
}

.post_cont p {
  margin-left: 10px;
  padding: 15px 10px 30px 0;
  background: url("images/dashed_h_g.png") no-repeat top right;
}

h1.top_left a {
  background: url("images/ico_top_left.png") no-repeat left center;
  padding: 20px 5px 20px 85px;
}

h1.top_right a {
  background: url("images/ico_top_right.png") no-repeat left center;
  padding: 20px 5px 20px 70px;
}

h1.down_left a {
  background: url("images/ico_down_left.png") no-repeat left center;
  padding: 20px 5px 20px 72px;
}

h1.down_right a {
  background: url("images/ico_down_right.png") no-repeat left center;
  padding: 20px 5px 20px 72px;
}

span.button_post_g a, span.button_post_o a {
  display: block;
  width: 256px;
  height: 46px;
  position: relative;
  top: -10px;
  left: 83px;
}

span.button_post_g a {
  background: url("images/call-but-post.png") no-repeat right top;
}

span.button_post_o a {
  background: url("images/call-but-post_o.png") no-repeat right top;
}
</pre>
<h3>Step 5 &#8211; The Sidebar</h3>
<p>Side informations for our page. Below the (x)html code and the style.</p>
<pre>
  &lt;div class="sidebar"&gt;
    &lt;div class="sidecont"&gt;
      &lt;h2&gt;Side Info&lt;/h2&gt;
      &lt;p&gt;Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.&lt;/p&gt;
    &lt;/div&gt;
    &lt;div class="sidecont"&gt;
      &lt;h2&gt;Blog Posts&lt;/h2&gt;
      &lt;ul&gt;
        &lt;li&gt;&lt;a href="#"&gt;Donec quam felis, ultricies nec, pellentesque eu.&lt;/a&gt;&lt;span class="side_meta_info"&gt;posted by piervix - 12.08&lt;/span&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href="#"&gt;Donec quam felis, ultricies nec, pellentesque eu.&lt;/a&gt;&lt;span class="side_meta_info"&gt;posted by piervix - 12.08&lt;/span&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href="#"&gt;Donec quam felis, ultricies nec, pellentesque eu.&lt;/a&gt;&lt;span class="side_meta_info"&gt;posted by piervix - 12.08&lt;/span&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href="#"&gt;Donec quam felis, ultricies nec, pellentesque eu.&lt;/a&gt;&lt;span class="side_meta_info"&gt;posted by piervix - 12.08&lt;/span&gt;&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/div&gt;
    &lt;div class="sidecont"&gt;
      &lt;h2&gt;Working on...&lt;/h2&gt;
       &lt;p&gt;Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem.&lt;/p&gt;
      &lt;a href="#"&gt;&lt;img src="images/img_side.jpg" alt="" /&gt;&lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
</pre>
<p>We update the &#8220;style.css&#8221; files with this lines of code.</p>
<pre>
/* Sidebar */

.sidebar {
  float: right;
  margin-top: -50px;
  width: 220px;
  background: #fff;
  border: 1px solid #dcdcdc;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
}

.sidecont {
  margin: 18px 10px;
  font-size: 11px;
}

.sidecont img {
  margin-top: 10px;
  border: 3px solid #bdbdbd;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
}

.sidecont h2 {
  font-size: 18px;
}

.sidecont p, .sidecont ul li {
  padding-top: 7px;
}

.sidecont ul li a {
  display: block;
  font-weight: bold;
  color: #666;
}

.sidecont ul li a:hover {
  color: #d5943f;
}

.side_meta_info {
  color: #d5943f;
}
</pre>
<h3>Step 6 &#8211; The Footer</h3>
<p>This segment isn&#8217;t included in the main-container div, this for adding the background in the right way. Take a look at the images used.<br />
<img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/c7b6f_footer_imgs.jpg" alt="makingSEO CSS Template" /></p>
<p>Finally the code for the footer and the credits.</p>
<pre>
&lt;div id="footer"&gt;
  &lt;div class="foot_info"&gt;
    &lt;div class="foot_col_l_c"&gt;
      &lt;h2&gt;Our Tweets &lt;a href="#"&gt;/ Follow Us&lt;/a&gt;&lt;/h2&gt;
      &lt;ul&gt;
        &lt;li&gt;&lt;a href="#"&gt;&lt;strong&gt;@virtuosoblogger&lt;/strong&gt; 400+ Beautifully Designed Twitter Icons http://ow.ly/oBb6&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href="#"&gt;&lt;strong&gt;@bkmacdaddy&lt;/strong&gt; Bit.ly lowers the bar on URL shortening - http://bit.ly/cMBAc&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href="#"&gt;&lt;strong&gt;@gaksdesigns&lt;/strong&gt; Retro Design and Typography http://bit.ly/1TRunk&lt;/a&gt;&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/div&gt;
    &lt;div class="foot_col_l_c"&gt;
      &lt;h2&gt;Work in progress&lt;/h2&gt;
      &lt;ul class="foot_center"&gt;
        &lt;li class="foot_ico_1"&gt;&lt;a href="#"&gt;Sed ut perspiciatis unde omnis iste natus error sit &lt;/a&gt;&lt;/li&gt;
        &lt;li class="foot_ico_2"&gt;&lt;a href="#"&gt;At enim ad minima veniam, quis nostrum&lt;/a&gt;&lt;/li&gt;
        &lt;li class="foot_ico_3"&gt;&lt;a href="#"&gt;At vero eos et accusamus et iusto odio dignissimos ducimus qui&lt;/a&gt;&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/div&gt;
    &lt;div class="foot_right"&gt;
      &lt;h2&gt;Work in progress&lt;/h2&gt;
      &lt;ul&gt;
        &lt;li&gt;&lt;a href="#"&gt;&lt;img src="images/img1.jpg" alt="" /&gt;&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href="#"&gt;&lt;img src="images/img2.jpg" alt="" /&gt;&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href="#"&gt;&lt;img src="images/img3.jpg" alt="" /&gt;&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href="#"&gt;&lt;img src="images/img4.jpg" alt="" /&gt;&lt;/a&gt;&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div id="credits"&gt;
    &lt;p&gt;&lt;a href="#"&gt;makingSEO&lt;/a&gt; is released under a &lt;a href="#"&gt;&lt;em&gt;Creative Common License&lt;/em&gt;&lt;/a&gt; also for Commercial Use. We hope you'll support &lt;a href="#"&gt;PV.M Garage&lt;/a&gt;, it is an awesome place for sharing!&lt;/p&gt;
  &lt;/div&gt;
&lt;/div&gt;
</pre>
<p>We update the CSS file with the following rules.</p>
<pre>
/* Footer */

#footer {
  background: url("images/bck_foot.jpg") repeat-x top; /* general background for footer */
}

.foot_info {
  margin: auto;
  width: 960px; /* keep in 960 pixels the footer contents */
}

.foot_col_l_c {
  width: 285px;
  float: left;
  margin: 20px 35px -30px 0px;
  padding: 0px 10px 0px 10px;
  height: 300px;
}

.foot_info h2 {
  font-size: 20px;
  color: #fff;
  margin-bottom: 6px;
  padding: 8px 0px;
  background: url("images/dashed_f.png") no-repeat center bottom;
}

.foot_info h2 a {
  color: #306e8f;
  background: url("images/ico_foot.png") no-repeat top right;
  padding: 10px 45px 10px 0;
}

.foot_info h2 a:hover {
  color: #fff;
}

.foot_col_l_c ul li {
  padding: 8px 0px;
  background: url("images/dashed_f.png") no-repeat center bottom;
}

.foot_col_l_c ul li a {
  color: #fff;
  display: block;
}

.foot_col_l_c ul li a:hover {
  color: #c3dd6c;
}

ul.foot_center li a:hover { /* change hover color */
  color: #d5943f;
}

li.foot_ico_1 a {
  padding-right: 50px;
  margin-right: 11px;
  background: url("images/ico_foot_1.png") no-repeat center right;
}

li.foot_ico_2 a {
  padding-right: 50px;
  margin-right: 8px;
  background: url("images/ico_foot_2.png") no-repeat center right;
}

li.foot_ico_3 a {
  padding-right: 50px;
  margin-right: 12px;
  background: url("images/ico_foot_3.png") no-repeat center right;
}

.foot_right {
  width: 221px;
  float: right;
  margin-top: 20px;
}

.foot_right ul {
  background: url("images/foot_img_bck.png") no-repeat top left;
  margin-left: 5px;
}

.foot_right ul li {
  display: inline;
}

.foot_right img {
  border: 3px solid #fff;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  margin: 10px 20px 8px 0px;
}

#credits {
  clear: both;
  margin-bottom: 10px;
}

#credits p {
  width: 600px;
  text-align: center;
  margin: auto;
}

#credits p a {
  font-weight: bold;
  color: #666;
  width: 600px;
  text-align: center;
  margin: auto;
  font-size: 11px;
}

#credits p a:hover {
  border-bottom: 1px dotted #666;
}
</pre>
<h2>Conclusions</h2>
<p>Yes, this layout is released under the <a href="http://creativecommons.org/licenses/by/3.0/">Creative Common License (CC 3.0 Attribution)</a> also for commercial use and you can copy, edit, sell, eat, drink, re-publish it. Remeber it is only a basic xhtml and css template if you have some ideas on how to improve the layout, please share them through the comments (e.g. <em>maybe a slideshow for the screenshit section could be a good solution, but can it save the worls?</em>).</p>
<p>The template has been tested on IE8, Firefox 3.5, Opera and Safari. It have a valid <a href="http://validator.w3.org/check?uri=referer">XHTML code</a>. </p>
<p>Thanks fo reading dear friends!</p>
<h2>PSD to HTML Services Sponsored on PV.M Garage</h2>
<p>I&#8217;m sure! You have the necessary skill to convert a PSD mockup in a wonderful website, but if you have many projects in progress you could consider a PSD to HTML Service.</p>
<h3>Pixel Crayons</h3>
<p><a href="http://xhtml.pixelcrayons.com/">XHTML.pixelcrayons.com</a> (a specialized division of Pixelcrayons) offers high quality hand coded pixel-precise markup services and implementation into skins, themes, CMS, shopping carts and more. They accept files in all common formats (PSD/AI/PNG/PDF) and even existing markup.</p>
<p>Their online Order page details various markup packages offered along with a variety of options for markup and software implementation.<br />
<a href="http://xhtml.pixelcrayons.com/"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/f5724_pixelcrayons.jpg" alt="Pixel Crayons" /></a></p>
<h3>Rapid XHTML</h3>
<p><a href="http://www.rapidxhtml.com/">RapidxHTML</a> is a small team of designers and developers, with a wide range of skills and experience. Each of us know our strengths and weaknesses and how these fit into the big picture.<br />
<a href="http://www.rapidxhtml.com/"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/4257e_rapidxhtml.jpg" alt="Rapid XHTML" /></a></p>
<h3>XHTML Chop</h3>
<p><a href="http://www.xhtmlchop.com/">XHTML Chop</a> is a team of experienced web design and web programming professionals. They specialize in providing the state-of-the-art PSD to HTML conversion services. they have a talented team that is capable of handling all types of conversion requirements.<br />
<a href="http://www.xhtmlchop.com/"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/e1bdc_xhtmlchop.jpg" alt="XHTML Chop" /></a></p>
<h3>XHTMLiT</h3>
<p><a href="http://www.xhtmlit.com/">XHTMLiT</a> service is simple! They are W3C Web Standards experts and they have been building and coding website for over 5 years now. XHTMLiT provide coding services to designers, taking the dirty job away so you can do what you are best at, Design!<br />
<a href="http://www.xhtmlit.com/"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/4ef7d_xhtmlit.jpg" alt="XHTMLiT" /></a></p>
<div>
<h3>Related Posts:</h3>
<ul>
<li><a href="http://91.194.90.123/en/2009/10/become-a-wordpress-theme-developer-who-rocks-in-four-steps-and-50-readings/" rel="bookmark">Become A WordPress Theme Developer Who Rocks In Four Steps (and 50+ readings)</a></li>
<li><a href="http://91.194.90.123/en/2009/04/greenland-a-free-psd-template/" rel="bookmark">GreenLand, a free PSD Template</a></li>
<li><a href="http://91.194.90.123/en/2009/05/designschool-another-free-psd-template/" rel="bookmark">DesignSchool, Another Free PSD Template</a></li>
<li><a href="http://91.194.90.123/en/2009/08/1708-2308-weekly-top-five-from-web-design-updates/" rel="bookmark">[17/08 - 23/08] Weekly Top Five From Web Design Updates</a></li>
<li><a href="http://91.194.90.123/en/2009/09/design-a-clean-and-fresh-company-website-in-photoshop/" rel="bookmark">Design A Clean And Fresh Company Website In Photoshop</a></li>
</ul>
</div>
<p><a href="http://feedads.g.doubleclick.net/~a/dNQ3NdFvlPY20l9lBol5SQnEou0/0/da"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/4ef7d_di" border="0"></img></a><br />
<a href="http://feedads.g.doubleclick.net/~a/dNQ3NdFvlPY20l9lBol5SQnEou0/1/da"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/4ef7d_di" border="0"></img></a></p>
<div>
<a href="http://feeds.feedburner.com/~ff/pvmgarage_en?a=VvfDSePQWXs:u0-eBQf_pjM:yIl2AUoC8zA"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/4ef7d_pvmgarage_en?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/pvmgarage_en?a=VvfDSePQWXs:u0-eBQf_pjM:dnMXMwOfBR0"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/4ef7d_pvmgarage_en?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/pvmgarage_en?a=VvfDSePQWXs:u0-eBQf_pjM:V_sGLiPBpWU"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/28ac1_pvmgarage_en?i=VvfDSePQWXs:u0-eBQf_pjM:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/pvmgarage_en?a=VvfDSePQWXs:u0-eBQf_pjM:qj6IDK7rITs"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/28ac1_pvmgarage_en?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/pvmgarage_en?a=VvfDSePQWXs:u0-eBQf_pjM:gIN9vFwOqvQ"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/28ac1_pvmgarage_en?i=VvfDSePQWXs:u0-eBQf_pjM:gIN9vFwOqvQ" border="0"></img></a>
</div>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/28ac1_VvfDSePQWXs" height="1" width="1" /><br />
<a href="http://feeds2.feedburner.com/pvmgarage_en">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/blogposter/web-design/makingseo-coded-free-css-template-with-psd-to-html-tips/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Drag to Share</title>
		<link>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/drag-to-share/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/drag-to-share/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 20:26:34 +0000</pubDate>
		<dc:creator>BlogPoster</dc:creator>
				<category><![CDATA[web resources]]></category>
		<category><![CDATA[div id]]></category>
		<category><![CDATA[Drop]]></category>
		<category><![CDATA[layout example]]></category>
		<category><![CDATA[lorem ipsum dolor]]></category>
		<category><![CDATA[overlay]]></category>
		<category><![CDATA[page]]></category>
		<category><![CDATA[social networking sites]]></category>
		<category><![CDATA[span]]></category>
		<category><![CDATA[tooltip]]></category>
		<category><![CDATA[ui archive]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/drag-to-share/</guid>
		<description><![CDATA[We’ve all seen the brilliant functionality on Mashable where news stories and interesting articles can be shared to social networking sites; the functionality is driven by the images accompanying the articles; you click and hold on an image and can then drag it into a toolbar to share it. It’s brilliant and intuitive, and in [...]]]></description>
			<content:encoded><![CDATA[<p>
We’ve all seen the brilliant functionality on Mashable where news stories and interesting articles can be shared to social networking sites; the functionality is driven by the images accompanying the articles; you click and hold on an image and can then drag it into a toolbar to share it. It’s brilliant and intuitive, and in this article I’m going to show you how we can replicate this behavior with jQuery and jQuery UI.
</p>
<p><span></span></p>
<div>
<a href="http://nettuts.s3.amazonaws.com/467_dragtoShare/source.zip"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/2ce26_button_src_nm.jpg"></a><br />
<a href="http://nettuts.s3.amazonaws.com/467_dragtoShare/source/dragToShare.html"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/2437d_button_demo_nm.jpg"></a>
</div>
<p>The following screenshot shows what we’ll have at the end of the tutorial: </p>
<div>
   <img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/83281_1.png" alt="Final Product" style="width: 600px" />
</div>
<h3>Getting Started</h3>
<p>
The latest version of jQuery comes with jQuery UI and in this example we only need the core, draggable and droppable components, so make sure only these are selected in the download builder. Once the jQuery UI archive has been downloaded, unpack the js folder from the archive (we don’t need the development bundle or CSS framework in this example) in a working folder.
</p>
<p>
Now let’s create a basic page, with some text and an image on it, to showcase the behaviour; create the following new page in your code editor:
</p>
<pre>
&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"&gt;
&lt;html&gt;
  &lt;head&gt;
    &lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8"&gt;
    &lt;title&gt;Drag to Share Example&lt;/title&gt;
    &lt;link rel="stylesheet" type="text/css" href="dragToShare.css"&gt;
  &lt;/head&gt;
  &lt;body&gt;
    &lt;div id="content"&gt;
      &lt;p&gt;Lorem ipsum dolor...&lt;/p&gt;
      &lt;img src="rover.png" alt="Mars Rover"&gt;
      &lt;p&gt;Lorem ipsum dolor...&lt;/p&gt;
    &lt;/div&gt;
    &lt;script type="text/javascript" src="js/jquery-1.3.2.min.js"&gt;&lt;/script&gt;
    &lt;script type="text/javascript" src="js/jquery-ui-1.7.2.custom.min.js"&gt;&lt;/script&gt;
  &lt;/body&gt;
&lt;/html&gt;
</pre>
<p>
Save this as dragToShare.html in the folder with the js folder in it. Here we’ve added our layout/example text and an image, both within a container. We’re linking to the jQuery and jQuery UI source files at the bottom of the &lt;body&gt; and a custom style sheet in the &lt;head&gt;.  We don’t need many styles at this point as there isn’t much on the page to actually style, but let’s add it next anyway with some basic styles for the page elements in it; in a new file in your code editor add the following:
</p>
<pre>
#content { width:440px; }
#content img { float:right; margin-left:20px; }
</pre>
<p>
Save this tiny file as dragToShare.css in the same folder as our HTML page. Don’t worry, we’ll be adding some more styles to the style sheet very shortly. Our example page should look like this at this point:
</p>
<div>
   <img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/3c829_2.png" alt="Example 2" />
</div>
<h3>
Making the Image Draggable<br />
</h3>
<p>
We need to make the image draggable, which we can do with jQuery UI, add the following &lt;script&gt; element after the others:
</p>
<pre>
&lt;script type="text/javascript"&gt;
  $(function() {

    var images = $("#content img"),
      title = $("title").text() || document.title;

    //make images draggable
    images.draggable();
  });
&lt;/script&gt;
</pre>
<p>
That’s all we need to do! We just cache the selector for the element(s) that we’d like to make draggable, and call the draggable() method on the resulting collection of elements. Now by clicking and holding the mouse button, the image in our example can be dragged around the page. The image will be made draggable as soon as the document is loaded as our code is wrapped in the $(function(){}) shortcut.
</p>
<p>
As well as caching the selector that returns our images, we’re also caching a selector that stores the title of the page. IE returns an empty string when using jQuery to retrieve the page title so we revert to document.title in this case.
</p>
<p>We still have a lot to do before we’re done though; what we need to do first is to let the visitor know that dragging the image does something. Firstly we can use a little CSS to set the ‘move’ mouse pointer when we hover over the image; add the following line to the end of dragToShare.css:
</p>
<pre>
.ui-draggable { cursor:move; }
</pre>
<p>
We’re targeting the class .ui-draggable which is added by jQuery UI with this style so that the image will only inherit the move cursor if the image is made draggable, which won’t happen if JavaScript is switched off or otherwise unavailable. Using the class name instead of the :hover pseudo class is also much better for cross-browser compatibility.
</p>
<h3>
Information Overlay<br />
</h3>
<div>
   <img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/bc6ef_3.png" alt="Example 3" />
</div>
<p>
To really make it obvious that dragging the image does something, we can also add a tooltip to explicitly tell the visitor what to do; after the draggable() method add the following new code:
</p>
<pre>
var createTip = function(e) {
  //create tool tip if it doesn't exist
  ($("#tip").length === 0) ? $("&lt;div&gt;").html("&lt;span&gt;Drag this image to share the page&lt;\/span&gt;&lt;span class='arrow'&gt;&lt;\/span&gt;").attr("id", "tip").css({ left:e.pageX + 30, top:e.pageY - 16 }).appendTo("body").fadeIn(2000) : null;
};

images.bind("mouseenter", createTip);

images.mousemove(function(e) {

  //move tooltip
  $("#tip").css({ left:e.pageX + 30, top:e.pageY - 16 });
});

images.mouseleave(function() {

  //remove tooltip
  $("#tip").remove();
});
</pre>
<p>
We’ve basically added three new event handlers to our code; the first event handler is the createTip function, which is defined as a variable and passed to jQuery’s bind() method along with the string mouseenter specifying the event. The next two functions are anonymous and are passed inline to jQuery’s mousemove() and mouseleave() helper methods.
</p>
<p>
In the createTip function we first check whether the tooltip already exists by seeing if a selector for it has a length of 0. If it does (have a length of 0) we know it doesn’t exist and can then create it. We set the innerHTML of the tooltip so that it features a span containing the message to the visitor, and a second empty span which we’ll use for a little decoration when we add the additional CSS in a moment.
</p>
<p>
We give the tooltip an id so that we can select it efficiently later on and set its CSS left and top properties using the pageX and pageY properties from the event object (e) which is passed to our function automatically. We then append the tooltip to the body of the page and fade it in slowly. To avoid HTML errors, we need to escape the forward-slashes in the raw HTML we add to the tooltip.
</p>
<p>
The mousemove function is used to make the tooltip track with the pointer, so when the pointer moves, the tooltip moves with it. We use the css method again as well as the pageX and pageY properties. Finally, the mouseleave function simply removes the tooltip from the page.
</p>
<h3>
Styling the Tooltip<br />
</h3>
<div>
   <img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/82072_4.png" alt="Example 4" />
</div>
<p>
Now we can add some CSS for our tooltip; in the interests of progressive enhancement we’ll use the sexy CSS3 rgba style to make out tooltip semi-transparent in capable browsers; at the bottom of dragToShare.css add the following new selectors and rules:
</p>
<pre>
#tip {
  position:absolute; display:none; height:25px; padding:9px 9px 0px;
  color:#fff; font-family:Verdana, Arial, Helvetica, sans-serif;
  font-size:11px; font-weight:bold; border-radius:4px;
  -moz-border-radius:4px; -webkit-border-radius:4px;
  background:#000; background:rgba(0,0,0,.5);
}
#tip .arrow {
  width:0; height:0; line-height:0; border-right:8px solid #000;
  border-right:8px solid rgba(0,0,0,.5); border-top:8px solid transparent;
  border-bottom:8px solid transparent; position:absolute; left:-8px;
  top:9px;
}
</pre>
<p>
That’s all we need. Most of the styles are pretty basic but we use the border-radius styles to give the tooltip rounded corners in gecko and webkit browsers, and as I mentioned before we use rgba to make the tooltip semi-transparent. This is a great effect and while it’s only supported in a few of the common browsers, it’s much more efficient than using an alpha-transparent PNG.
</p>
<p>
The empty span that we added to the tooltip is styled so that it looks like a speech-bubble arrow pointing to the mouse pointer. This is created using the CSS-shapes technique and as it’s not CSS3 it’s supported in most browsers. It’s even supported in IE6, although the border transparency that we give it isn’t supported. We could fix this easily enough if we really wanted to, but for the purposes of this tutorial I’m not going to deviate to this topic.
</p>
<p>
Note that we also use rgba for the border-color of our span so that it blends in with the rest of the tooltip. Now, IE (any version) is not going to support these rgba styles, but as we have provided normal colors before the rgba declarations, in both the tip and the span, the tooltip will just appear solid black in IE. Here’s how our tooltip will appear at its best, beautiful isn’t it?
</p>
<div>
   <img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/f3611_5.png" alt="Example 5" />
</div>
<h3>
Adding the Drop Targets<br />
</h3>
<p>
Ok, so our visitors now know that they can drag the image somewhere in order to share the page, but where do they drag it to? And where can they share it? We now need to react to the image being dragged and show the drop targets, which will consist of a series of links to social networking sites. We’ve several things we need to do here; we need to add an overlay to the page and create the drop targets first of all.
</p>
<p>
We could create the drop targets entirely from scratch, on the fly, with jQuery like we did with the tooltip, but out in the wild this would probably result in an unacceptable delay for some visitors. We can minimise this by adding the underlying mark-up for the drop targets to the page, and just showing it when we need to. Directly before the &lt;script&gt; elements at the bottom of the page, add the following code:
</p>
<pre>
<ul>
<li><a href="http://twitter.com"><!-- --></a></li>
<li><a href="http://delicious.com"><!-- --></a></li>
<li><a href="http://www.facebook.com"><!-- --></a></li>
</ul>
</pre>
<p>
We use a simple unordered list as the container for the drop targets where each item corresponds to a single target; I’ve included the social networking sites that I have accounts for, feel free to add more if you wish. Each list item contains a link with its href set to the home page of the social networking site that it represents. We’ll need to modify these URLs later in our script, and while more information could be provided in these links, I thought it cleaner to just provide the basic URL in the mark-up.
</p>
<p>
We need to style these now as well; add the following new styles to the bottom of our style sheet:
</p>
<pre>
#targets {
  display:none; list-style-type:none; position:absolute; top:10px;
  z-index:99999;
}
#targets li {
  float:left; margin-right:20px; display:block; width:60px; height:60px;
  background:url(iconSprite.png) no-repeat 0 0; position:relative;
}
#targets li#delicious { background-position:0 -60px; }
#targets li#facebook { background-position:0 -120px; }
</pre>
<p>
The outer list container is initially hidden from view so that we can show it when a drag begins. We disable the default icon for list items (a small circle) and position it absolutely at the top of the page. As we want the icons to be visible above the overlay, we set a high z-index on it.
</p>
<p>
The list items are floated so that they stack up next to each other horizontally and are spaced out with a little margin. The images are set on the list items so an appropriate size is set for them. We’re using a sprite file for the images so we need to set the background position of the delicious and Facebook icons.
</p>
<p>
Note: the icons used in this example came from the Social.me icon pack by jwloh and are available from <a href="http://jwloh.deviantart.com/art/Social-me-90694011">here</a>. They aren’t visible yet, but with the CSS we just added they should look something like this:
</p>
<div>
   <img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/ec73a_6.png" alt="Example 6" />
</div>
<h3>
Wiring up the Drag Behavior<br />
</h3>
<p>
At this point, we’ve got out drop targets in place ready to be shown so we now need to set some of draggable’s configuration options in order to add the overlay and show the drop targets when a drag begins. We can also create a helper element that will be dragged instead of the underlying &lt;img&gt;. Change the draggable() method so that it appears as follows:
</p>
<pre>
//make images draggable
images.draggable({
  //create draggable helper
  helper: function() {
    return $("&lt;div&gt;").attr("id", "helper").html("&lt;span&gt;" + title + "&lt;/span&gt;&lt;img id='thumb' src='" + $(this).attr("src") + "'&gt;").appendTo("body");
  },
  cursor: "pointer",
  cursorAt: { left: -10, top: 20 },
  zIndex: 99999,
  //show overlay and targets
  start: function() {
    $("&lt;div&gt;").attr("id", "overlay").css("opacity", 0.7).appendTo("body");
	$("#tip").remove();
	$(this).unbind("mouseenter");
	$("#targets").css("left", ($("body").width() / 2) - $("#targets").width() / 2).slideDown();
  },
  //remove targets and overlay
  stop: function() {
    $("#targets").slideUp();
    $(".share", "#targets").remove();
    $("#overlay").remove();
    $(this).bind("mouseenter", createTip);
  }
});
</pre>
<p>
We’ve added an object literal as an argument to the draggable() method containing a series of configuration options; let’s look at each option in detail: </p>
<h4>helper</h4>
<p>
We supply an anonymous function as the value of the helper option; the function must return an element, so we create a new div element, give it an id and insert a string of raw HTML. The HTML we insert creates a new span element containing the title of the page. We also create a new image. The image will act as a thumbnail; again we give it an id for styling purposes and set its src attribute to the src of the original image.
</p>
<h4>cursor</h4>
<p>
We set the cursor option to pointer so that an action pointer is shown while the drag is in progress.
</p>
<h4>
cursorAt<br />
</h4>
<p>
We use another object literal with the cursorAt option to position where on the drag helper the icon appears. We set the left and top properties of the object to the pixel values. The values we supply set the cursor so that it appears -10px to the left of the helper, and 20 pixels into it.
</p>
<h4>
zIndex<br />
</h4>
<p>
We set the z-index of the helper element using the zIndex option, which sets the style directly on the element as an inline style. This forces the helper above the overlay, and is required because the overlay is inserted after the helper.
</p>
<h4>
start<br />
</h4>
<p>
This option is one of the draggable component’s built-in event handlers; whenever a drag interaction starts the function we supply as a value to this option is executed. Within this function we create the overlay and append it to the page, remove the tooltip and stop the current image displaying it again, and then position the targets in the center of the viewport before showing them with a nice slideDown animation.
</p>
<h4>
stop<br />
</h4>
<p>
The stop option is another of draggable’s built-in event handlers and is called when the drag stops. All we do here is tidy up, removing the overlay and any text that has been added, sliding up the targets, and rebinding the createTip function to the mouseenter event.
</p>
<p>
So with these options configured, when we begin dragging the image several things will happen; first of all the overlay will be displayed which will grey out the rest of the page. We also remove the tooltip and prevent it from displayed again if the mouse pointer enters the image again. In most browsers this isn’t a problem – the pointer isn’t considered ‘over’ the image because it’s on top of the drag helper. But IE (even version <img src='http://net.tutsplus.com/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> does consider it over the image still and displays both the helper and the tooltip.
</p>
<p>
Our helper element, which will be dragged instead of the original image, will also be created and displayed, showing the page title as a label, and a thumbnail version of the original image. The drop targets will also be shown with a nice animation.
</p>
<p>
At this stage, we need to provide a little CSS for the helper element, thumbnail and the overlay; add the following selectors and rules to the bottom of dragToShare.css:
</p>
<pre>
#overlay {
  background-color:#000; position:absolute; top:0; left:0; width:100%;
  height:100%; z-index:99997;
}
#helper {
  background-color:#c2c2c2; position:absolute; height:35px;
  padding:15px 70px 0 20px; color:#fff;
  font-family:Verdana, Arial, Helvetica, sans-serif; font-weight:bold;
  font-size:18px; border-radius:8px; -moz-border-radius:8px;
  -webkit-border-radius:8px; border:3px solid #7d7d7d;
}
#thumb {
  width:50px; height:50px; position:absolute; right:0; top:0;
  border-left:3px solid #7d7d7d;
}
</pre>
<p>
For the overlay we set the background color to solid black, but remember we use jQuery to make it transparent. It’s positioned and sized to cover the whole page and has its z-index set to just under that of the drag helper and targets.
</p>
<p>
The helper element has a range of styles set on it to make it presentable. Mostly these are simple everyday styles that don’t warrant discussion, but we do set the border-radius styles here like we did with the tooltip. The height of the helper is fixed, but its width is not, so it will grow or shrink to accommodate all of the alt text from the image that was dragged.
</p>
<p>
The thumbnail version of the original image is sized and positioned at the far right of the helper. Enough right-padding has been given to the helper element to ensure that the text doesn’t run in to the image. When a drag begins, the page should appear like this:
</p>
<div>
   <img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/56929_7.png" alt="Example 7" />
</div>
<h3>
Making the Targets Droppable<br />
</h3>
<p>
Our final task is to make the target social networking icons to react to having the helper element dropped on to them. We do this using the droppable component of jQuery UI, which we selected when we built our jQuery UI download.
</p>
<p>
Directly after the draggable method (containing the code we just added) add the droppable method:
</p>
<pre>
//make targets droppable
$("#targets li").droppable({
  tolerance: "pointer",
  //show info when over target
  over: function() {
    $(".share", "#targets").remove();
    $("&lt;span&gt;").addClass("share").text("Share on " + $(this).attr("id")).addClass("active").appendTo($(this)).fadeIn();
  },
  drop: function() {
    var id = $(this).attr("id"),
      currentUrl = window.location.href,
	baseUrl = $(this).find("a").attr("href");

    if (id.indexOf("twitter") != -1) {
      window.location.href = baseUrl + "/home?status=" + title + ": " + currentUrl;
    } else if (id.indexOf("delicious") != -1) {
      window.location.href = baseUrl + "/save?url=" + currentUrl + "&#38;title=" + title;
    } else if (id.indexOf("facebook") != -1) {
      window.location.href = baseUrl + "/sharer.php?u=" + currentUrl + "&#38;t=" + title;
    }
  }
});
</pre>
<p>
Again, we use several different configuration options to tailor the implementation to our needs. The options we use are listed below:
</p>
<h4>tolerance</h4>
<p>
The tolerance option is used to set when the drag helper is considered to be over a drop target. We’ve used pointer here so the mouse pointer itself must be over the drop target.
</p>
<h4>
over<br />
</h4>
<p>
We use the over event callback to execute code whenever the drag helper is over a drop target; in this function we first ensure that the element we’re about to create is removed, this is to hide elements that may have been created in a previous drag. We then create a new span element and set its innerText to a message indicating which social network the icon represents.
</p>
<h4>
drop<br />
</h4>
<p>
The drop event callback function is where we actually perform the sharing of the page on whichever social network the visitor dropped the drag helper on. We get the URL of the current page and the URL for the social network from the href of the link in the list item representing the icon. Each of the social networks used in this example are able to accept information via the URL, so for example with Twitter, we can add the text for a status update to the input field on the visitor’s Twitter page, making it easy for the visitor to share the page title and URL. The information to do this is passed in the URL, so starting with the baseUrl we can build the required URL and then navigate to it with the window.location.href property.
</p>
<p>We need one line of CSS and then we’re done; to style the share message that we append to the page when the drag helper is over a drop target add the following code:
</p>
<pre>
.share {
  font-weight:bold; position:absolute; font-size:14px;
  font-family:Verdana; margin-left:-38px;
}
</pre>
<p>
We should now find that when we drop the drag helper onto one of the icons, the corresponding page should load with the URL of our page displayed:
</p>
<div>
   <img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/052d6_8.png" alt="Facebook Example" style="width: 600px" />
</div>
<h3>
Summary<br />
</h3>
<div>
   <img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/83281_1.png" alt="Final Product" style="width: 600px" />
</div>
<p>
Our work here is done; we can now deploy the code to our web pages to provide an easy way for our visitors to share our content across their social networks. This method is good because it’s easy to implement consisting entirely of client-side code. We don’t need to worry about authentication or anything like that – the visitor will just be prompted to enter their username and password when the external site loads up.
</p>
<ul>
<li>Follow us on <a href="http://www.twitter.com/nettuts">Twitter</a>, or subscribe to the <a href="http://feeds.feedburner.com/nettuts" title="Nettuts+ RSS Feed">Nettuts+ RSS Feed</a> for more daily web development tuts and articles.</li>
</ul>
<p>

</p>
<p><a href="http://feedads.g.doubleclick.net/~a/hhIxZGGodbnLt9O02602j0HykWI/0/da"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/213c2_di" border="0"></img></a><br />
<a href="http://feedads.g.doubleclick.net/~a/hhIxZGGodbnLt9O02602j0HykWI/1/da"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/213c2_di" border="0"></img></a></p>
<div>
<a href="http://feeds.feedburner.com/~ff/nettuts?a=JxlVfXPTJnA:cq3CXjRwKiI:yIl2AUoC8zA"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/213c2_nettuts?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/nettuts?a=JxlVfXPTJnA:cq3CXjRwKiI:F7zBnMyn0Lo"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/7222e_nettuts?i=JxlVfXPTJnA:cq3CXjRwKiI:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/nettuts?a=JxlVfXPTJnA:cq3CXjRwKiI:V_sGLiPBpWU"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/7222e_nettuts?i=JxlVfXPTJnA:cq3CXjRwKiI:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/nettuts?a=JxlVfXPTJnA:cq3CXjRwKiI:gIN9vFwOqvQ"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/7222e_nettuts?i=JxlVfXPTJnA:cq3CXjRwKiI:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/nettuts?a=JxlVfXPTJnA:cq3CXjRwKiI:TzevzKxY174"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/a60b5_nettuts?d=TzevzKxY174" border="0"></img></a>
</div>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/a60b5_JxlVfXPTJnA" height="1" width="1" /><br />
<a href="http://feedproxy.google.com/nettuts">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/drag-to-share/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MooTools Kwicks Plugin</title>
		<link>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/mootools-kwicks-plugin/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/mootools-kwicks-plugin/#comments</comments>
		<pubDate>Tue, 13 Oct 2009 18:58:43 +0000</pubDate>
		<dc:creator>BlogPoster</dc:creator>
				<category><![CDATA[web resources]]></category>
		<category><![CDATA[background url]]></category>
		<category><![CDATA[David Walsh Blog]]></category>
		<category><![CDATA[div id]]></category>
		<category><![CDATA[Don]]></category>
		<category><![CDATA[george harrison]]></category>
		<category><![CDATA[html list]]></category>
		<category><![CDATA[john lennon]]></category>
		<category><![CDATA[Kevin Bacon]]></category>
		<category><![CDATA[kwick]]></category>
		<category><![CDATA[mootools]]></category>
		<category><![CDATA[paul mccartney]]></category>
		<category><![CDATA[quot]]></category>
		<category><![CDATA[ringo starr]]></category>
		<category><![CDATA[span]]></category>
		<category><![CDATA[width]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/mootools-kwicks-plugin/</guid>
		<description><![CDATA[I wrote a post titled Get Slick with MooTools Kwicks ages ago. The post was quite popular and the effect has been used often. Looking back now, the original code doesn&#8217;t look as clean as it could. I&#8217;ve revised the original Kwicks code so that Kwicks is laid out in the form of a standard [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://davidwalsh.name/dw-content/kwicks-1.2.3.php"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/9a6fe_kwicks-before.gif" alt="MooTools Kwicks" /></a></p>
<p>I wrote a post titled <a href="http://davidwalsh.name/get-slick-mootools-kwicks">Get Slick with MooTools Kwicks</a> ages ago.  The post was quite popular and the effect has been used often.  Looking back now, the original code doesn&#8217;t look as clean as it could.  I&#8217;ve revised the original Kwicks code so that Kwicks is laid out in the form of a standard MooTools plugin.</p>
<div><a href="http://davidwalsh.name/dw-content/kwicks-1.2.3.php">View Demo</a>
<div></div>
</div>
<h2>The HTML</h2>
<pre>
&lt;div id=&quot;kwick&quot;&gt;
	&lt;ul id=&quot;kwicks&quot;&gt;
		&lt;li&gt;&lt;a class=&quot;kwick john&quot; href=&quot;http://en.wikipedia.org/wiki/John_lennon&quot; title=&quot;John Lennon&quot;&gt;&lt;span&gt;John Lennon&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a class=&quot;kwick paul&quot; href=&quot;http://en.wikipedia.org/wiki/Paul_mccartney&quot; title=&quot;Paul McCartney&quot;&gt;&lt;span&gt;Paul McCartney&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a class=&quot;kwick george&quot; href=&quot;http://en.wikipedia.org/wiki/George_harrison&quot; title=&quot;George Harrison&quot;&gt;&lt;span&gt;George Harrison&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a class=&quot;kwick ringo&quot; href=&quot;http://en.wikipedia.org/wiki/Ringo_starr&quot; title=&quot;Ringo Starr&quot;&gt;&lt;span&gt;Ringo Starr&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;
&lt;/div&gt;
</pre>
<p>The Kwicks system works based off of an HTML list containing list items with links.</p>
<h2>The CSS</h2>
<pre>
#kwick						{ width:590px; }
	#kwicks 				{ height:143px; list-style-type:none; margin:0; padding:0; }
#kwick li 					{ float:left; }
#kwick .kwick 				{ display:block; cursor:pointer; overflow:hidden; height:143px; width:134px; }
#kwick .kwick span 			{ display:none; }

#kwick .john 				{ background:url(kwicks/john.gif) no-repeat; }
#kwick .paul 				{ background:url(kwicks/paul.gif) no-repeat; }
#kwick .george 				{ background:url(kwicks/george.gif) no-repeat; }
#kwick .ringo 				{ background:url(kwicks/ringo.gif) no-repeat; }
</pre>
<p>The most key of the selectors is &#8220;.kwick&#8221; which features &#8220;overflow:hidden&#8221;.  Overflow hidden will allow our squeezing of elements.</p>
<h2>The MooTools Javascript</h2>
<pre>
var Kwicks = new Class({

	Implements: [Options],

	options: {
		squeezeWidth: 100,
		maxWidth: 285
	},

	initialize: function(list,options) {
		this.setOptions(options);
		this.list = document.id(list);
		this.parse();
	},

	parse: function() {
		//vars
		var items = this.list.getElements('a'),
			fx = new Fx.Elements(items, {wait: false, duration: 250, transition:Fx.Transitions.Cubic.easeOut}),
			startWidths = [],
			options = this.options;
		//kwicks items
		items.each(function(item,i) {
			startWidths.push(item.getStyle('width').toInt());
			item.addEvent('mouseenter',function(){
				var fxSettings = {};
				fxSettings[i] = {
					'width': [item.getStyle('width').toInt(),options.maxWidth]
				};
				items.each(function(sibling,ii) {
					if(sibling != item) {
						var w = sibling.getStyle('width').toInt();
						if (w != options.squeezeWidth) {
							fxSettings[ii] = {
								'width': [w,options.squeezeWidth]
							};
						}
					}
				},this);
				fx.start(fxSettings);
			},this);
		},this);
		//list
		this.list.addEvent('mouseleave',function() {
			var fxSettings = {};
			items.each(function(item,i) {
				fxSettings[i] = {
					width: [item.getStyle('width').toInt(), startWidths[i]]
				};
			});
			fx.start(fxSettings);
		});
	}
});

/* USAGE */
window.addEvent('domready',function() {
	var kwicks = new Kwicks('kwicks');
});
</pre>
<p>Unlike my original post, this implementation works off of the MooTools Class system.  The class is small and features only one real method but the class&#8217; code is also much cleaner than my original implementation!</p>
<div><a href="http://davidwalsh.name/dw-content/kwicks-1.2.3.php">View Demo</a>
<div></div>
</div>
<p>The Kwicks effect is tasteful, smooth, and attention-grabbing.  I recommend adding this to any website that could use a bit of dynamism.</p>
<p>Don&#8217;t forget to <a href="http://twitter.com/davidwalshblog">follow me on Twitter</a> and be sure to visit <a href="http://scriptandstyle.com">Script &amp; Style</a> for the best Javascript and CSS articles around!</p>
<p><a href="http://buysellads.com/buy/detail/1687">Sponsor the David Walsh Blog</a> and get your brand in front of several thousand users per day!</p>
<p><a href="http://davidwalsh.name/kwicks">MooTools Kwicks Plugin</a></p>
<p>Related posts:
<ol>
<li><a href="http://davidwalsh.name/get-slick-mootools-kwicks" rel="bookmark" title="Permanent Link: Get Slick with MooTools Kwicks">Get Slick with MooTools Kwicks</a></li>
<li><a href="http://davidwalsh.name/php-mootools-12-accordion-helper" rel="bookmark" title="Permanent Link: PHP / MooTools 1.2 Accordion Helper">PHP / MooTools 1.2 Accordion Helper</a></li>
<li><a href="http://davidwalsh.name/flext-textrea" rel="bookmark" title="Permanent Link: Flext: MooTools Auto-Growing Textrea Plugin">Flext: MooTools Auto-Growing Textrea Plugin</a></li>
<li><a href="http://davidwalsh.name/six-degrees-of-kevin-bacon" rel="bookmark" title="Permanent Link: Six Degrees of Kevin Bacon Using MooTools 1.2">Six Degrees of Kevin Bacon Using MooTools 1.2</a></li>
<li><a href="http://davidwalsh.name/mootools-typewriter" rel="bookmark" title="Permanent Link: MooTools Typewriter Effect Plugin">MooTools Typewriter Effect Plugin</a></li>
</ol>
<p><a href="http://davidwalsh.name/feed/atom">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/mootools-kwicks-plugin/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

