<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" version="2.0">

<channel>
	<title>Codrops</title>
	
	<link>http://tympanus.net/codrops</link>
	<description>Useful resources and inspiration for creative minds</description>
	<lastBuildDate>Wed, 30 May 2012 07:15:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/Codrops" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="codrops" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">Codrops</feedburner:emailServiceId><feedburner:feedburnerHostname xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>Collective #13</title>
		<link>http://tympanus.net/codrops/collective/collective-13/</link>
		<comments>http://tympanus.net/codrops/collective/collective-13/#comments</comments>
		<pubDate>Sun, 27 May 2012 07:54:48 +0000</pubDate>
		<dc:creator>Mary Lou</dc:creator>
				<category><![CDATA[CSS3]]></category>
		<category><![CDATA[font]]></category>
		<category><![CDATA[responsive]]></category>
		<category><![CDATA[tables]]></category>
		<category><![CDATA[typography]]></category>

		<guid isPermaLink="false">http://tympanus.net/codrops/?post_type=collective&amp;p=9281</guid>
		<description><![CDATA[Kickass Frameworks * CSS3 Flex Box Explained * Free Fonts * Using  Icon Fonts *  Responsive Tables]]></description>
			<content:encoded><![CDATA[<div class="ct-coll-item">
<article>
<h2>Inspirational Website of the Week</h2>
<p>	   <a class="ct-coll-thumb" href="http://www.julienrenvoye.com/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective13_17.jpg" alt="Collective13_17" title="" width="330" height="179" class="alignnone size-full wp-image-9299" /></a></p>
<p>With its interesting thumbnail shape, subtle animations and great color scheme, Julien Renvoye&#8217;s portfolio becomes our pick of the week.</p>
<p>	   <a class="ct-coll-link" href="http://www.julienrenvoye.com/">Check it out</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>Compass2CSS</h2>
<p>	   <a class="ct-coll-thumb" href="http://c2c.briangonzalez.org/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective13_02.jpg" alt="Collective13_02" title="" width="300" height="106" class="alignnone size-full wp-image-9284" /></a></p>
<p>Compile Compass into CSS using this awesome online tool by Brian Gonzalez. This can be useful in a situation when you don&#8217;t have the power of Sass/Compass, or if you are simply curious to see how Compass implements certain functions. </p>
<p>	   <a class="ct-coll-link" href="http://c2c.briangonzalez.org/">Check it out</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>Gumby Framework</h2>
<p>	   <a class="ct-coll-thumb" href="http://www.gumbyframework.com/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective13_03.jpg" alt="Collective13_03" title="" width="300" height="143" class="alignnone size-full wp-image-9285" /></a></p>
<p>Gumby is a new responsive 960 grid CSS framework that comes with many amazing features. It has support for all of the new HTML5 goodness and you can customize it for your needs. It&#8217;s great for prototyping since it comes with styles and common interface elements (forms, buttons, tabs, and pure CSS dropdowns and more).</p>
<p>	   <a class="ct-coll-link" href="http://www.gumbyframework.com/">Get it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>Meteocons</h2>
<p>	   <a class="ct-coll-thumb" href="http://www.alessioatzeni.com/meteocons/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective13_09.jpg" alt="Collective13_09" title="" width="300" height="96" class="alignnone size-full wp-image-9291" /></a></p>
<p>Alessio Atzeni gives us this beautiful icon set for free. Meteocons is a set of weather icons which contains more than 40 icons in various formats: PSD, CHS, EPS, SVG, Desktop font and Web font.</p>
<p>	   <a class="ct-coll-link" href="http://www.alessioatzeni.com/meteocons/">Get it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>The CSS3 Flex Box Specification</h2>
<p>	   <a class="ct-coll-thumb" href="http://www.inserthtml.com/2012/05/css3-flex-box-specification-change-layout-design/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective13_04.jpg" alt="Collective13_04" title="" width="200" height="109" class="alignnone size-full wp-image-9286" /></a></p>
<p>Johnny Simpson dives into the CSS3 Flex Box Specification and shows us usage examples and how it simplifies layout design.</p>
<p>	   <a class="ct-coll-link" href="http://www.inserthtml.com/2012/05/css3-flex-box-specification-change-layout-design/">Read it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>WordPress Meet Responsive Design</h2>
<p>	   <a class="ct-coll-thumb" href="http://build.codepoet.com/2012/05/11/wordpress-meet-responsive-design/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective13_12.jpg" alt="Collective13_12" title="" width="240" height="103" class="alignnone size-full wp-image-9294" /></a></p>
<p>On the new and great <a href="http://build.codepoet.com/">Code Poet</a>, a superb resource for WordPress designers and developers brought to you by the very developers of WordPress, you can find this short e-book where Chris Coyier, Ian Stewart and Sara Cannon talk about strategies for designing WordPress sites responsively.</p>
<p>	   <a class="ct-coll-link" href="http://build.codepoet.com/2012/05/11/wordpress-meet-responsive-design/">Read it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>Two Free Fonts: Tikal Sans Medium + Medium Italic</h2>
<p>	   <a class="ct-coll-thumb" href="http://www.myfonts.com/fonts/latinotype/tikal-sans/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective13_05.jpg" alt="Collective13_05" title="" width="250" height="124" class="alignnone size-full wp-image-9287" /></a></p>
<p>Miguel Hernández created this wonderful font family with 20 weights, two of which are free: <a href="http://www.myfonts.com/fonts/latinotype/tikal-sans/medium/">Tikal Sans Medium</a> and <a href="http://www.myfonts.com/fonts/latinotype/tikal-sans/medium-italic/">Tikal Sans Medium Italic</a>.</p>
<p>	   <a class="ct-coll-link" href="http://www.myfonts.com/fonts/latinotype/tikal-sans/">Get them</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>vert.x</h2>
<p>	   <a class="ct-coll-thumb" href="http://vertx.io/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective13_01.jpg" alt="Collective13_01" title="" width="300" height="79" class="alignnone size-full wp-image-9283" /></a></p>
<p>If you are developing asynchronous applications, you will find vert.x interesting. It&#8217;s a framework which takes inspiration from event driven frameworks like node.js, combines it with a distributed event bus and sticks it all on the JVM &#8211; a runtime with real concurrency and unrivalled performance. Vert.x then exposes the API in JavaScript, Ruby, Groovy and Java.</p>
<p>	   <a class="ct-coll-link" href="http://vertx.io/">Try it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>ddSlick.js</h2>
<p>	   <a class="ct-coll-thumb" href="http://designwithpc.com/Plugins/ddSlick"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective13_15.jpg" alt="Collective13_15" title="" width="200" height="189" class="alignnone size-full wp-image-9297" /></a></p>
<p>A free light weight jQuery plugin by Prashant Chaudhary that allows you to create a custom drop down with images and description.</p>
<p>	   <a class="ct-coll-link" href="http://designwithpc.com/Plugins/ddSlick">Get it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>On Responsive Typography</h2>
<p>Some interesting thoughts by Indra Kupferschmid about how there are several important aspects to typography when it comes to &#8220;responsive typography&#8221;.</p>
<p>	   <a class="ct-coll-link" href="http://kupferschrift.de/cms/2012/05/responsive-typography/">Read it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>Example of getUserMedia and CSS Filters</h2>
<p>	   <a class="ct-coll-thumb" href="http://www.raymondcamden.com/index.cfm/2012/5/25/Example-of-getUserMedia-and-CSS"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective13_07.jpg" alt="Collective13_07" title="" width="300" height="160" class="alignnone size-full wp-image-9289" /></a></p>
<p>A really great practical example of getUserMedia, the fantastic HTML5 feature that let&#8217;s you access the user&#8217;s audio and video devices. Taking it one step further, Raymond Camden adds CSS filters to create a registration form that makes the taken picture become sharper after filling the inputs. </p>
<p>	   <a class="ct-coll-link" href="http://www.raymondcamden.com/index.cfm/2012/5/25/Example-of-getUserMedia-and-CSS">Read it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>superscrollorama</h2>
<p>	   <a class="ct-coll-thumb" href="http://johnpolacek.github.com/superscrollorama/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective13_08.jpg" alt="Collective13_08" title="" width="200" height="162" class="alignnone size-full wp-image-9290" /></a></p>
<p>After creating <em>scrollorama</em> John Polacek gives us <em>superscrollorama</em>, the jQuery plugin for supercool scroll animations.</p>
<p>	   <a class="ct-coll-link" href="http://johnpolacek.github.com/superscrollorama/">Get it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>HTML for Icon Font Usage</h2>
<p>What is the best markup for using icon fonts when considering semantics and screen reader friendliness? Chris Coyier covers some useful  techniques with those considerations in mind.</p>
<p>	   <a class="ct-coll-link" href="http://css-tricks.com/html-for-icon-font-usage/">Read it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>Free Keynote Mockup Templates</h2>
<p>	   <a class="ct-coll-thumb" href="http://keynotopia.com/keynote-mockups-templates/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective13_10.jpg" alt="Collective13_10" title="" width="200" height="102" class="alignnone size-full wp-image-9292" /></a></p>
<p>Keynotopia shares some free Keynote Mockup Templates for prototyping mobile, web and desktop apps. </p>
<p>	   <a class="ct-coll-link" href="http://keynotopia.com/keynote-mockups-templates/">Get it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>Fontello Iconic Fonts Composer</h2>
<p>	   <a class="ct-coll-thumb" href="http://fontello.com/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective13_11.jpg" alt="Collective13_11" title="" width="300" height="111" class="alignnone size-full wp-image-9293" /></a></p>
<p>If you did not know about it yet: with Fontello you can combine iconic webfonts for your project; adjust glyphs collections, merge symbols from different fonts and access large sets of open source icons.</p>
<p>	   <a class="ct-coll-link" href="http://fontello.com/">Try it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>A New Take on Responsive Tables</h2>
<p>	   <a class="ct-coll-thumb" href="http://www.zurb.com/article/982/a-new-take-on-responsive-tables"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective13_13.jpg" alt="Collective13_13" title="" width="227" height="168" class="alignnone size-full wp-image-9295" /></a></p>
<p>With all the hype around responsive design, one important element seems to get left behind: the table. A new playround piece of ZURB shows how to create responsive tables with JavaScript and CSS.</p>
<p>	   <a class="ct-coll-link" href="http://www.zurb.com/article/982/a-new-take-on-responsive-tables">Check it out</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>Free Ultimate Blurred Background Pack</h2>
<p>	   <a class="ct-coll-thumb" href="http://wegraphics.net/downloads/free-ultimate-blurred-background-pack/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective13_14.jpg" alt="Collective13_14" title="" width="280" height="181" class="alignnone size-full wp-image-9296" /></a></p>
<p>At WeGraphics you can get this free PSD which contains 20 soft blurred background textures.</p>
<p>	   <a class="ct-coll-link" href="http://wegraphics.net/downloads/free-ultimate-blurred-background-pack/">Get it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>Bariol Regular Free Font</h2>
<p>	   <a class="ct-coll-thumb" href="http://www.bariol.com/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective13_06.jpg" alt="Collective13_06" title="" width="300" height="117" class="alignnone size-full wp-image-9288" /></a></p>
<p>Atipo gives us one member of this exquisite font family for free: Bariol Regular. </p>
<p>	   <a class="ct-coll-link" href="http://www.bariol.com/">Get it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>Ember.js Framework</h2>
<p>	   <a class="ct-coll-thumb" href="http://emberjs.com/about/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective13_16.jpg" alt="Collective13_16" title="" width="140" height="56" class="alignnone size-full wp-image-9298" /></a></p>
<p>Ember is a JavaScript framework for creating ambitious web applications that eliminates boilerplate and provides a standard application architecture.</p>
<p>	   <a class="ct-coll-link" href="http://emberjs.com/about/">Get it</a><br />
   </article>
</div>
]]></content:encoded>
			<wfw:commentRss>http://tympanus.net/codrops/collective/collective-13/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Understanding the Rule of Thirds in Web Design</title>
		<link>http://tympanus.net/codrops/2012/05/23/understanding-the-rule-of-thirds-in-web-design/</link>
		<comments>http://tympanus.net/codrops/2012/05/23/understanding-the-rule-of-thirds-in-web-design/#comments</comments>
		<pubDate>Wed, 23 May 2012 09:45:38 +0000</pubDate>
		<dc:creator>Carrie Cousins</dc:creator>
				<category><![CDATA[Web Design]]></category>
		<category><![CDATA[best practices]]></category>
		<category><![CDATA[emphasis]]></category>
		<category><![CDATA[inspiration]]></category>
		<category><![CDATA[photography]]></category>
		<category><![CDATA[website]]></category>

		<guid isPermaLink="false">http://tympanus.net/codrops/?p=9089</guid>
		<description><![CDATA[Intentional or not, the rule of thirds comes into play with most visuals, including images and in almost any web design.]]></description>
			<content:encoded><![CDATA[<p><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Rule-of-third.jpg" alt="Understanding the Rule of Thirds in Web Design" title="Understanding the Rule of Thirds in Web Design" width="580" height="315" class="alignnone size-full wp-image-9250" /></p>
<p>In its most simple form the rule of thirds refers to a 3 by 3 grid that fits on top of any image. There are no specific sizes to the blocks – only that they are equally shaped. The grid works horizontally or vertically and helps you determine how the eye follows an image or group of images (such as a website).</p>
<p>The rule of thirds has been around for several hundred years, with the first written reference by John Thomas Smith in “Remarks on Rural Scenery” (1797). He wrote about the philosophy and how it pertained to painting and art, giving it the name “rule of thirds,” a phrase that is now used commonly among artists, photographers and designers.</p>
<p>While the rule of thirds can be used intentionally in art, photography or design, it is also an ever-present concept. Even when you don’t plan or accommodate for it, the rule of thirds exists. Your job is to use it to your design advantage.</p>
<div id="bsap_1266918" class="bsarocks bsap_af25dfd2f1908889af7a1aa5f4dcbd9e"></div><div style="clear:both;"></div>
<h3>How it Works</h3>
<p><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/toy.jpg" alt="" title="toy" width="580" height="445" class="alignnone size-full wp-image-9097" /></p>
<p><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/eyescan.jpg" alt="" title="eyescan" width="580" height="445" class="alignnone size-full wp-image-9091" /></p>
<p>The grid-shaped rule of thirds concept helps you understand the places on an image where a person is naturally drawn when viewing an image or even your webpage. In theory, the most eye-catching points are where the grid lines intersect. </p>
<p>Understanding where these key points fall can help you better compose a piece of artwork or photo, determine a more appealing crop and even determine placement of elements on your website’s landing page. Generally, the area that will first attract attention is the top left grid intersection, followed by the intersection below it and then the top right and bottom right cross-sections.</p>
<p>The biggest lesson to come from the rule of thirds is that perfect 2-part symmetry may not be the most appealing configuration. You will get more impact with images and design without it. (And remember, even if your design is created with perfect symmetry from the center out, the rule of thirds will still apply.)</p>
<p>You can work with or against the rule of thirds, but you can’t eliminate it.</p>
<h3>Photography and Images</h3>
<p><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/bird.jpg" alt="" title="bird" width="580" height="445" class="alignnone size-full wp-image-9090" /></p>
<p>Following the rule of thirds philosophy, images that fall into “thirds” regions are the most pleasing and are associated with balance and harmony. Where the focus of an image falls in the imaginary grid can create associations as well. For example, the placement of an object in one third of the photo can imply motion, such as with the bird above. (You can almost sense that he has just flown in from the left and landed on the branch.)</p>
<p><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/womanCrop.jpg" alt="" title="womanCrop" width="580" height="220" class="alignnone size-full wp-image-9099" /></p>
<p><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/feet.jpg" alt="" title="feet" width="580" height="219" class="alignnone size-full wp-image-9092" /></p>
<p>There are a few rule of thirds guidelines to keep in mind when working with and cropping images. </p>
<p><strong>Watch the horizon:</strong> In photos with a horizon line (especially landscapes), try to place that line in the top third of the image. It will help better focus the rest of the image and add the proper feeling of where the sky is located.</p>
<p><strong>Watch the eyes:</strong> This can be rather difficult at times, but in portraits think about lining up the subject’s eyes on two of the interesting gridlines. These are areas that first draw attention and your viewer will immediately connect with the person in the photo because you have created a feeling of looking into their eyes.</p>
<p><strong>Watch dead space:</strong> Be aware of pieces of objects in the corners of images and crop. Pull the part of the image you really want to be showcased forward and near one of the primary gridlines.</p>
<h3>Overall Design</h3>
<p><a href="http://www.regeneratemusicco.com/" target="_blank"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/regenerate.jpg" alt="" title="regenerate" width="580" height="389" class="alignnone size-full wp-image-9095" /></a></p>
<p><a href="http://www.rollingstone.com/" target="_blank"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/rollingstone.jpg" alt="" title="rollingstone" width="580" height="445" class="alignnone size-full wp-image-9096" /></a></p>
<p>Think about placement of elements on your website in relation to the rule of thirds. At a common screen resolution of 1,024 pixels wide by 786 pixels deep, each third would be about 341 pixels wide by 262 deep.</p>
<p>Think about the composition of your site. It is likely the banner falls side the left-most top third. Much of your content probably begins around the location of the top third gridline, with navigation above it.</p>
<p>Consider where banner ads are placed on many news websites. They strip across the top third gridline, such as the ad and content on the Rolling Stone website.</p>
<p>On homepages, apply the rule of thirds when determining placement of key elements – banners, social media or interactivity icons, advertising and even key parts of your content. On subsequent or content pages, use the rule of thirds to help you determine where to place images or help readers focus when visiting your site. Think about how many sites are structured as well; sites with sidebars on both sides often allow for main content to fall within the center “third” of the site.</p>
<h3>Design Considerations</h3>
<p><a href="http://www.twenty8twelve.com/" target="_blank"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/twenty8.jpg" alt="" title="twenty8" width="580" height="445" class="alignnone size-full wp-image-9098" /></a></p>
<p><a href="http://www.googleventures.com/" target="_blank"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/googleventure.jpg" alt="" title="googleventure" width="580" height="445" class="alignnone size-full wp-image-9093" /></a></p>
<p><a href="http://www.neveandhawk.com/" target="_blank"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/neve.jpg" alt="" title="neve" width="580" height="445" class="alignnone size-full wp-image-9094" /></a></p>
<p>While the rule of thirds can be a very useful tool, it is not necessary to plan your website design around it. Use the philosophy as a guideline or a tool to tweak your design during the finalizing process. Toss an imaginary grid on a new site design and consider making placement changes to items that are close to key spaces on the rule of thirds grid. </p>
<p>More importantly, the rule of thirds can be applied to working with images on your site. Use it to help you better crop and scale images. Remember to keep in mind where the object of each photo falls and what kind of movement or feel it creates.</p>
<p>Successful use of the rule of thirds can create a feel of natural balance, which is often asymmetrical. It can help designers who tend to design with perfect symmetry break out of their comfort zone and try something new, while still maintaining a sense of design order.</p>
<p>Play with using the rule of thirds in different way to bring focus to your site. Consider only vertical (such as Twenty8Twelve) or horizontal thirds. Pick a “third” and use at as a focus throughout your site. Design your homepage by grouping thirds such as Google Ventures, which grouped the first two horizontal thirds for the main image and has a grouping of three images in each third below.</p>
<p><em>Images courtesy of <a href="http://www.flickr.com/photos/alancleaver/2540352695/" target="_blank">Alan Cleaver</a>, <a href="http://www.flickr.com/photos/katerha/5307001887/" target="_blank">katerha</a>, <a href="http://www.flickr.com/photos/jenni40947/5133100985/  " target="_blank">photojenni</a> and <a href="http://www.flickr.com/photos/alanant/3097475740/" target="_blank">Illusive Photography</a>.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://tympanus.net/codrops/2012/05/23/understanding-the-rule-of-thirds-in-web-design/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>Creating an Animated 3D Bouncing Ball with CSS3</title>
		<link>http://tympanus.net/codrops/2012/05/22/creating-an-animated-3d-bouncing-ball-with-css3/</link>
		<comments>http://tympanus.net/codrops/2012/05/22/creating-an-animated-3d-bouncing-ball-with-css3/#comments</comments>
		<pubDate>Tue, 22 May 2012 10:29:08 +0000</pubDate>
		<dc:creator>Daniel Sternlicht</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[animation]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[transition]]></category>

		<guid isPermaLink="false">http://tympanus.net/codrops/?p=9105</guid>
		<description><![CDATA[In this tutorial we'll create an animated 3D bouncing ball using only CSS3 transitions, animations and shadow effects.]]></description>
			<content:encoded><![CDATA[<p><a href="http://tympanus.net/Tutorials/CSS3BouncingBall/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/bouncing-ball.jpg" alt="Creating an Animated 3D Bouncing Ball with CSS3 " title="Creating an Animated 3D Bouncing Ball with CSS3 " width="580" height="315" class="alignnone size-full wp-image-9241" /></a></p>
<p><a class="demo" href="http://tympanus.net/Tutorials/CSS3BouncingBall/">View demo</a> <a class="download" href="http://tympanus.net/Tutorials/CSS3BouncingBall/CSS3BouncingBall.zip">Download source</a></p>
<p>Hi guys! Today we are going to see another great example of how to use <strong>the power of CSS3</strong>. We will start by creating a very cool and realistic 3D ball with pure CSS3 properties, and add a little CSS3 animations for giving the ball a &#8220;bouncing&#8221; effect.</p>
<p><strong>Please note: the result of this tutorial will only work as intended in browsers that support the respective CSS properties.</strong></p>
<h3>The HTML</h3>
<p>Let&#8217;s start with some very basic HTML:</p>
<pre class="brush:html">
&lt;div id="ballWrapper"&gt;
	&lt;div id="ball"&gt;&lt;/div&gt;
	&lt;div id="ballShadow"&gt;&lt;/div&gt;
&lt;/div&gt;
</pre>
<p>What we have here are 3 simple DIV elements. &#8220;<strong>#ballWrapper</strong>&#8221; is the main DIV which wraps the ball. This DIV will determine the ball&#8217;s position and height on the screen. Next, we have the &#8220;<strong>#ball</strong>&#8221; element which is the ball markup, and finally there is the &#8220;<strong>#ballShadow</strong>&#8221; which holds the ball&#8217;s shadow separately from the ball itself.</p>
<div id="bsap_1266918" class="bsarocks bsap_af25dfd2f1908889af7a1aa5f4dcbd9e"></div><div style="clear:both;"></div>
<h3>The CSS</h3>
<p><em>Note that we won&#8217;t be using vendor prefixes in the tutorial. You will, of course, find them in the files.</em></p>
<p>First, we&#8217;ll want to set a basic width and height to our &#8216;#ballWrapper&#8217; DIV. It will help us position it to the center of the screen:</p>
<pre class="brush:css">
#ballWrapper {
	width: 140px;
	height: 300px;
	position: fixed;
	left: 50%;
	top: 50%;
	margin: -150px 0 0 -70px;
}
</pre>
<p>Note that I gave the DIV both top and left position properties of &#8217;50%&#8217;, and a negative top and left margin which is calculated to be exactly half of the original height and width of the DIV. That way we can center the ball on the screen.</p>
<p>Next in line, let&#8217;s give our ball some styles (grow up, it&#8217;s not that funny&#8230; :])</p>
<pre class="brush:css">
#ball {
	width: 140px;
	height: 140px;
	border-radius: 70px;
	background: linear-gradient(top,  rgba(187,187,187,1) 0%,rgba(119,119,119,1) 99%);
	box-shadow: inset 0 -5px 15px rgba(255,255,255,0.4),
				inset -2px -1px 40px rgba(0,0,0,0.4),
				0 0 1px #000;
}
</pre>
<p>We are giving the ball equal width and height and a &#8216;border-radius&#8217; property with a value of &#8217;70px&#8217; (which is half of the original width and height we&#8217;ve set) so it will be a <strong>ball</strong> and not an <strong>oval</strong> shape.</p>
<p>Another thing you&#8217;ll notice is the background. I gave the ball&#8217;s element a linear background and 3 different box shadow levels so it would get the 3D effect. The first box shadow level is for the <strong>dark shadowing</strong> at the bottom of the ball (see image). Then, we have the second level that is responsible for the blurry glow &#8211; again, at the bottom of the ball. Finally the third level is a hardly noticeable blurry shadow behind the contours of the ball.</p>
<p><img class="alignnone size-full wp-image-9165" title="boxshadow-levels" src="http://tympanus.net/codrops/wp-content/uploads/2012/05/boxshadow-levels.png" alt="" /></p>
<p>If you take a look at the ball you&#8217;ll notice that there is another small oval shape on top of the ball that gives it a reflection effect. Here is how I created it:</p>
<pre class="brush:css">
#ball::after {
	content: "";
	width: 80px;
	height: 40px;
	position: absolute;
	left: 30px;
	top: 10px;
	background: linear-gradient(top,  rgba(232,232,232,1) 0%,rgba(232,232,232,1) 1%,rgba(255,255,255,0) 100%);
	border-radius: 40px / 20px;
}
</pre>
<p>I used the CSS pseudo element <strong>::after</strong> and gave it a linear gradient with an opacity. In addition, I&#8217;ve set the border radius to &#8217;40px / 20px&#8217; so it has an oval shape.</p>
<p>Next, let&#8217;s handle the ball&#8217;s shadow:</p>
<pre class="brush:css">
 #ballShadow {
	width: 60px;
	height: 75px;
	position: absolute;
	z-index: 0;
	bottom: 0;
	left: 50%;
	margin-left: -30px;
	background: rgba(20, 20, 20, .1);
	box-shadow: 0px 0 20px 35px rgba(20,20,20,.1);
	border-radius: 30px / 40px;
}
</pre>
<p>Again, I used the same properties for centering the shadow, but this time I pinned it to the bottom of &#8216;#ballWrapper&#8217;. I also added a semi-transparent background to it, a fitting box shadow and a border radius.</p>
<h3>The bouncing animation</h3>
<p>Now let&#8217;s take a look at the fun stuff&#8230;</p>
<p>I&#8217;ll start by adding the animation property to our ball:</p>
<pre class="brush:css">
#ball {
	animation: jump 1s infinite;
}
</pre>
<p>All I did was to define the animation&#8217;s name (<strong>jump</strong>), the animation&#8217;s duration (1 second) and how many times the animation will happen &#8211; in our case we use &#8216;infinite&#8217; which means that it will run forever.</p>
<p>The animation itself:</p>
<pre class="brush:css">
@keyframes jump {
	0% {
		top: 0;
	}
	50% {
		top: 140px;
		height: 140px;
	}
	55% {
		top: 160px;
		height: 120px;
		border-radius: 70px / 60px;
	}
	65% {
		top: 120px;
		height: 140px;
		border-radius: 70px;
	}
	95% {
		top: 0;
	}
	100% {
		top: 0;
	}
}
</pre>
<p>So, basically what I&#8217;m doing here is to play with the &#8216;top&#8217; position property of the ball. Starting from 0, through 160 and back to 0. You&#8217;ll notice that in the middle of the animation I&#8217;m also playing with the &#8216;border-radius&#8217; property &#8211; that way I handle the &#8220;impact&#8221; of the ball on the ground.</p>
<p>And now the ball&#8217;s shadow; first let&#8217;s add the shadow&#8217;s relevant animation property:</p>
<pre class="brush:css">
#ballShadow {
	animation: shrink 1s infinite;
}
</pre>
<p>I used the same values that I used with the ball, only with a different keyframes animation called <strong>shrink</strong> which looks as follows:</p>
<pre class="brush:css">
@-keyframes shrink {
	0% {
		bottom: 0;
		margin-left: -30px;
		width: 60px;
		height: 75px;
		background: rgba(20, 20, 20, .1);
		box-shadow: 0px 0 20px 35px rgba(20,20,20,.1);
		border-radius: 30px / 40px;
	}
	50% {
		bottom: 30px;
		margin-left: -10px;
		width: 20px;
		height: 5px;
		background: rgba(20, 20, 20, .3);
		box-shadow: 0px 0 20px 35px rgba(20,20,20,.3);
		border-radius: 20px / 20px;
	}
	100% {
		bottom: 0;
		margin-left: -30px;
		width: 60px;
		height: 75px;
		background: rgba(20, 20, 20, .1);
		box-shadow: 0px 0 20px 35px rgba(20,20,20,.1);
		border-radius: 30px / 40px;
	}
}
</pre>
<p>In the shadow&#8217;s animation I played with different properties then in the ball&#8217;s animation. In order to give it all a realistic effect when it comes to the ball&#8217;s distance from the floor, I needed to animate the shadow width, height and opacity. While the ball is close to the floor, the shadow needs to be darker and smaller. When the ball jumps up, the shadow should be <strong>lighter</strong> and <strong>bigger</strong>.</p>
<p>Last, but not least, let&#8217;s add the &#8220;click effect&#8221; to the ball which makes it appear as if it moves away from us when we click and hold. To achieve this effect, all we have to use is the &#8216;<strong>:active</strong>&#8216; pseudo-class, add a transition and play with the CSS3 transform &#8216;scale&#8217; property like this:</p>
<pre class="brush:css">
#ballWrapper {
	transform: scale(1);
	transition: all 5s linear 0s;
}

#ballWrapper:active {
	transform: scale(0);
}
</pre>
<p>The transition from a transform value of scale(1) to scale(0) will make it look as if the element is moving away from you.</p>
<p><a class="demo" href="http://tympanus.net/Tutorials/CSS3BouncingBall/">View demo</a> <a class="download" href="http://tympanus.net/Tutorials/CSS3BouncingBall/CSS3BouncingBall.zip">Download source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://tympanus.net/codrops/2012/05/22/creating-an-animated-3d-bouncing-ball-with-css3/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Elegant Themes Giveaway</title>
		<link>http://tympanus.net/codrops/2012/05/21/elegant-themes-giveaway/</link>
		<comments>http://tympanus.net/codrops/2012/05/21/elegant-themes-giveaway/#comments</comments>
		<pubDate>Mon, 21 May 2012 15:27:42 +0000</pubDate>
		<dc:creator>Mary Lou</dc:creator>
				<category><![CDATA[Giveaways]]></category>

		<guid isPermaLink="false">http://tympanus.net/codrops/?p=9193</guid>
		<description><![CDATA[Win one of three memberships for access to all the premium Wordpress themes of Elegant Themes]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-9200" title="Elegant Themes Giveaway" src="http://tympanus.net/codrops/wp-content/uploads/2012/05/ElegantThemesGiveaway.jpg" alt="ElegantThemes Giveaway" width="580" height="315" /></p>
<p><strong><a href="http://www.elegantthemes.com/">Elegant Themes</a> is giving away three free memberships (worth $39) with access to all of their beautiful premium themes!</strong></p>
<h3>About Elegant Themes</h3>
<p>Elegant Themes provides high-quality <a href="http://www.elegantthemes.com/gallery/">WordPress themes</a> that are expertly coded and made compatible with the latest version of WordPress.<br />
There are many reasons for loving Elegant Themes:</p>
<ul>
<li>Cross-browser compatibility guaranteed</li>
<li>Intuitive theme options page gives you control</li>
<li>A focus on support and community</li>
<li>Frequent theme additions and upgrades</li>
</ul>
<p><a href="http://www.elegantthemes.com/"><img class="alignnone size-full wp-image-9201" title="" src="http://tympanus.net/codrops/wp-content/uploads/2012/05/ElegantThemesGiveaway01.jpg" alt="ElegantThemesGiveaway01" width="580" height="315" /></a></p>
<p>Check out their beautiful themes in their <a href="http://www.elegantthemes.com/gallery/">WordPress Themes Gallery</a>.</p>
<h3>How to enter</h3>
<p>All you have to do to get a chance to win is to leave a comment below. You can also tweet about it or share it.</p>
<p><strong>Good Luck!</strong></p>
<p><em>This giveaway ended on May 28, 2012 at 10 p.m. GMT+0.</em></p>
<h3>The Winners</h3>
<p>We are happy to announce the following winners of the giveaway:</p>
<ul>
<li><a href="http://tympanus.net/codrops/2012/05/21/elegant-themes-giveaway/comment-page-16/#comment-420638">Kyle</a></li>
<li><a href="http://tympanus.net/codrops/2012/05/21/elegant-themes-giveaway/comment-page-7/#comment-420345">Monk</a></li>
<li><a href="http://tympanus.net/codrops/2012/05/21/elegant-themes-giveaway/comment-page-2/#comment-420239">Ann</a></li>
</ul>
<p>Congratulations, you will be contacted shortly!</p>
<p><strong>Thank you for participating!</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://tympanus.net/codrops/2012/05/21/elegant-themes-giveaway/feed/</wfw:commentRss>
		<slash:comments>332</slash:comments>
		</item>
		<item>
		<title>Animated 3D Bar Chart with CSS3</title>
		<link>http://tympanus.net/codrops/2012/05/21/animated-3d-bar-chart-with-css3/</link>
		<comments>http://tympanus.net/codrops/2012/05/21/animated-3d-bar-chart-with-css3/#comments</comments>
		<pubDate>Mon, 21 May 2012 09:37:38 +0000</pubDate>
		<dc:creator>Sergey Lukin</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[chart]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[pseudo-class]]></category>

		<guid isPermaLink="false">http://tympanus.net/codrops/?p=8894</guid>
		<description><![CDATA[A tutorial on how to create an animated 3d bar chart using CSS only. ]]></description>
			<content:encoded><![CDATA[<p><a href="http://tympanus.net/Tutorials/Animated3DBarChart/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/3dBarChart.jpg" alt="Animated 3D Bar Chart with CSS3" title="Animated 3D Bar Chart with CSS3" width="580" height="315" class="alignnone size-full wp-image-9188" /></a></p>
<p><a class="demo" href="http://tympanus.net/Tutorials/Animated3DBarChart/">View demo</a> <a class="download" href="http://tympanus.net/Tutorials/Animated3DBarChart/Animated3DBarChart.zip">Download source</a></p>
<p>It all began with a small experiment that was inspired by a <a title="Tutorial from Nettuts+" href="http://net.tutsplus.com/tutorials/javascript-ajax/create-an-animated-3d-bar-chartgraph/">tutorial from Nettuts+</a> which shows a way how to embed a 3D bar chart into HTML pages using CSS, images and JavaScript. After reading the tutorial I challenged myself to turn this idea into pure CSS and see how far I can take it. The initial challenge was to create a classic semi-transparent 3D box with 6 sides. The final challenge was to create a complete 3D bar chart which we will create in this tutorial.</p>
<p>You can check out what I have done before <a href="http://sergeylukin.com/css-3d-bar-graph/">here</a>.</p>
<div class="ct-special-box"><strong>Please note: the result of this tutorial will only work as intended in browsers that support the respective CSS properties.</strong></div>
<p>Let&#8217;s write down some key requirements. The chart should be</p>
<ul>
<li>background-independent</li>
<li>adaptive (independent of the number of bars)</li>
<li>scalable (just like vector graphics)</li>
<li>easily customizable (colors, sizes and proportions)</li>
</ul>
<p>The planning phase is the most important part of any project. So let&#8217;s make a plan.</p>
<p>Before actually coding, I usually write down all potential challenges with solutions I can think of in a specific project and repeat this process until I get something that looks like a strategy that can be executed. Here is the list of challenges with solutions I came up with for this project:</p>
<div id="bsap_1266918" class="bsarocks bsap_af25dfd2f1908889af7a1aa5f4dcbd9e"></div><div style="clear:both;"></div>
<h4>Challenge #1 &#8211; A bar with movable inner block</h4>
<p><strong>What we know:</strong></p>
<ul>
<li>A bar should be represented as 3D box consisting of 6 sides</li>
<li>Inner block should be vertically movable in motion. There should be an option to hide the block.</li>
</ul>
<p><strong>What we&#8217;ll need:</strong></p>
<ul>
<li>1 div for back casing consisting of 3 sides (back side, bottom side, left side)</li>
<li>1 div for front casing consisting of 3 sides (front side, top side, right side)</li>
<li>1 div for inner block consisting of 3 sides exactly as Front casing but with lower z-index</li>
<li>1 div container to position all three pieces relatively and apply a solid background patch in the bottom right corner</li>
<li>1 div container with <em>overflow: hidden</em> to hide the inner block under the bar when it goes down to zero</li>
</ul>
<p><strong>That makes a total of 5 divs.</strong></p>
<p>You may wonder why would we need two containers? Well, it may be a tricky part but I will try to explain.<br />
We need at least one container per bar (to hold front casing, back casing and inner block relatively to it). We know that our bar should be scalable, so we use percentages to manipulate the bar&#8217;s fill value, which requires our container&#8217;s height to be equal to the height of one of the bar&#8217;s sides.</p>
<p>Seems fine, but wait, looks like there is another problem &#8211; there should be an option to hide the inner block in motion, which means it should go &#8220;below the bar&#8221; and be hidden there. You may say we have a solution for that &#8211; <em>overflow: hidden</em>, right? Yes, but not for that container as its height is shorter than the actual height of the bar. That is why we add another container over it and apply <em>overflow: hidden</em> to it.<br />
Hope this makes sense. Let&#8217;s move on.</p>
<h4>Challenge #2 &#8211; The Graph Holder</h4>
<p><strong>The graph holder should</strong></p>
<ul>
<li>be represented in 3D with axes and with 3 sides (background, bottom, left)</li>
<li>be background-independent</li>
<li>be adaptive to the number of bars and their attributes (height, width etc.)</li>
<li>have X and Y axis labels from outside</li>
</ul>
<p><strong>What we&#8217;ll need:</strong></p>
<ul>
<li>1 unordered list</li>
<li>1 element inside each list item for the X axis labels</li>
<li>1 bar inside each list item</li>
<li>1 list item with an unordered list inside it for the Y axis labels</li>
</ul>
<p>Hmm, unordered list? Isn&#8217;t it more semantic to use a definition list for a bar chart? Well, it is probably more semantic, but we can&#8217;t use it because we have to wrap every bar and its own X axis label in one container in order to position them relatively.</p>
<p>All right, but why wouldn&#8217;t we use a list item instead of the bar&#8217;s second container then? Well, we can&#8217;t do that because we have to place the X axis labels outside the graph and since we know that the bar&#8217;s second container hides any content that overflows it, we will use list items just to make sure all elements are positioned properly.</p>
<h3>The Implementation</h3>
<p>Now that we have a strategy, let&#8217;s convert it into code.</p>
<p><em>Please note that no vendor prefixes will be used in this tutorial. You can, of course, find them in the CSS files of the demo.</em></p>
<h4>Challenge #1 &#8211; A bar with movable inner block</h4>
<pre class="brush:html">&lt;div class="bar-wrapper"&gt;
  &lt;div class="bar-container"&gt;
    &lt;div class="bar-background"&gt;&lt;/div&gt;
    &lt;div class="bar-inner"&gt;50&lt;/div&gt;
    &lt;div class="bar-foreground"&gt;&lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;</pre>
<p>Let&#8217;s go over the purpose of each element once again:</p>
<ul>
<li><em>bar-wrapper</em> &#8211; hides .bar-inner when it slides down below the bar</li>
<li><em>bar-container</em> &#8211; positions .bar-foreground, .bar-inner, .bar-foreground relatively and places patch for background in a bottom corner</li>
<li><em>bar-background</em> &#8211; creates 3 sides of casing: back, bottom, left</li>
<li><em>bar-inner</em> &#8211; the most important part probably &#8211; inner block</li>
<li><em>bar-foreground</em> &#8211; creates 3 sides of casing: front, top, right</li>
</ul>
<p>First, let&#8217;s style the containers.</p>
<pre class="brush:css">
/* Bar wrapper - hides the inner bar when it goes below the bar, required */
.bar-wrapper {
  overflow: hidden;
}
/* Bar container - this guy is a real parent of a bar's parts - they all are positioned relative to him */
.bar-container {
  position: relative;
  margin-top: 2.5em; /* should be at least equal to the top offset of background casing */
                     /* because back casing is positioned higher than actual bar */
  width: 12.5em; /* required, we have to define the width of a bar */
}
/* right bottom patch - make sure inner bar's right bottom corner is "cut" when it slides down */
.bar-container:before {
  content: "";
  position: absolute;
  z-index: 3; /* to be above .bar-inner */

  bottom: 0;
  right: 0;

  /* Use bottom border to shape triangle */
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 2.5em 2.5em;
  border-color: transparent transparent rgba(183,183,183,1);
}</pre>
<p>Note that we set <em>.bar-container</em>&#8216;s width to 12.5em. This number is a sum of the bar&#8217;s front and right sides widths &#8211; in our example it&#8217;s 10 + 2.5 = 12.5</p>
<p>We also use borders to shape the triangle and place it in the bottom right corner of <em>.bar-container</em> to make sure the inner bar&#8217;s side is &#8220;cut&#8221; when it moves vertically. We use the :before pseudo class to generate this element; we will use :before and :after pseudo classes a lot in this tutorial.</p>
<p>Now let&#8217;s style the back casing:</p>
<pre class="brush:css">
/* Back panel */
.bar-background {
  width: 10em;
  height: 100%;
  position: absolute;
  top: -2.5em;
  left: 2.5em;
  z-index: 1; /* just for reference */
}

.bar-background:before,
.bar-background:after {
  content: "";
  position: absolute;
}

/* Bottom panel */
.bar-background:before {
  bottom: -2.5em;
  right: 1.25em;
  width: 10em;
  height: 2.5em;
  transform: skew(-45deg);
}

/* Left back panel */
.bar-background:after {
  top: 1.25em;
  right: 10em;
  width: 2.5em;
  height: 100%;

  /* skew only the Y-axis */
  transform: skew(0deg, -45deg);
}</pre>
<p>As you can see we move the casing 2.5em up and right. And sure enough, we skew the left and bottom sides 45 degrees. Notice that we set the first skew value to 0deg, and the second one to -45deg which allows us to skew this element vertically.</p>
<p>It&#8217;s time to style the front casing.</p>
<pre class="brush:css">
/* Front panel */
.bar-foreground {
    z-index: 3; /* be above .bar-background and .bar-inner */
}
.bar-foreground,
.bar-inner {
  position: absolute;
  width: 10em;
  height: 100%;
  top: 0;
  left: 0;
}

.bar-foreground:before,
.bar-foreground:after,
.bar-inner:before,
.bar-inner:after {
  content: "";
  position: absolute;
}

/* Right front panel */
.bar-foreground:before,
.bar-inner:before {
  top: -1.25em;
  right: -2.5em;
  width: 2.5em;
  height: 100%;
  background-color: rgba(160, 160, 160, .27);

  transform: skew(0deg, -45deg);
}

/* Top front panel */
.bar-foreground:after,
.bar-inner:after {
  top: -2.5em;
  right: -1.25em;
  width: 100%;
  height: 2.5em;
  background-color: rgba(160, 160, 160, .2);

  transform: skew(-45deg);
}</pre>
<p>Nothing new here, everything is the same as in the back casing styles, we just use different directions.<br />
The good part is that we applied those styles to both front casing and the inner block. Why not? They are exactly the same thing in terms of their shape.</p>
<p>All right, and now the styles for the inner block that we have not yet applied.</p>
<pre class="brush:css">
.bar-inner {
  z-index: 2; /* to be above .bar-background */
  top: auto; /* reset position top */
  background-color: rgba(5, 62, 123, .6);
  height: 0;
  bottom: -2.5em;
  color: transparent; /* hide text values */

  transition: height 1s linear, bottom 1s linear;
}

/* Right panel */
.bar-inner:before {
  background-color: rgba(5, 62, 123, .6);
}

/* Top panel */
.bar-inner:after {
  background-color: rgba(47, 83, 122, .7);
}</pre>
<p>Great! The bars are all set. Let&#8217;s move on to the graph holder.</p>
<h4>Challenge #2 &#8211; The Graph Holder (with axis labels)</h4>
<pre class="brush:html">&lt;ul class="graph-container"&gt;
  &lt;li&gt;
    &lt;span&gt;2011&lt;/span&gt;
    &lt;-- HTML markup of a bar goes here --&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;span&gt;2012&lt;/span&gt;
    &lt;-- HTML markup of a bar goes here --&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;ul class="graph-marker-container"&gt;
      &lt;li&gt;&lt;span&gt;25%&lt;/span&gt;&lt;/li&gt;
      &lt;li&gt;&lt;span&gt;50%&lt;/span&gt;&lt;/li&gt;
      &lt;li&gt;&lt;span&gt;75%&lt;/span&gt;&lt;/li&gt;
      &lt;li&gt;&lt;span&gt;100%&lt;/span&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;</pre>
<p>As you can see we use an unordered list and span elements inside the items to position the X- and Y- axis labels.</p>
<pre class="brush:css">
/** Graph Holder container **/
.graph-container {
  position: relative; /* required Y axis stuff, Graph Holder's left and bottom sides to be positions properly */
  display: inline-block; /* display: table may also work.. */
  padding: 0; /* let the bars position themselves */
  list-style: none; /* we don't want to see any default &lt;ul&gt; markers */

  /* Graph Holder's Background */
  background-image: linear-gradient(left , rgba(255, 255, 255, .3) 100%, transparent 100%);
  background-repeat: no-repeat;
  background-position: 0 -2.5em;
}</pre>
<p>The tricky part here is the background. We use a linear gradient to fill the graph container and lift it up by 2.5em. Why? Because our graph holder&#8217;s bottom side (which we will style next) is 2.5em high and is skewed by 45 degrees so there is an empty space in the right bottom corner. </p>
<p>Let&#8217;s style the bottom side now.</p>
<pre class="brush:css">
/* Graph Holder bottom side */
.graph-container:before {
  position: absolute;
  content: "";

  bottom: 0;
  left: -1.25em; /* skew pushes it left, so we move it a bit in opposite direction */

  width: 100%; /* make sure it is as wide as the whole graph */

  height: 2.5em;
  background-color: rgba(183, 183, 183, 1);

  /* Make it look as if in perspective */
  transform: skew(-45deg);
}</pre>
<p>We skew it by 45 degrees and move it a bit to the left just to make sure it is positioned properly. We gave it 50% width just to make sure it fills the gap before the first bar, then, every bar will continue drawing this line (we will do it shortly).</p>
<p>Now let&#8217;s style left the side of our graph holder:</p>
<pre class="brush:css">/* Graph Holder left side*/
.graph-container:after {
  position: absolute;
  content: "";

  top: 1.25em; /* skew pushes it up so we move it down a bit */
  left: 0em;

  width: 2.5em;
  background-color: rgba(28, 29, 30, .4);

  /* Make it look as if in perspective */
  transform: skew(0deg, -45deg);
}</pre>
<p>Nothing special here. Just skewed the element by 45 degrees as usual and pushed it down a bit in order to position it properly.</p>
<p>We&#8217;re done with the graph holder. Now let&#8217;s add some magic to the list items that hold our bars:</p>
<pre class="brush:css">/* Bars and X-axis labels holder */
.graph-container &gt; li {
  float: left; /* Make sure bars are aligned one next to another*/
  position: relative; /* Make sure X-axis labels are positioned relatively to this element */
}
/* A small hack to make Graph Holder's background side be wide enough
   ...because our bottom side is skewed and pushed to the right, we have to compensate it in the graph holder's background */
.graph-container &gt; li:nth-last-child(2) {
  margin-right: 2.5em;
}
/* X-axis labels */
.graph-container &gt; li &gt; span {
  position: absolute;
  left: 0;
  bottom: -2em;
  width: 80%; /* play with this one if you change perspective depth */
  text-align: center;

  font-size: 1.5em;
  color: rgba(200, 200, 200, .4);
}
</pre>
<p>A few things happened here. First of all, we float our bars next to each other. Usually, I&#8217;m trying to be very careful with using floats, but in this case it fits perfectly in my opinion.</p>
<p>Secondly, we add some right margin to the last bar. That way we make sure we give enough space to the graph holder&#8217;s bottom side to show up in the right bottom corner. Try to remove it and you will see what I mean.</p>
<p>OK, we&#8217;re almost there. The last thing left is to add Y-axis markers..</p>
<pre class="brush:css">
/* Markers container */
.graph-container &gt; li:last-child {
  width: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
}

/* Y-axis Markers list */
.graph-marker-container &gt; li {
  position: absolute;
  left: -2.5em;
  bottom: 0;
  width: 100%;
  margin-bottom: 2.5em;
  list-style: none;
}

/* Y-axis lines general styles */
.graph-marker-container &gt; li:before,
.graph-marker-container &gt; li:after {
  content: "";
  position: absolute;
  border-style: none none dotted;
  border-color: rgba(100, 100, 100, .15);
  border-width: 0 0 .15em;
  background: rgba(133, 133, 133, .15);
}

/* Y-axis Side line */
.graph-marker-container &gt; li:before {
  width: 3.55em;
  height: 0;
  bottom: -1.22em;
  left: -.55em;
  z-index: 2; /* be above .graph-container:after */
  transform: rotate(-45deg);
}

/* Y-axis Background line */
.graph-marker-container li:after {
  width: 100%;
  bottom: 0;
  left: 2.5em;
}

/* Y-axis text Label */
.graph-marker-container span {
  color: rgba(200, 200, 200, .4);
  position: absolute;

  top: 1em;
  left: -3.5em; /* just to push it away from the graph.. */
  width: 3.5em; /* give it absolute value of left offset */

  font-size: 1.5em;
}</pre>
<p>As you can see, we set 100% width to our markers holder in order to be able to draw throughout the whole graph, use a dotted border to style our Y-axis lines and position the span element so that the Y-axis label is outside of the graph. With the help of :before and :after we could keep our HTML pretty clean.</p>
<p>Well, we finished setting up all the styles for our graph, however we didn&#8217;t set some vital variables &#8211; sizes, colors and bars fill values! We said that our graph will be customizable, right? So, I decided not to mix variables with the rest of the code so that you can play with them..</p>
<pre class="brush:css">
/****************
 * SIZES        *
 ****************/
 /* Size of the Graph */
.graph-container,
.bar-container {
  font-size: 8px;
}
/* Height of Bars */
.bar-container,
.graph-container:after,
.graph-container &gt; li:last-child {
  height: 40em;
}

/****************
 * SPACING      *
 ****************/
/* spacing between bars */
.graph-container &gt; li .bar-container {
  margin-right: 1.5em;
}
/* spacing before first bar */
.graph-container &gt; li:first-child {
  margin-left: 1.5em;
}
/* spacing after last bar */
.graph-container &gt; li:nth-last-child(2) .bar-container {
  margin-right: 1.5em;
}

/****************
 *    Colors    *
 ****************/
/* Bar's Back side */
.bar-background {
  background-color: rgba(160, 160, 160, .1);
}
/* Bar's Bottom side */
.bar-background:before {
  background-color: rgba(160, 160, 160, .2);
}
/* Bar's Left Back side */
.bar-background:after {
  background-color: rgba(160, 160, 160, .05);
}
/* Bar's Front side */
.bar-foreground {
  background-color: rgba(160, 160, 160, .1);
}
/* Bar's inner block */
.bar-inner,
.bar-inner:before { background-color: rgba(5, 62, 123, .6); }
.bar-inner:after { background-color: rgba(47, 83, 122, .7); }

/*************************************
 *   Bars Fill                       *
 * Just an example of filling 3 bars *
 *************************************/
.graph-container &gt; li:nth-child(1) .bar-inner { height: 25%; bottom: 0; }
.graph-container &gt; li:nth-child(2) .bar-inner { height: 50%; bottom: 0; }
.graph-container &gt; li:nth-child(3) .bar-inner { height: 75%; bottom: 0; }</pre>
<p>In the demo provided with this tutorial you will not find this part as it is here, because I did something even more interesting there &#8211; I used radio buttons to let you play with the variables without modifying the code. Feel free to check out its source code. But if you just need to customize a static graph grab the code snippet from above and customize it to your preference.</p>
<h3>Conclusion</h3>
<p>Let&#8217;s go over some featured CSS specifications/techniques we covered in this tutorial. So, we&#8217;ve used</p>
<ul>
<li><strong>transform: skew()</strong> and <strong>transform: rotate()</strong> in order to transform our elements so that together they generate an illusion of a 3D object</li>
<li><strong>:before</strong> and<strong> :after</strong> pseudo classes to generate elements with CSS and keep our HTML markup relatively clean</li>
<li><strong>:nth-last-child()</strong> and <strong>:not</strong> pseudo classes to target specific list items and avoid adding extra classes/ids to the markup</li>
<li><strong>linear-gradient</strong> together with background-position to <em>partially</em> fill an element with a background</li>
<li><strong>rgba()</strong> for colors with alpha-transparency</li>
<li><strong>borders</strong> to create shapes like a triangle</li>
</ul>
<p>I really hope that this tutorial was useful to you. If you have any questions regarding this tutorial, let me know in the comments below.</p>
<div class="ct-github-link">
<a href="https://github.com/sergeylukin/css-3d-bar-graph">Find this project on Github</a>
</div>
<p><a class="demo" href="http://tympanus.net/Tutorials/Animated3DBarChart/">View demo</a> <a class="download" href="http://tympanus.net/Tutorials/Animated3DBarChart/Animated3DBarChart.zip">Download source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://tympanus.net/codrops/2012/05/21/animated-3d-bar-chart-with-css3/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Collective #12</title>
		<link>http://tympanus.net/codrops/collective/collective-12/</link>
		<comments>http://tympanus.net/codrops/collective/collective-12/#comments</comments>
		<pubDate>Sun, 20 May 2012 11:28:42 +0000</pubDate>
		<dc:creator>Mary Lou</dc:creator>
				<category><![CDATA[fonts]]></category>
		<category><![CDATA[inspiration]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[responsive]]></category>

		<guid isPermaLink="false">http://tympanus.net/codrops/?post_type=collective&amp;p=9121</guid>
		<description><![CDATA[Creative Fonts * Standards for Responsive Images * Mobile Web Apps * Calendars and Presentations * CSS and Preprocessing * Cookie Law * PSDs]]></description>
			<content:encoded><![CDATA[<div class="ct-coll-item ct-coll-item-multi ct-coll-item-dribbble">
<nav>
		<a href="#" class="ct-coll-nav-prev">Prev</a><br />
		<a href="#" class="ct-coll-nav-next">Next</a><br />
	</nav>
<article>
<h2>Creative Free Fonts</h2>
<p>		<a class="ct-coll-thumb" href="http://www.behance.net/gallery/Cosmo-Path-Type-Free-Font/3950817"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective12_Font01.jpg" alt="Collective12_Font01" title="" width="330" height="248" class="alignnone size-full wp-image-9136" /></a></p>
<p>Cosmo Path Type by Filiz Sahin</p>
</article>
<article>
<h2>Creative Free Fonts</h2>
<p>		<a class="ct-coll-thumb" href="http://www.behance.net/gallery/Navia-Type-free/3953709"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective12_Font02.jpg" alt="Collective12_Font02" title="" width="330" height="248" class="alignnone size-full wp-image-9137" /></a></p>
<p>Navia Type by 21LAB</p>
</article>
<article>
<h2>Creative Free Fonts</h2>
<p>		<a class="ct-coll-thumb" href="http://thekinetic.co.za/project.php?id=24"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective12_Font03.jpg" alt="Collective12_Font03" title="" width="330" height="248" class="alignnone size-full wp-image-9138" /></a></p>
<p>Stroke Free Font by The Kinetic</p>
</article>
</div>
<div class="ct-coll-item">
<article>
<h2>Responsive Images and Web Standards at the Turning Point</h2>
<p>	   <a class="ct-coll-thumb" href="http://www.alistapart.com/articles/responsive-images-and-web-standards-at-the-turning-point/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective12_12.jpg" alt="Collective12_12" title="" width="323" height="93" class="alignnone size-full wp-image-9134" /></a></p>
<p>A solution on how responsive images can be put into practice is currently being discussed with the WHATWG and like Mat Marquis puts it &#8220;[t]he markup pattern that gets selected stands to have a tremendous influence on how developers build websites in the future. Not just responsive or adaptive websites, either. All websites.&#8221; </p>
<p>	   <a class="ct-coll-link" href="http://www.alistapart.com/articles/responsive-images-and-web-standards-at-the-turning-point/">Read it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>Inspirational Website of the Week</h2>
<p>	   <a class="ct-coll-thumb" href="http://www.urbangap.com/urban12/maggio"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective12_17.jpg" alt="Collective12_17" title="" width="330" height="170" class="alignnone size-full wp-image-9142" /></a></p>
<p>The Urban Gap Web Agency will surprise you with all the animations and effects of the beautiful infographics when you scroll the page of the Urban 12 May Challenge.</p>
<p>	   <a class="ct-coll-link" href="http://www.urbangap.com/urban12/maggio">Take a look</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>Creating a Mobile Web Application with Meta Tags</h2>
<p>	   <a class="ct-coll-thumb" href="http://speckyboy.com/2012/05/16/creating-a-mobile-web-application-with-meta-tags/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective12_03.jpg" alt="Collective12_03" title="" width="300" height="214" class="alignnone size-full wp-image-9125" /></a></p>
<p>Learn about meta tags and how they can be used to turn a website into a webapp. </p>
<p>	   <a class="ct-coll-link" href="http://speckyboy.com/2012/05/16/creating-a-mobile-web-application-with-meta-tags/">Read it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>jQuery Verbose Calendar</h2>
<p>	   <a class="ct-coll-thumb" href="http://iamjpg.github.com/jQuery-Verbose-Calendar/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective12_04.jpg" alt="Collective12_04" title="" width="270" height="157" class="alignnone size-full wp-image-9126" /></a></p>
<p>This calendar is not just another jQuery calendar. It&#8217;s a very different approach to showing and using dates.</p>
<p>	   <a class="ct-coll-link" href="http://iamjpg.github.com/jQuery-Verbose-Calendar/">Check it out</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>Presenteer.js</h2>
<p>	   <a class="ct-coll-thumb" href="http://willemmulder.github.com/Presenteer.js/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective12_02.jpg" alt="Collective12_02" title="" width="170" height="81" class="alignnone size-full wp-image-9124" /></a></p>
<p>If you like Impress.js then you&#8217;ll enjoy Presenteer.js. It&#8217;s a very flexible HTML5 presentation tool that works in one line of code, but is configurable with constructor options and many callbacks.</p>
<p>	   <a class="ct-coll-link" href="http://willemmulder.github.com/Presenteer.js/">Try it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>Freebie Button Pack (PSD)</h2>
<p>	   <a class="ct-coll-thumb" href="http://blog.ninetofive.me/psd-freebies/freebie-button-pack/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective12_18.jpg" alt="Collective12_18" title="" width="300" height="150" class="alignnone size-full wp-image-9147" /></a></p>
<p>A really lovely button pack by Zan from Nine to Five.</p>
<p>	   <a class="ct-coll-link" href="http://blog.ninetofive.me/psd-freebies/freebie-button-pack/">Get it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>Weather Forecast Webapp</h2>
<p>	   <a class="ct-coll-thumb" href="http://tutorialzine.com/2012/05/weather-forecast-geolocation-jquery/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective12_10.jpg" alt="Collective12_10" title="" width="250" height="120" class="alignnone size-full wp-image-9132" /></a></p>
<p>Learn how to use Geolocation and Yahoo’s APIs to build a simple weather webapp.</p>
<p>	   <a class="ct-coll-link" href="http://tutorialzine.com/2012/05/weather-forecast-geolocation-jquery/">Read it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>Keep your CSS selectors short</h2>
<p>	   <a class="ct-coll-thumb" href="http://csswizardry.com/2012/05/keep-your-css-selectors-short/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective12_05.jpg" alt="Collective12_05" title="" width="247" height="91" class="alignnone size-full wp-image-9127" /></a></p>
<p>Harry Roberts writes about how to make CSS selectors as dev-friendly as possible by keeping them short. </p>
<p>	   <a class="ct-coll-link" href="http://csswizardry.com/2012/05/keep-your-css-selectors-short/">Read it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>screenfull.js</h2>
<p>	   <a class="ct-coll-thumb" href="http://sindresorhus.com/screenfull.js/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective12_01.jpg" alt="Collective12_01" title="" width="200" height="135" class="alignnone size-full wp-image-9123" /></a></p>
<p>A simple wrapper for cross-browser usage of the JavaScript Fullscreen API which lets you show a page or any element in fullscreen. The wrapper is useful for overcoming browser implementation differences.</p>
<p>	   <a class="ct-coll-link" href="http://sindresorhus.com/screenfull.js/">Get it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>SASS vs. LESS</h2>
<p>	   <a class="ct-coll-thumb" href="http://css-tricks.com/sass-vs-less/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective12_06.jpg" alt="Collective12_06" title="" width="267" height="159" class="alignnone size-full wp-image-9128" /></a></p>
<p>Chris Coyier explains how and why SASS is his preferred choice when it comes to CSS preprocessor languages.</p>
<p>	   <a class="ct-coll-link" href="http://css-tricks.com/sass-vs-less/">Read it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>The EU Cookie Law – what to do now</h2>
<p>	   <a class="ct-coll-thumb" href="http://boagworld.com/site-content/the-eu-cookie-law-what-to-do-now/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective12_07.jpg" alt="Collective12_07" title="" width="211" height="202" class="alignnone size-full wp-image-9129" /></a></p>
<p>Read this short guide that will help you understand what you have to do on your website in order to comply to the new EU Cookie Law.</p>
<p>	   <a class="ct-coll-link" href="http://boagworld.com/site-content/the-eu-cookie-law-what-to-do-now/">Read it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>CSS Image Replacement for Retina Display Devices</h2>
<p>	   <a class="ct-coll-thumb" href="http://www.noupe.com/design/the-mobile-web-css-image-replacement-for-retina-display-devices.html"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective12_08.jpg" alt="Collective12_08" title="" width="250" height="140" class="alignnone size-full wp-image-9130" /></a></p>
<p>Learn about CSS Image Replacement Techniques and how to apply them in you mobile website project.</p>
<p>	   <a class="ct-coll-link" href="http://www.noupe.com/design/the-mobile-web-css-image-replacement-for-retina-display-devices.html">Read it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>Cookie Control</h2>
<p>	   <a class="ct-coll-thumb" href="http://www.civicuk.com/cookie-law/index"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective12_09.jpg" alt="Collective12_09" title="" width="235" height="178" class="alignnone size-full wp-image-9131" /></a></p>
<p>Cookie Control enables you to comply with UK and EU law on cookies by obtaining a user&#8217;s explicit consent for the use of cookies on their computer. There are several plugins available (WordPress, Drupal, Magento) and you can customize it to your needs.</p>
<p>	   <a class="ct-coll-link" href="http://www.civicuk.com/cookie-law/index">Get it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>jQuery Knob</h2>
<p>	   <a class="ct-coll-thumb" href="http://anthonyterrien.com/knob/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective12_11.jpg" alt="Collective12_11" title="" width="130" height="119" class="alignnone size-full wp-image-9133" /></a></p>
<p>A slick downward compatible, touchable, jQuery dial.</p>
<p>	   <a class="ct-coll-link" href="http://anthonyterrien.com/knob/">Get it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>The Story of Send</h2>
<p>	   <a class="ct-coll-thumb" href="http://www.google.com/green/storyofsend/desktop/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective12_14.jpg" alt="Collective12_14" title="" width="330" height="192" class="alignnone size-full wp-image-9139" /></a></p>
<p>Ever wondered what happens when you click the &#8220;Send&#8221; button in Gmail? Well, now you can take this visually stunning journey and understand what happens to your message.</p>
<p>	   <a class="ct-coll-link" href="http://www.google.com/green/storyofsend/desktop/">Check it out</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>HTML Shell</h2>
<p>	   <a class="ct-coll-thumb" href="http://htmlshell.com/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective12_15.jpg" alt="Collective12_15" title="" width="300" height="136" class="alignnone size-full wp-image-9140" /></a></p>
<p>HTML Shell is a custom boilerplate HTML5 markup generator. No more time wasted in copy pasting all those lines, now you can simply configure and generate it.</p>
<p>	   <a class="ct-coll-link" href="http://htmlshell.com/">Try it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>HTML5 adaptive images: end of round one</h2>
<p>	   <a class="ct-coll-thumb" href="http://html5doctor.com/html5-adaptive-images-end-of-round-one/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective12_16.jpg" alt="Collective12_16" title="" width="200" height="121" class="alignnone size-full wp-image-9141" /></a></p>
<p>More about the responsive images solution proposal and the differences between &lt;picture&gt; and srcset.</p>
<p>	   <a class="ct-coll-link" href="http://html5doctor.com/html5-adaptive-images-end-of-round-one/">Read it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>Twitter Bootstrap Button Generator</h2>
<p>	   <a class="ct-coll-thumb" href="http://www.plugolabs.com/twitter-bootstrap-button-generator/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective12_13.jpg" alt="Collective12_13" title="" width="290" height="222" class="alignnone size-full wp-image-9135" /></a></p>
<p>If you are using Twitter Bootstrap you will love this little generator that let&#8217;s you create the markup for a custom button.</p>
<p>	   <a class="ct-coll-link" href="http://www.plugolabs.com/twitter-bootstrap-button-generator/">Try it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>Complexify</h2>
<p>Dan Palmer created this jQuery plugin that checks password sensibly, with an improved way of indicating password strength. It calculates a rating for the password based on how difficult it would be to brute-force it. </p>
<p>	   <a class="ct-coll-link" href="https://github.com/danpalmer/jquery.complexify.js">Get it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>World Map &#038; Pin (PSD)</h2>
<p>	   <a class="ct-coll-thumb" href="http://www.premiumpixels.com/freebies/world-map-pin-psd/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective12_19.jpg" alt="Collective12_19" title="" width="300" height="176" class="alignnone size-full wp-image-9146" /></a></p>
<p>Thom van der Weerd designed this beautiful freebie for Premium Pixels.</p>
<p>	   <a class="ct-coll-link" href="http://www.premiumpixels.com/freebies/world-map-pin-psd/">Try it</a><br />
   </article>
</div>
]]></content:encoded>
			<wfw:commentRss>http://tympanus.net/codrops/collective/collective-12/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Making Room to Breathe: Wrapping Text Around Elements</title>
		<link>http://tympanus.net/codrops/2012/05/15/making-room-to-breathe-wrapping-text-around-elements/</link>
		<comments>http://tympanus.net/codrops/2012/05/15/making-room-to-breathe-wrapping-text-around-elements/#comments</comments>
		<pubDate>Tue, 15 May 2012 12:52:07 +0000</pubDate>
		<dc:creator>Carrie Cousins</dc:creator>
				<category><![CDATA[Web Design]]></category>
		<category><![CDATA[images]]></category>
		<category><![CDATA[text]]></category>
		<category><![CDATA[typography]]></category>
		<category><![CDATA[website]]></category>

		<guid isPermaLink="false">http://tympanus.net/codrops/?p=9044</guid>
		<description><![CDATA[Text wrap can be a useful tool when embedding images into blocks of text and when used properly can add to your site’s readability.]]></description>
			<content:encoded><![CDATA[<p><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Wrapping.jpg" alt="Making Room to Breathe: Wrapping Text Around Elements" title="Making Room to Breathe: Wrapping Text Around Elements" width="580" height="315" class="alignnone size-full wp-image-9086" /></p>
<p>I constantly look through websites and wonder why designers allow text and images to get a little too close. Why don’t the elements have room to breathe?</p>
<p>That’s where text- or word-wrapping comes in. Adding space above, below and to the sides of an object embedded in text can make a lot of difference in terms of overall look of your site and even readability.</p>
<h3>Wrapping Benefits</h3>
<p><a href="http://animaladay.blogspot.com/" target="_blank"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/animal.jpg" alt="" title="animal" width="580" height="355" class="alignnone size-full wp-image-9045" /></a></p>
<p><a href="http://sillynate.blogspot.com/" target="_blank"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/sillynate.jpg" alt="" title="sillynate" width="580" height="475" class="alignnone size-full wp-image-9054" /></a></p>
<p>The No. 1 reason to use text wrapping settings for images that touch text is to aid readability. The addition of white space around images gives text a cushion, making it easier on the eye. </p>
<p>Depending on your specs, text wrap can also add emphasis to images as well. By separating text and images both will more clearly stand out. </p>
<p>Whether text wrapping is even necessary depends on how your site is constructed. Blogs using a wide columnar design commonly use small photos embedded in text and rely on text wrap settings to make images and text work together. Many sites though have a modular construction that almost makes text wrap unnecessary because text and images are almost exclusively stacked and rarely appear side-by-side.</p>
<h3>How Much Wrap?</h3>
<p><a href="https://wantful.com/" target="_blank"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/wantful.jpg" alt="" title="wantful" width="580" height="317" class="alignnone size-full wp-image-9056" /></a></p>
<p><a href="http://www.secondstory.com/" target="_blank"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/secondstory.jpg" alt="" title="secondstory" width="580" height="283" class="alignnone size-full wp-image-9053" /></a></p>
<p>How much wrap to put around an image is a little trickier. Blogging sites and software (such as WordPress and Blogger) often have a set of defaults that will wrap text for you. The wrap specs correspond to the style template you select when you set up the blog.</p>
<p>These text wrap styles tend to be somewhat tight but typically work effectively for the blog-format. Standard text wraps typically allow for 5 or 6 pixels of space all the way around an image. Personally, this is a little tight for my taste. For a super clean text wrap style consider wrapping text so that the vertical space on either side of an image is equal to the horizontal space above and below the image. You can accomplish this by setting the text wrap specs to mirror the leading of the body copy.</p>
<p>Photo and text alignment can impact the look of text wrap as well. Wrap will always seem more consistent and intentional when it falls next to text that is justified (so that all lines start/stop at the same place. Wrap will appear looser when it falls alongside ragged text.</p>
<h3>Types of Wraps</h3>
<p><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/nowrap.jpg" alt="" title="nowrap" width="580" height="285" class="alignnone size-full wp-image-9052" /></p>
<p><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/squarewrap.jpg" alt="" title="squarewrap" width="580" height="285" class="alignnone size-full wp-image-9055" /></p>
<p><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/halowrap.jpg" alt="" title="halowrap" width="580" height="285" class="alignnone size-full wp-image-9048" /></p>
<p><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/jumpwrap.jpg" alt="" title="jumpwrap" width="580" height="285" class="alignnone size-full wp-image-9050" /></p>
<p>Text wrap typically appears in one of three ways – as a square-shaped box around an image, an oddly-shaped halo around an image to match the contours of the image (for non-square images) or as a wrap that knocks out all of the lines around an image (jump text wrap).</p>
<p><a href="http://weareimpero.com/" target="_blank"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/impero-1.jpg" alt="" title="impero-1" width="580" height="353" class="alignnone size-full wp-image-9049" /></a></p>
<p>Text wrap can occur outside of an object – to keep text from touching the borders of another frame – or inside of an object. Inside text wraps keep text contained within a frame, such as the text inside the black shape on the Impero site.</p>
<h3>Wrap Scenarios to Avoid</h3>
<p><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/cleanwrap.jpg" alt="" title="cleanwrap" width="580" height="285" class="alignnone size-full wp-image-9046" /></p>
<p><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/messywrap.jpg" alt="" title="messywrap" width="580" height="285" class="alignnone size-full wp-image-9051" /></p>
<p>Text wrap can cause readability issues if the wrap causes text to break poorly. Watch for very thin columns of text next to a wrap. You may want to rethink your photo size or placement if the wrap causes excessive hyphenation (aim for hyphens no more frequently than at the end of every three lines) or blank lines of text. (This happens when words can’t fit in the space left after the wrap is applied.)</p>
<p>Photo placement can also case wrapping concerns. Avoid having lots of jagged wraps throughout your page. Varying wrap widths and photo sizes can make for a jarring design. Instead, group many small images together and use a single wrap or use photos with equally-sized frames.</p>
<p>Consider alignment as well. Images and text wrap will appear more uniform if all of the images are placed in the same manner – to the left, center or right side of the text block. Centered images can be tough to wrap around because text will often break oddly around the object. Also using a left-aligned image and close to a right-aligned image can create an odd, difficult-to-read block of text squeezed between the images.</p>
<h3>Code</h3>
<p>When creating your own styles sheets, you might consider developing your own text wrap specs. You can apply classes that will create the desired alignment and spacing.</p>
<pre class="brush:html">
&lt;img src="images/flower.jpg" alt="A yellow rose" class="my-align-class" /&gt;
</pre>
<p>Where <strong>my-align-class</strong> could be one of the following:</p>
<pre class="brush:css">
.align_left {
	float: left;
	margin-right: 1em;
	margin-bottom: 1em;
}

.align_right {
	float: right;
	margin-left: 1em;
	margin-bottom: 1em;
}

.align_center {
	display: block;
	margin-left: auto;
	margin-right: auto;
}
</pre>
<p>For wrapping text around non-rectangular shapes, you can take a look at the following tools/techniques:</p>
<ul>
<li><a href="http://www.csstextwrap.com/">CSS Text Wrapper: Generate HTML/CSS to wrap content to any shape or curve</a></li>
<li><a href="http://www.torylawson.com/index.php?title=CSS_-_Wrapping_text_around_non-rectangular_shapes">CSS &#8211; Wrapping text around non-rectangular shapes</a></li>
</ul>
<h3>Conclusion</h3>
<p>Text wrap is a great thing to keep in your design toolbox. In particular, it works great on sites that have large blocks of text with small images scattered throughout.</p>
<p>But don’t just rely on a template for wrap settings. Play with the code and add more space (or even take away a few pixels) to create a style that works best for your site.</p>
<p>Consider alternatives to wrapping text. Instead of dropping an image into the text, let the image float above it (look at how the images and text wrap on this site).</p>
<p>Text wraps can be tricky. Successful wrapping depends on the size of image, size of text and with of column where everything lives. Make sure your wrap passes the eye test and text is easier, not more difficult to read, with the addition of a text wrap. </p>
<p><em>Images courtesy of <a href="http://www.flickr.com/photos/shine2002/3928026019/" target="_blank">soa2002</a> and <a href="http://www.flickr.com/photos/frankjuarez/461208642/" target="_blank">frankjuarez</a>.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://tympanus.net/codrops/2012/05/15/making-room-to-breathe-wrapping-text-around-elements/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Annotation Overlay Effect with CSS3</title>
		<link>http://tympanus.net/codrops/2012/05/14/annotation-overlay-effect-with-css3/</link>
		<comments>http://tympanus.net/codrops/2012/05/14/annotation-overlay-effect-with-css3/#comments</comments>
		<pubDate>Mon, 14 May 2012 13:05:10 +0000</pubDate>
		<dc:creator>Mary Lou</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[overlay]]></category>
		<category><![CDATA[pseudo-class]]></category>
		<category><![CDATA[sibling combinator]]></category>
		<category><![CDATA[transition]]></category>

		<guid isPermaLink="false">http://tympanus.net/codrops/?p=9029</guid>
		<description><![CDATA[A tutorial about how to create an overlay effect to show some more details of an item or image. The effect is CSS-only and uses a combination of the :checked pseudo-class with the sibling combinator.]]></description>
			<content:encoded><![CDATA[<p><a href="http://tympanus.net/Tutorials/CSS3AnnotationOverlayEffect/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/AnnotationOverlayEffectwithCSS3.jpg" alt="Annotation Overlay Effect with CSS3" title="Annotation Overlay Effect with CSS3" width="580" height="315" class="alignnone size-full wp-image-9038" /></a></p>
<p><a class="demo" href="http://tympanus.net/Tutorials/CSS3AnnotationOverlayEffect/">View demo</a> <a class="download" href="http://tympanus.net/Tutorials/CSS3AnnotationOverlayEffect/CSS3AnnotationOverlayEffect.zip">Download source</a></p>
<p>In this tutorial we&#8217;ll create a little overlay effect with CSS using a combination of the <strong>:checked pseudo-class</strong> with <strong>sibling combinators</strong>. The idea is to make an image or element clickable and transition to an overlay-like state that will show us some annotation boxes. </p>
<p>The theme preview images used in this tutorial are by talented <a href="http://www.anariel.com/">Ana Segota</a> and you can <a href="http://themeforest.net/user/anariel7">purchase her themes and templates here</a>. </p>
<p>The beautiful arrow icons are by <a href="http://www.alessioatzeni.com/">Alessio Atzeni</a> and you can find them <a href="http://www.alessioatzeni.com/blog/simple-arrows-psd/">here</a>.</p>
<div class="ct-special-box"><strong>Please note: the result of this tutorial will only work as intended in browsers that support the respective CSS properties.</strong></div>
<h3>The Markup</h3>
<p>Our structure will consist of a part for some title and description, and a preview part. The preview part will have the overlay effect. The idea is to add a checkbox, an image and a division for the annotations, containing spans. The trick is to actually put the checkbox <em>on top of</em> the other elements, so that it remains clickable. It needs to stay first in the structure though because we want to be able &#8220;to reach&#8221; its siblings, the image and the annotations division: </p>
<pre class="brush:xml">
&lt;div class="ao-item"&gt;
	&lt;div class="ao-details"&gt;
		&lt;h2&gt;Some title&lt;/h2&gt;
		&lt;p&gt;Some description&lt;/p&gt;
	&lt;/div&gt;
	&lt;div class="ao-preview"&gt;
		&lt;input type="checkbox" id="ao-toggle" class="ao-toggle" name="ao-toggle" /&gt;
		&lt;img src="images/image01.jpg" alt="image01" /&gt;
		&lt;div class="ao-annotations"&gt;
			&lt;span&gt;Full Localisation Support&lt;/span&gt;
			&lt;span&gt;Custom Image Widget&lt;/span&gt;
			&lt;span&gt;Blog and Contact Widgets&lt;/span&gt;
			&lt;span&gt;Easy Theme Options&lt;/span&gt;
			&lt;span&gt;4 Footer Widget Columns&lt;/span&gt;
		&lt;/div&gt;
	&lt;/div&gt;
&lt;/div&gt;
</pre>
<p>There can be any number of spans. We will position each one individually.<br />
Let&#8217;s take a look at the CSS.</p>
<div id="bsap_1266918" class="bsarocks bsap_af25dfd2f1908889af7a1aa5f4dcbd9e"></div><div style="clear:both;"></div>
<h3>The CSS</h3>
<p><em>Note that we will exclude vendor prefixes. You will of course find them in the files.</em><br />
The division with the class <strong>ao-item</strong> will have a width of 80% because we want the whole thing to be fluid:</p>
<pre class="brush:css">
.ao-item {
	width: 80%;
	margin: 0 auto;
	padding: 35px 0;
	position: relative;
	clear: both;
}
</pre>
<p>The two inner divisions will be floating, so let&#8217;s clear some floats with this <a href="http://css-tricks.com/pseudo-element-roundup/">great technique</a>:</p>
<pre class="brush:css">
.ao-item:before,
.ao-item:after {
    content:"";
    display:table;
}

.ao-item:after {
    clear:both;
}

.ao-item {
    zoom:1; /* For IE 6/7 (trigger hasLayout) */
} /* from CSSTricks: http://css-tricks.com/pseudo-element-roundup/ */
</pre>
<p>Let&#8217;s style the details part with the title and the description. We&#8217;ll make it float right and give it a width of 40%. We&#8217;ll also add a left padding which will not cause us any trouble because we&#8217;ve applied <strong>box-sizing: border-box</strong> to all our elements in the <strong>normalize.css</strong> file. So this will ensure that the division is really 40% wide and the padding is &#8220;inside&#8221; of that and not added to it:</p>
<pre class="brush:css">
.ao-details {
	float: right;
	width: 40%;
	padding-left: 20px;
}
</pre>
<p>Then we&#8217;ll add some styling to the text elements:</p>
<pre class="brush:css">
.ao-details h2 {
	color: #498EA5;
	margin-top: 0;
	text-shadow: 1px 1px 1px rgba(255,255,255,0.5);
	padding-bottom: 10px;
	box-shadow:
		0 1px 0 #DFDEDC,
		0 2px 0 rgba(255,255,255,0.5);
}

.ao-details p {
	color: #999;
	text-shadow: 1px 1px 1px rgba(255,255,255,0.8);
	line-height: 22px;
}

.ao-details p a{
	font-weight: bold;
	color: #498EA5;
}

.ao-details p a:hover{
	color: #2A3344;
}
</pre>
<p>The preview division will be a bit bigger and floating left:</p>
<pre class="brush:css">
.ao-preview {
	width: 60%;
	float: left;
	position: relative;
}
</pre>
<p>Now we&#8217;ll style the image. In order to make it responsive, we&#8217;ll give it a max-width of 100%. This will ensure that it will be contained in the parent division. The image will have a transition. The idea is to scale it down a bit, once we click on the associated checkbox:</p>
<pre class="brush:css">
.ao-item img {
	margin: 0 auto;
	max-width: 100%;
	display: block;
	opacity: 0.8;
	box-shadow: 1px 1px 10px rgba(0,0,0,0.2);
	transition: all 0.3s ease-in-out;
}
</pre>
<p>The annotations division is our overlay and we&#8217;ll place it absolutely. We&#8217;ll make it invisible by setting the opacity to 0. It will also have a transition: we want it to scale it up and make it become opaque once we click on the checkbox.</p>
<pre class="brush:css">
.ao-annotations {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0px;
	left: 0px;
	background: rgba(33,62,68,0.3);
	box-shadow: 1px 1px 3px rgba(0,0,0,0.05);
	opacity: 0;
	z-index: 5;
	transform: scale(0.8);
	transition: all 0.3s ease-in-out;
}
</pre>
<p>The annotation spans will be of absolute position (we&#8217;ll set each of the tops and lefts) and we&#8217;ll give them a min-width of 140 pixel since the width is in percentage. The transition effect will be to scale down and appear (opacity: 1):</p>
<pre class="brush:css">
.ao-annotations span {
	display: block;
	position: absolute;
	padding: 10px 25px;
	width: 33%;
	min-width: 140px;
	text-align: center;
	background: rgba(255,255,255,1);
	color: rgba(20,40,47,0.9);
	font-size: 16px;
	font-style: italic;
	text-shadow: 1px 1px 1px rgba(255,255,255,0.9);
	box-shadow: 0px 1px 4px rgba(0,0,0,0.2);
	opacity: 0;
	transform: scale(1.3);
	transition: all 0.3s ease-in-out;
}
</pre>
<p>Each annotation span is going to have a little arrow and we&#8217;ll add it using the pseudo-class :after. </p>
<pre class="brush:css">
.ao-annotations span:after {
	position: absolute;
	background: transparent url(../images/arrow.png) no-repeat center center;
	width: 32px;
	height: 33px;
	top: 50%;
	left: 100%;
	margin: -16px 0 0 -16px;
	content: '';
}
</pre>
<p>Two of our spans will have the arrow on the left side: </p>
<pre class="brush:css">
.ao-annotations span:nth-child(3):after,
.ao-annotations span:nth-child(4):after {
	left: auto;
	right: 100%;
	margin: -16px -16px 0 0;
	background-image: url(../images/arrow_left.png);
}
</pre>
<p>Now we&#8217;ll set the positions for each one of the spans. We&#8217;ll use percentages again so that the positioning still makes sense, when we resize things:</p>
<pre class="brush:css">
.ao-annotations span:nth-child(1) {
	top: 5%;
	left: 5%;
}

.ao-annotations span:nth-child(2) {
	top: 20%;
	left: -13%;
}

.ao-annotations span:nth-child(3) {
	top: 37%;
	right: 2%;
}

.ao-annotations span:nth-child(4) {
	top: 53%;
	right: -8%;
}

.ao-annotations span:nth-child(5) {
	bottom: 18%;
	left: -4%;
}
</pre>
<p>Let&#8217;s take care of that checkbox now. The trick is to put it on top of all the other elements and set its height and width to 100% meaning that it will occupy all the division, so that we can click anywhere to trigger the effect. It will be &#8220;hidden&#8221; since we set the opacity to 0. But it&#8217;s still there, so we can click on it. The z-index needs to be higher than the one of the other elements, so, just to make sure, we&#8217;ll set it very high:</p>
<pre class="brush:css">
input.ao-toggle {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0px;
	left: 0px;
	margin: 0;
	padding: 0;
	opacity: 0;
	z-index: 100;
	border: none;
	cursor: pointer;
}
</pre>
<p>And now we will define what happens to the siblings when we click on the checkbox. The image will scale down, change its box-shadow and become opaque:</p>
<pre class="brush:css">
input.ao-toggle:checked + img {
	box-shadow: 1px 1px 6px rgba(0,0,0,0.2);
	opacity: 1;
	transform: scale(0.8);
}
</pre>
<p>Since we can&#8217;t use img:hover anymore (remember, the checkbox is on top of everything else), we&#8217;ll use the hover on the checkbox input to trigger the hover effect of the image:</p>
<pre class="brush:css">
input.ao-toggle:hover + img{
	opacity: 1;
}
</pre>
<p>The overlay with the class <strong>ao-annoations</strong> and its spans will scale to 1 and become opaque:</p>
<pre class="brush:css">
input.ao-toggle:checked ~ .ao-annotations,
input.ao-toggle:checked ~ .ao-annotations span{
	opacity: 1;
	transform: scale(1);
}
</pre>
<p>To add a little cherry on top, we&#8217;ll make each span appear with a delay:</p>
<pre class="brush:css">
input.ao-toggle:checked ~ .ao-annotations span:nth-child(1) {
	transition-delay: 0.3s;
}

input.ao-toggle:checked ~ .ao-annotations span:nth-child(2) {
	transition-delay: 0.4s;
}

input.ao-toggle:checked ~ .ao-annotations span:nth-child(3) {
	transition-delay: 0.5s;
}

input.ao-toggle:checked ~ .ao-annotations span:nth-child(4) {
	transition-delay: 0.6s;
}

input.ao-toggle:checked ~ .ao-annotations span:nth-child(5) {
	transition-delay: 0.7s;
}
</pre>
<p>Last, but not least, we&#8217;ll add a media query to remove the float for the main divisions and decrease the font size for the annotation spans:</p>
<pre class="brush:css">

@media screen and (max-width: 730px){
	.ao-item .ao-details,
	.ao-preview {
		float: none;
		width: 100%;
		padding: 0;
		text-align: left;
	}
	.ao-annotations span {
		font-size: 11px;
	}
}
</pre>
<p>And that&#8217;s it! I hope you enjoyed this tutorial and find it inspiring! </p>
<p><a class="demo" href="http://tympanus.net/Tutorials/CSS3AnnotationOverlayEffect/">View demo</a> <a class="download" href="http://tympanus.net/Tutorials/CSS3AnnotationOverlayEffect/CSS3AnnotationOverlayEffect.zip">Download source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://tympanus.net/codrops/2012/05/14/annotation-overlay-effect-with-css3/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Collective #11</title>
		<link>http://tympanus.net/codrops/collective/collective-11/</link>
		<comments>http://tympanus.net/codrops/collective/collective-11/#comments</comments>
		<pubDate>Sun, 13 May 2012 15:43:26 +0000</pubDate>
		<dc:creator>Mary Lou</dc:creator>
				<category><![CDATA[CSS3]]></category>
		<category><![CDATA[fonts]]></category>
		<category><![CDATA[icons]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[template]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[vector]]></category>

		<guid isPermaLink="false">http://tympanus.net/codrops/?post_type=collective&amp;p=9008</guid>
		<description><![CDATA[CSS Selectors demystified * Vendor Tokens? * Free Fonts * Social Media Icons * Flyer Template * jQuery Vector Maps]]></description>
			<content:encoded><![CDATA[<div class="ct-coll-item">
<article>
<h2>Interactive CSS Selectors</h2>
<p>	   <a class="ct-coll-thumb" href="http://twostepmedia.co.uk/cssselectors/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective11_14.jpg" alt="Collective11_14" title="" width="280" height="149" class="alignnone size-full wp-image-9022" /></a></p>
<p>Ben Howdle from Two Step Media will help you understand CSS Selectors in an interactive way. Choose a selector on the left and you&#8217;ll instantly see the affected elements on the right.</p>
<p>	   <a class="ct-coll-link" href="http://twostepmedia.co.uk/cssselectors/">Read it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>‘Vendor Tokens’ Offer Another Way Out of the CSS Prefix Mess</h2>
<p>	   <a class="ct-coll-thumb" href="http://www.webmonkey.com/2012/05/vendor-tokens-offer-another-way-out-of-the-css-prefix-mess/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective11_06.jpg" alt="Collective11_06" title="" width="300" height="68" class="alignnone size-full wp-image-9014" /></a></p>
<p>There is a big discussion going on about whether vendor prefixes are harmful of helpful. Despire their original purpose they are being used all over and many issues are arising from that. Scott Gilbertson from Webmonkey explains Eric Meyer&#8217;s new proposal for ending the mess.</p>
<p>	   <a class="ct-coll-link" href="http://www.webmonkey.com/2012/05/vendor-tokens-offer-another-way-out-of-the-css-prefix-mess/">Read it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>Inspirational Website of the Week</h2>
<p>	   <a class="ct-coll-thumb" href="http://www.purepleasuredesign.com"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective11_12.jpg" alt="Collective11_12" title="" width="330" height="179" class="alignnone size-full wp-image-9020" /></a></p>
<p>Ines Maria Gamler&#8217;s website purepleasuredesign.com has a beautiful mixture of interesting typographic elements, shapes, color and textures.</p>
<p>	   <a class="ct-coll-link" href="http://www.purepleasuredesign.com">Check it out</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>Znikomit Free Font</h2>
<p>	   <a class="ct-coll-thumb" href="http://www.glukfonts.pl/font.php?font=Znikomit"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective11_18.jpg" alt="Collective11_18" title="" width="300" height="150" class="alignnone size-full wp-image-9026" /></a></p>
<p>A really beautiful and elegant free font with many Open­Type features by Grzegorz Luk.</p>
<p>	   <a class="ct-coll-link" href="http://www.glukfonts.pl/font.php?font=Znikomit">Get it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>JQV Map: jQuery Vector Maps</h2>
<p>	   <a class="ct-coll-thumb" href="http://jqvmap.com/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective11_15.jpg" alt="Collective11_15" title="" width="300" height="199" class="alignnone size-full wp-image-9023" /></a></p>
<p>JQVMap is a really cool jQuery plugin that renders Vector Maps using Scalable Vector Graphics (SVG) for modern browsers. Via VML it provides legacy support for older browsers.</p>
<p>	   <a class="ct-coll-link" href="http://jqvmap.com/">Get it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>Fixed Table of Contents Drop-Down Menu </h2>
<p>	   <a class="ct-coll-thumb" href="http://www.impressivewebs.com/fixed-table-of-contents-drop-down-menu-jquery-plugin/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective11_09.jpg" alt="Collective11_09" title="" width="230" height="163" class="alignnone size-full wp-image-9017" /></a></p>
<p>Louis Lazaris from Impressive Webs is sharing this useful fixed drop-down menu with a table of contents. It is a jQuery plugin and it comes in really handy for making it easy to navigate a page that has a lot of content.</p>
<p>	   <a class="ct-coll-link" href="http://www.impressivewebs.com/fixed-table-of-contents-drop-down-menu-jquery-plugin/">Read it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>Fixie.js</h2>
<p>	   <a class="ct-coll-thumb" href="http://fixiejs.com/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective11_10.jpg" alt="Collective11_10" title="" width="300" height="96" class="alignnone size-full wp-image-9018" /></a></p>
<p>If you design and develop websites, you know how laborsome it can be to add placeholder text. Fixie.js will help you. It is an open source tool that automatically adds filler content to HTML documents.</p>
<p>	   <a class="ct-coll-link" href="http://fixiejs.com/">Read it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>HTML5 Audio — The State of Play</h2>
<p>In this follow-up article about HTML5 audio, Mark Boas explains how the &lt;audio&gt; element and the associated API developed further and what can be done with it.</p>
<p>	   <a class="ct-coll-link" href="http://html5doctor.com/html5-audio-the-state-of-play/">Read it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>Curtain.js</h2>
<p>	   <a class="ct-coll-thumb" href="http://curtain.victorcoulon.fr"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective11_03.jpg" alt="Collective11_03" title="" width="200" height="104" class="alignnone size-full wp-image-9011" /></a></p>
<p>This plugin allows you to create a web page with multiple fixed panels that unroll with an amusing effect. Exactly like a curtain rises. </p>
<p>	   <a class="ct-coll-link" href="http://curtain.victorcoulon.fr">Try it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>Freebies Gallery</h2>
<p>	   <a class="ct-coll-thumb" href="http://www.freebiesgallery.com/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective11_19.jpg" alt="Collective11_19" title="" width="260" height="221" class="alignnone size-full wp-image-9027" /></a></p>
<p>Freebies Gallery is a really useful site where you can download free design resources like PSDs, vector graphics, icons, templates and many more. </p>
<p>	   <a class="ct-coll-link" href="http://www.freebiesgallery.com/">Check it out</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>Say No to Faux Bold</h2>
<p>	   <a class="ct-coll-thumb" href="http://www.alistapart.com/articles/say-no-to-faux-bold/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective11_04.jpg" alt="Collective11_04" title="" width="200" height="48" class="alignnone size-full wp-image-9012" /></a></p>
<p>Alan Stearns explains in this &#8220;A List Apart&#8221; article what &#8220;fake&#8221; bold is and how to avoid using it in your website.</p>
<p>	   <a class="ct-coll-link" href="http://www.alistapart.com/articles/say-no-to-faux-bold/">Read it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>Expert subsets for CSS in 123</h2>
<p>	   <a class="ct-coll-thumb" href="http://elliotjaystocks.com/blog/expert-subsets-for-css-in-123/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective11_05.jpg" alt="Collective11_05" title="" width="280" height="105" class="alignnone size-full wp-image-9013" /></a></p>
<p>The future of typography on the web is an exciting one and Elliot Jay Stocks will show you what beautiful things you can do. After his first article about <a href="http://elliotjaystocks.com/blog/the-fine-flourish-of-the-ligature/">ligatures</a> he digs deeper into the new  <em>font-variant</em> property.</p>
<p>	   <a class="ct-coll-link" href="http://elliotjaystocks.com/blog/expert-subsets-for-css-in-123/">Read it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>Faye: Simple pub/sub messaging for the web</h2>
<p>	   <a class="ct-coll-thumb" href="http://faye.jcoglan.com/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective11_07.jpg" alt="Collective11_07" title="" width="260" height="108" class="alignnone size-full wp-image-9015" /></a></p>
<p>If you are searching for a publish-subscribe messaging system for Node.js or Ruby, this just might be a great solution for you.</p>
<p>	   <a class="ct-coll-link" href="http://faye.jcoglan.com/">Read it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>How To Build A Real-Time Commenting System</h2>
<p>	   <a class="ct-coll-thumb" href="http://coding.smashingmagazine.com/2012/05/09/building-real-time-commenting-system/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective11_08.jpg" alt="Collective11_08" title="" width="140" height="141" class="alignnone size-full wp-image-9016" /></a></p>
<p>Phil Leggetter will show you how to &#8220;convert a basic blog commenting system into a real-time engaging experience where you’ll see a comment made in one browser window &#8220;magically&#8221; appear in a second window&#8221;.</p>
<p>	   <a class="ct-coll-link" href="http://coding.smashingmagazine.com/2012/05/09/building-real-time-commenting-system/">Read it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>Which responsive images solution should you use?</h2>
<p>	   <a class="ct-coll-thumb" href="http://css-tricks.com/which-responsive-images-solution-should-you-use/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective11_11.jpg" alt="Collective11_11" title="" width="140" height="45" class="alignnone size-full wp-image-9019" /></a></p>
<p>There are many techniques out there to help you with the &#8220;responsive image issue&#8221;. Chris Coyier put together this great guide that will help you choose the right technique for your needs.</p>
<p>	   <a class="ct-coll-link" href="http://css-tricks.com/which-responsive-images-solution-should-you-use/">Read it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>Statik: A Free Bold Style Font Kit</h2>
<p>	   <a class="ct-coll-thumb" href="http://wegraphics.net/downloads/statik-a-free-bold-style-font-kit/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective11_13.jpg" alt="Collective11_13" title="" width="300" height="173" class="alignnone size-full wp-image-9021" /></a></p>
<p>WeGraphics offers a great free font: Statik is a bold font face with a hint of static via radio transmission.</p>
<p>	   <a class="ct-coll-link" href="http://wegraphics.net/downloads/statik-a-free-bold-style-font-kit/">Get it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>JavaScript Canvas Image Conversion</h2>
<p>	   <a class="ct-coll-thumb" href="http://davidwalsh.name/convert-canvas-image"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective11_16.jpg" alt="Collective11_16" title="" width="170" height="170" class="alignnone size-full wp-image-9024" /></a></p>
<p>David Walsh explains how to convert an image to canvas and vice versa using a couple of lines of JavaScript. </p>
<p>	   <a class="ct-coll-link" href="http://davidwalsh.name/convert-canvas-image">Read it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>Free Event Flyer Template (PSD)</h2>
<p>	   <a class="ct-coll-thumb" href="http://www.behance.net/gallery/Free-Event-Flyer-Template-(PSD)/3809615"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective11_17.jpg" alt="Collective11_17" title="" width="290" height="161" class="alignnone size-full wp-image-9025" /></a></p>
<p>Sam Ridgway gives us a free event flyer template that is print ready, with bleeds and which comes with easy to edit layers.</p>
<p>	   <a class="ct-coll-link" href="http://www.behance.net/gallery/Free-Event-Flyer-Template-(PSD)/3809615">Get it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>41 Social Media Icons (PNG)</h2>
<p>	   <a class="ct-coll-thumb" href="http://www.premiumpixels.com/freebies/41-social-media-icons-png/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective11_01.jpg" alt="Collective11_01" title="" width="300" height="135" class="alignnone size-full wp-image-9009" /></a></p>
<p>Premiumpixels offers us an amazing set of 41 social networking icons in both 16px and 32px by Prekesh Chavda.</p>
<p>	   <a class="ct-coll-link" href="http://www.premiumpixels.com/freebies/41-social-media-icons-png/">Get it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>Multilevel CSS3 Menu</h2>
<p>	   <a class="ct-coll-thumb" href="http://css.dzone.com/articles/ms-office-style-css3"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective11_02.jpg" alt="Collective11_02" title="" width="180" height="87" class="alignnone size-full wp-image-9010" /></a></p>
<p>In this tutorial by Andrey Prikaznov you will learn how to code a MS Office-style CSS3 multilevel menu.</p>
<p>	   <a class="ct-coll-link" href="http://css.dzone.com/articles/ms-office-style-css3">Read it</a><br />
   </article>
</div>
]]></content:encoded>
			<wfw:commentRss>http://tympanus.net/codrops/collective/collective-11/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Create a Fast Hover Slideshow with CSS3</title>
		<link>http://tympanus.net/codrops/2012/05/09/how-to-create-a-fast-hover-slideshow-with-css3/</link>
		<comments>http://tympanus.net/codrops/2012/05/09/how-to-create-a-fast-hover-slideshow-with-css3/#comments</comments>
		<pubDate>Wed, 09 May 2012 11:31:57 +0000</pubDate>
		<dc:creator>Mary Lou</dc:creator>
				<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[hover]]></category>
		<category><![CDATA[slideshow]]></category>

		<guid isPermaLink="false">http://tympanus.net/codrops/?p=8846</guid>
		<description><![CDATA[A little fast-running image slideshow that plays on hover and pauses when mousing out. The current image will stay visible.]]></description>
			<content:encoded><![CDATA[<p><a href="http://tympanus.net/TipsTricks/FastHoverSlideshow/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/FastHoverslideshow.jpg" alt="How to Create a Fast Hover Slideshow with CSS3" title="How to Create a Fast Hover Slideshow with CSS3" width="580" height="315" class="alignnone size-full wp-image-8851" /></a></p>
<p><a class="demo" href="http://tympanus.net/TipsTricks/FastHoverSlideshow/">View demo</a> <a class="download" href="http://tympanus.net/TipsTricks/FastHoverSlideshow/FastHoverSlideshow.zip">Download source</a></p>
<p>Today I want to share a little hover slideshow with you. The main idea is to run a super-fast image slideshow on hover and show the current image when mousing out. It&#8217;s just a fancy effect to play with and I got the idea from <a href="http://containr.org/">Contain.r</a>. We&#8217;ll be using CSS animations for the slideshow and control the pausing and running with <a href="http://dev.w3.org/csswg/css3-animations/#animation-play-state-property">animation-play-state</a>.</p>
<div class="ct-special-box"><strong>Please note: this is just experimental and will only work as intended in browsers that support the respective CSS properties.</strong></div>
<p>This is our simple structure:</p>
<pre class="brush:html">
&lt;div class="hs-wrapper"&gt;

	&lt;img src="images/1.jpg" alt="image01"/&gt;
	&lt;img src="images/2.jpg" alt="image02"/&gt;
	&lt;img src="images/3.jpg" alt="image03"/&gt;
	&lt;img src="images/4.jpg" alt="image04"/&gt;
	&lt;img src="images/5.jpg" alt="image05"/&gt;
	&lt;img src="images/6.jpg" alt="image06"/&gt;
	&lt;img src="images/7.jpg" alt="image07"/&gt;
	&lt;img src="images/8.jpg" alt="image08"/&gt;

	&lt;div class="hs-overlay"&gt;
		&lt;span&gt;Summer &lt;strong&gt;2012&lt;/strong&gt;&lt;/span&gt;
	&lt;/div&gt;

&lt;/div&gt;
</pre>
<div id="bsap_1266918" class="bsarocks bsap_af25dfd2f1908889af7a1aa5f4dcbd9e"></div><div style="clear:both;"></div>
<p>We&#8217;ll show and hide the images using an animation:</p>
<pre class="brush:css">
.hs-wrapper img{
	top: 0px;
	left: 0px;
	position: absolute;
	animation: showMe 0.8s linear infinite 0s forwards;
	animation-play-state: paused;
}
</pre>
<p>The animation will be paused and we&#8217;ll just run it on hover:</p>
<pre class="brush:css">
.hs-wrapper:hover img{
	animation-play-state: running;
}
</pre>
<p>The animation will simply make an image visible and put it on top of the &#8220;stack&#8221;:</p>
<pre class="brush:css">
@keyframes showMe {
    0% { visibility: visible; z-index: 100; }
	12.5% { visibility: visible; z-index: 100; }
	25% { visibility: hidden; z-index: 0; }
    100% { visibility: hidden; z-index: 0; }
}
</pre>
<p>As you can see, each image will have the same animation but we will start the animation for each image with a delay. We also want to reverse the stacking order of the images by setting the z-index accordingly. Since we will run the whole animation for 0.8 seconds, we&#8217;ll delay the start for each image with 0.1 second (except the first one):</p>
<pre class="brush:css">
.hs-wrapper img:nth-child(1){
	z-index: 9;
}
.hs-wrapper img:nth-child(2){
	animation-delay: 0.1s;
	z-index: 8;
}
.hs-wrapper img:nth-child(3){
	animation-delay: 0.2s;
	z-index: 7;
}
.hs-wrapper img:nth-child(4){
	animation-delay: 0.3s;
	z-index: 6;
}
<!-- ... and so on -->
</pre>
<p>The percentages of the animation are calculated as follows: take the 100% of the animation timespan and distribute 8 images over it. Each one runs 0.1 seconds which means that at 12.5% we want the second image to show. The second image that will show, will be on top of the current one (although they have the same z-index) because it follows in the HTML structure. Having tried some other possibilities (i.e. not messing around with the z-index, setting 12.6% as the next step, etc.) it seems that this variant performs the smoothest. Nonetheless, sometimes there seems to be a bit of a lag. </p>
<p><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/animation.jpg" alt="animation" title="" width="580" height="315" class="alignnone size-full wp-image-8848" /></p>
<p>The overlay, which will be shown on hover, will have an absolute position and since we want to fade it in and animate the box shadow, we&#8217;ll add a transition to it:</p>
<pre class="brush:css">
.hs-overlay{
	position: absolute;
	width: 100%;
	height: 100%;
	opacity: 0;
	z-index: 500;
	background: rgba(0,0,0,0.6);
	box-shadow: 0 0 0 0 rgba(255,255,255,0.3) inset;
	pointer-events: none;
	transition: all 0.3s linear;
}
</pre>
<p>On hover, when the slideshow starts running, we&#8217;ll show the overlay:</p>
<pre class="brush:css">
.hs-wrapper:hover .hs-overlay{
	opacity: 1;
	box-shadow: 0 0 0 5px rgba(255,255,255,0.3) inset;
}
</pre>
<p>You can increase the opacity level of the background color of the overlay in order to make the effect more subtle. Note, that the images have the same background which makes this effect less seizure-inducing than if you would use a different color for each one. Black and white images with a not too transparent overlay like in <a href="http://containr.org/">Contain.r</a> are a good fit for this effect.</p>
<p>It&#8217;s as well important to note that it should be made sure that the images are of course loaded and apply something similar to <a href="http://css-tricks.com/transitions-only-after-page-load/">what Chris Coyier suggests here</a>.</p>
<p>And that&#8217;s it! I hope you find it inspiring. </p>
<p><a class="demo" href="http://tympanus.net/TipsTricks/FastHoverSlideshow/">View demo</a> <a class="download" href="http://tympanus.net/TipsTricks/FastHoverSlideshow/FastHoverSlideshow.zip">Download source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://tympanus.net/codrops/2012/05/09/how-to-create-a-fast-hover-slideshow-with-css3/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss><!-- This Quick Cache file was built for (  tympanus.net/codrops/feed/ ) in 0.30159 seconds, on May 30th, 2012 at 7:44 am UTC. --><!-- This Quick Cache file will automatically expire ( and be re-built automatically ) on May 30th, 2012 at 8:44 am UTC -->

