<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Codrops</title>
	<atom:link href="http://tympanus.net/codrops/feed/" rel="self" type="application/rss+xml" />
	<link>http://tympanus.net/codrops</link>
	<description>Useful resources and inspiration for creative minds</description>
	<lastBuildDate>Mon, 21 May 2012 09:53: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>
		<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>4</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&#038;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>15</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&#038;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>6</slash:comments>
		</item>
		<item>
		<title>Understanding the Lingo: Typography Glossary</title>
		<link>http://tympanus.net/codrops/2012/05/09/understanding-the-lingo-typography-glossary/</link>
		<comments>http://tympanus.net/codrops/2012/05/09/understanding-the-lingo-typography-glossary/#comments</comments>
		<pubDate>Wed, 09 May 2012 10:13:40 +0000</pubDate>
		<dc:creator>Carrie Cousins</dc:creator>
				<category><![CDATA[Web Design]]></category>
		<category><![CDATA[fonts]]></category>
		<category><![CDATA[typography]]></category>

		<guid isPermaLink="false">http://tympanus.net/codrops/?p=8857</guid>
		<description><![CDATA[Ascender, descender, tail, ligature. What do they all mean? A glossary of terms can help you understand the parts of type for your next project]]></description>
			<content:encoded><![CDATA[<p><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Typography-Glossary.jpg" alt="Understanding the Lingo: Typography Glossary" title="Understanding the Lingo: Typography Glossary" width="580" height="315" class="alignnone size-full wp-image-8882" /></p>
<p>The art of typography is not always the easiest thing to understand. It almost has a language of its own. Understanding ascenders, descenders, ligatures, x-heights and stems will help you better make connections between type and the other features on your website.</p>
<p>The terms associated with typography can be broken into several categories based on use. This glossary contains common phrases, typography jargon, font identification, spacing and specialty lettering.</p>
<h3>Commonly-used letter terminology</h3>
<p><a href="http://thepenthouseproject.com/#/welovephoto" target="_blank"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/common2.jpg" alt="" title="common2" width="580" height="321" class="alignnone size-full wp-image-8859" /></a></p>
<p><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/common.jpg" alt="" title="common" width="580" height="135" class="alignnone size-full wp-image-8858" /></p>
<p>Understanding the most commonly-used names for the parts of letters can help you better speak the language of type. Many of these terms are used in common speech among designers.</p>
<p><strong>Ascender:</strong> Any part of a letter that extends beyond the x-height of a character set. </p>
<p><strong>Descender:</strong> Any part of a letter that drops below the baseline of a character set.</p>
<p><strong>Stroke:</strong> The individual lines used to create a letterform. Strokes are measured by weight based on how thick or thin letters are. Some letters are created using multiple stokes, while others only use a single stroke. The term dates to when all type was created by hand and each stroke was created when the pen was lifted from paper.</p>
<p><strong>Serif:</strong> Short strokes that extend from letters. Serifs generally appear on the bottom and top corners of letters and can range from small and square to large and rather elaborate. Serif fonts refer to type families that include serifs on each letter.</p>
<p><strong>Sans serif:</strong> Typefaces without serifs. Sans serif typefaces are sometimes referred to as Gothics.</p>
<p><strong>Stem:</strong> Vertical full-length strokes in characters are called stems. This main stroke can be perfectly vertical, such as in the letter “T,” or have a diagonal slant, like in “V.”</p>
<p><strong>Tail:</strong> An end stroke that has more of a decorative feel. Some mix and match the terms tail and descender but a tail does not always have to fall below the baseline.</p>
<div id="bsap_1266918" class="bsarocks bsap_af25dfd2f1908889af7a1aa5f4dcbd9e"></div><div style="clear:both;"></div>
<h3>Jargon terms</h3>
<p><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/jargon.jpg" alt="" title="jargon" width="580" height="135" class="alignnone size-full wp-image-8863" /></p>
<p>When you really start talking about the specific parts of a letter, you will hear another set of lingo. While most of these words are common for typographers and font designers, they may be less common for web designers.</p>
<p><strong>Counter:</strong> The open space inside letter strokes. Counter space can result from fully-closed or partially closed letter shapes.</p>
<p><strong>Bowl:</strong> The fully-closed section of a letter created by single or adjoining strokes.</p>
<p><strong>Arm:</strong> A vertical or horizontal stroke that only intersects another stroke at one point and is open on the other end.</p>
<p><strong>Eye:</strong> An eye refers to a closed space inside a letter form, specifically the space inside the lowercase “e.”</p>
<p><strong>Bar or Crossbar: </strong>The horizontal strokes between letters. Bars are commonly used to connect points on a single stroke, such as in a lowercase “e.” Crossbars connect separate strokes, such as in the uppercase “A.”</p>
<p><strong>Link:</strong> A stroke that connects a letter containing two bowls, such as a “g” in certain typefaces.</p>
<p><strong>Terminal: </strong>The endpoint of a descender. An actual terminal does not include a serif; a teardrop terminal is a rounded teardrop-shaped serif on a descender.</p>
<h3>Fonts</h3>
<p><a href="http://typofonderie.com/" target="_blank"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/fonts2.jpg" alt="" title="fonts2" width="580" height="288" class="alignnone size-full wp-image-8862" /></a></p>
<p><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/fonts.jpg" alt="" title="fonts" width="580" height="135" class="alignnone size-full wp-image-8861" /></p>
<p>Everyone understands what a font is. But do you really understand how they are measured or what constitutes bold or condensed type?</p>
<p><strong>Point: </strong>A measurement of type. There are 72 points in one inch.</p>
<p><strong>Condensed type:</strong> Any type style that is designed using narrow proportions. Condensed fonts can have thick or thin strokes.</p>
<p><strong>Bold or boldface:</strong> Using a heavier weight for each stroke of a typeface so that each letter appears with more emphasis. Bolding refers to any weight in a typeface that is thicker than the standard or regular variant of the font.</p>
<p><strong>Italic:</strong> The slanting or forward lean added to a typeface. Italics can add slant or a combination of slant and cursive details.</p>
<p><strong>Display font:</strong> Typefaces used for large type in projects is called display type. These typefaces do not have to be different fonts than used elsewhere in the project but correspond to the size of text. Display fonts are typically used at 16 points or greater and are found in banners, headlines and headers.</p>
<p><strong>Openface:</strong> Fonts with open areas included in each letter.  Openface fonts will not include bowls.</p>
<h3>Spacing and lines</h3>
<p><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/spacing.jpg" alt="" title="spacing" width="580" height="135" class="alignnone size-full wp-image-8866" /></p>
<p>Just as important to the actual letters is the spacing between each letter and between lines of type. Spacing can actually make or break the typography in your project and greatly affects readability. </p>
<p><strong>Baseline:</strong> An invisible horizontal line on which upper-and lowercase letters rest. The baseline does not include the space occupied by descenders.</p>
<p><strong>X-height:</strong> The height of a font family’s lowercase “x.” Most lowercase letters – minus ascenders and descenders &#8212; will rest between the baseline and x-height.</p>
<p><strong>Cap height:</strong> The distance between the baseline and the top of a capital letter.</p>
<p><strong>Kerning:</strong> Adjusted horizontal space between letters. Kerning adjustments can open of close gaps between letters and can be done based on a preset formula or manually when type is set.</p>
<p><strong>Leading:</strong> Vertical space between lines of type. Leading can also be adjusted to bring lines of type closer together or separate them. Extremes in leading can greatly affect readability.</p>
<h3>Specialty lettering</h3>
<p>Some lettering has a life – and style – of its own. Specialty lettering comes in a variety of forms and tends to have a more artistic than typographic look.</p>
<p><a href="http://moderninkmag.com/" target="_blank"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/logo.jpg" alt="" title="logo" width="580" height="382" class="alignnone size-full wp-image-8864" /></a></p>
<p><strong>Icon:</strong> Graphic symbol or rendering created from letterforms. Note how online magazine Modern Ink uses letting to create an icon that is used throughout the site for brand identification.</p>
<p><strong>Initial cap:</strong> Also called a drop cap, the initial cap is a large or decorative letter used at the beginning of a text block. It can dip into multiple lines of text.</p>
<p><strong>Cloistered initial:</strong> Most commonly appear as a single capital letter contained in an ornamental box, but multiple letters can be used. Cloistered initials are also called drop caps and are commonly used as the first letter in a block of text.</p>
<p><strong>Small cap: </strong>The use of all capital letters in place of lowercase letters, where the height of each letter is no taller than the character set’s x-height.</p>
<p><a href="http://www.dafont.com/font.php?file=printers_ornaments_" target="_blank"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/fleurons.jpg" alt="" title="fleurons" width="580" height="458" class="alignnone size-full wp-image-8860" /></a></p>
<p><strong>Fleuron:</strong> Ornamental lettering in which the characters take on elements that look like flowers and leaves. This type of font is usually considered a glyph, although in some cases letters are identifiable.</p>
<p><a href="http://twoarmsinc.com/" target="_blank"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/monogram.jpg" alt="" title="monogram" width="580" height="388" class="alignnone size-full wp-image-8865" /></a></p>
<p><strong>Monogram:</strong> A grouping of letters that create a design based on initials. Note how Tow Arms Inc. combines the first letters from the company name in its logo.</p>
<h3>Conclusion</h3>
<p>Understanding the language of type is a tool that can help designers better communicate with other creative professionals. Try to get yourself familiar with type lingo, not only so you can talk the talk but so that you can also better understand the basics of typography.</p>
<p>Type is a key part of almost all website design. Understanding it will not only make you feel more confident in working with others but will also help you succeed in a variety of design projects.</p>
]]></content:encoded>
			<wfw:commentRss>http://tympanus.net/codrops/2012/05/09/understanding-the-lingo-typography-glossary/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Experimental Page Layout Inspired by Flipboard</title>
		<link>http://tympanus.net/codrops/2012/05/07/experimental-page-layout-inspired-by-flipboard/</link>
		<comments>http://tympanus.net/codrops/2012/05/07/experimental-page-layout-inspired-by-flipboard/#comments</comments>
		<pubDate>Mon, 07 May 2012 10:23:33 +0000</pubDate>
		<dc:creator>Pedro Botelho</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[flip]]></category>
		<category><![CDATA[flipboard]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[lab]]></category>
		<category><![CDATA[pageflip]]></category>
		<category><![CDATA[responsive]]></category>

		<guid isPermaLink="false">http://tympanus.net/codrops/?p=8780</guid>
		<description><![CDATA[An experimental page layout that let's you navigate pages by swiping or dragging as in a booklet, inspired by Flipboard.]]></description>
			<content:encoded><![CDATA[<p><a href="http://tympanus.net/Development/FlipboardPageLayout/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/FlipboardPageLayout1.jpg" alt="Experimental Page Layout Inspired by Flipboard" title="Experimental Page Layout Inspired by Flipboard" width="580" height="315" class="alignnone size-full wp-image-8821" /></a></p>
<p><a class="demo" href="http://tympanus.net/Development/FlipboardPageLayout/">View demo</a> <a class="download" href="http://tympanus.net/Development/FlipboardPageLayout/FlipboardPageLayout.zip">Download source</a></p>
<p>Today we want to share an experimental 3D layout with you. It&#8217;s inspired by the famous <a href="http://flipboard.com/" target="_blank">Flipboard</a> app where a seamlessly &#8220;normal&#8221; page flips like a page in a book when swiped. We&#8217;ve tried to re-create that effect using CSS 3D transforms and JavaScript, making a layout that is &#8220;flippable&#8221; and responsive. While the swiping makes sense for touch devices, dragging will do for normal browsers. </p>
<p><a href="http://tympanus.net/Development/FlipboardPageLayout/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/FlipboardPageLayout01.jpg" alt="FlipboardPageLayout01" title="" width="580" height="310" class="alignnone size-full wp-image-8808" /></a></p>
<p>For the demo, we&#8217;ve made a little booklet with some placeholder text and images from <a href="http://www.flickr.com/photos/nasahqphoto/" target="_blank">NASA HQ</a>. The images are licensed under the <a href="http://creativecommons.org/licenses/by-nc/2.0/deed.en" target="_blank">Creative Commons Attribution-NonCommercial 2.0 Generic License</a>. The placeholder text is by <a href="http://hipsteripsum.me/" target="_blank">http://hipsteripsum.me/</a>.</p>
<p><a href="http://tympanus.net/Development/FlipboardPageLayout/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/FlipboardPageLayout02.jpg" alt="FlipboardPageLayout02" title="" width="580" height="310" class="alignnone size-full wp-image-8809" /></a></p>
<p><strong>Please notice that this is very experimental and just a proof-of-concept.</strong> It was tested in the latest versions of Safari, Chrome and Safari Mobile. The behavior is unfortunately not as nice as expected in Firefox.</p>
<div id="bsap_1266918" class="bsarocks bsap_af25dfd2f1908889af7a1aa5f4dcbd9e"></div><div style="clear:both;"></div>
<p>There are probably still many undiscovered bugs and although Safari and Chrome support all the properties used, we had to apply a couple of hacks to overcome some unexpected behavior. Let us know about your experience with it and how it performs. </p>
<p><a href="http://tympanus.net/Development/FlipboardPageLayout/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/FlipboardPageLayout03.jpg" alt="FlipboardPageLayout03" title="" width="580" height="312" class="alignnone size-full wp-image-8810" /></a></p>
<p>Some of the jQuery plugins we are using for this:</p>
<ul>
<li><a href="https://github.com/balupton/history.js">History.js</a> for keeping track of the current state/pages</li>
<li><a href="http://labs.skinkers.com/touchSwipe/">TouchSwipe</a> for dragging and swiping the pages</li>
<li><a href="http://modernizr.com/">Modernizr</a> for checking browser support of the CSS properties</li>
</ul>
<p>The HTML is build up of a main wrapper with the class <strong>container</strong> and the ID <strong>flip</strong>. Inside, we&#8217;ll have all the pages, the first one being the cover and the last one being the back of the booklet. The other pages will contain some title element and boxes. These boxes will each need an additional &#8220;height&#8221; and &#8220;width&#8221; class which will give the element percentage-based dimensions. For example, <strong>w-50</strong> is a class that will give the element a width of 50%. Depending on how a page should be laid out, we would add a fitting set of items:</p>
<pre class="brush:html">
&lt;div id="flip" class="container"&gt;

	&lt;div class="f-page f-cover"&gt;
		&lt;!-- ... --&gt;
	&lt;/div&gt;

	&lt;div class="f-page"&gt;
		&lt;div class="f-title"&gt;
			&lt;!-- ... --&gt;
		&lt;/div&gt;
		&lt;div class="box w-50 h-100"&gt;
			&lt;div class="img-cont img-1"&gt;&lt;/div&gt;
			&lt;h3&gt;Headline &lt;span&gt;Published May 7, 2012&lt;/span&gt;&lt;/h3&gt;
			&lt;p&gt;Some text&lt;/p&gt;
		&lt;/div&gt;
		&lt;div class="box w-50 h-100"&gt;
			&lt;!-- ... --&gt;
		&lt;/div&gt;
	&lt;/div&gt;

	&lt;div class="f-page"&gt;
		&lt;!-- ... --&gt;
	&lt;/div&gt;

	&lt;!-- ... --&gt;

	&lt;div class="f-page f-cover-back"&gt;
		&lt;!-- ... --&gt;
	&lt;/div&gt;

&lt;/div&gt;
</pre>
<p>We are applying some &#8220;tricks&#8221; for making everything work responsively. The images are background-images and we set the background size of that element to &#8220;cover&#8221; while leaving the width and height fluid, in percentages. That&#8217;s of course not how it should be done. But it&#8217;s just for demonstration purpose. The teaser text is already loaded, and just &#8220;cut off&#8221; because the box is set to overflow &#8220;hidden&#8221;. To make it look smoother, we&#8217;ve just added a pseudo-element with a white to transparent gradient which covers the last bit of the box. </p>
<p><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/FlipboardPageLayout04.jpg" alt="FlipboardPageLayout04" title="" width="580" height="381" class="alignnone size-full wp-image-8811" /></p>
<p>A great help for creating responsive layouts like these is this:</p>
<pre class="brush:css">
* { box-sizing: border-box }
</pre>
<p>which finally got the attention it deserves thanks to <a href="http://paulirish.com/2012/box-sizing-border-box-ftw/">this article by Paul Irish</a>. When laying out elements using percentages it really comes in handy to use the border-box value since we can for example, define paddings in pixels and not break our 50% width box.</p>
<p>We will use jQuery Templates for creating the book structure:</p>
<pre class="brush:html">
&lt;script id="pageTmpl" type="text/x-jquery-tmpl"&gt;
	&lt;div class="${theClass}" style="${theStyle}"&gt;
		&lt;div class="front"&gt;
			&lt;div class="outer"&gt;
				&lt;div class="content" style="${theContentStyleFront}"&gt;
					&lt;div class="inner"&gt;{{html theContentFront}}&lt;/div&gt;
				&lt;/div&gt;
			&lt;/div&gt;
		&lt;/div&gt;
		&lt;div class="back"&gt;
			&lt;div class="outer"&gt;
				&lt;div class="content" style="${theContentStyleBack}"&gt;
					&lt;div class="inner"&gt;{{html theContentBack}}&lt;/div&gt;
				&lt;/div&gt;
			&lt;/div&gt;
		&lt;/div&gt;
	&lt;/div&gt;
&lt;/script&gt;
</pre>
<p>The trick is to create a left side and a right side of a page, hiding half of each side to make it appear as one.</p>
<p>Before we call our experimental plugin, we need to check browser support first:</p>
<pre class="brush:js">
&lt;script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript"&gt;

	var $container 	= $( '#flip' ),
		$pages		= $container.children().hide();

	Modernizr.load({
		test: Modernizr.csstransforms3d &#038;&#038; Modernizr.csstransitions,
		yep : ['js/jquery.tmpl.min.js','js/jquery.history.js','js/core.string.js','js/jquery.touchSwipe-1.2.5.js','js/jquery.flips.js'],
		nope: 'css/fallback.css',
		callback : function( url, result, key ) {

			if( url === 'css/fallback.css' ) {
				$pages.show();
			}
			else if( url === 'js/jquery.flips.js' ) {
				$( '#flip' ).flips();
			}

		}
	});

&lt;/script&gt;
</pre>
<p>If there is browser support for CSS 3D transforms and transitions we&#8217;ll load all the other necessary scripts and call our <strong>flips</strong> plugin.</p>
<p>Please note again that it&#8217;s only experimental, but nonetheless, I hope you find it interesting.</p>
<div class="ct-github-link">
<a href="https://github.com/botelho/flipboard-layout">Find this project on Github</a>
</div>
<p><a class="demo" href="http://tympanus.net/Development/FlipboardPageLayout/">View demo</a> <a class="download" href="http://tympanus.net/Development/FlipboardPageLayout/FlipboardPageLayout.zip">Download source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://tympanus.net/codrops/2012/05/07/experimental-page-layout-inspired-by-flipboard/feed/</wfw:commentRss>
		<slash:comments>77</slash:comments>
		</item>
		<item>
		<title>Impressionist UI Pack Giveaway</title>
		<link>http://tympanus.net/codrops/2012/05/07/impressionist-ui-pack-giveaway/</link>
		<comments>http://tympanus.net/codrops/2012/05/07/impressionist-ui-pack-giveaway/#comments</comments>
		<pubDate>Mon, 07 May 2012 09:06:22 +0000</pubDate>
		<dc:creator>Mary Lou</dc:creator>
				<category><![CDATA[Giveaways]]></category>

		<guid isPermaLink="false">http://tympanus.net/codrops/?p=8827</guid>
		<description><![CDATA[Win one of 3 personal licenses (39$) and 1 developer license (149$) for the Impressionist UI Pack from DesignModo.]]></description>
			<content:encoded><![CDATA[<p><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Impressionist-UI-PackGiveaway.jpg" alt="Impressionist UI Pack Giveaway" title="Impressionist UI Pack Giveaway" width="580" height="315" class="alignnone size-full wp-image-8832" /></p>
<p>In this giveaway you can get the chance to win one of 3 personal licenses (39$) and 1 developer license (149$) for the Impressionist UI Pack from DesignModo.</p>
<h3>About Impressionist UI Pack</h3>
<p>The <a href="http://designmodo.com/impressionist/">Impressionist UI Pack</a> is a huge design pack that contains over 300 elements for web design. It contains almost anything you can imagine to be useful in creating a design: edit boxes, tabs, buttons, notification windows, menus, compact solutions for menu tabs, windows, backgrounds, graphics, sliders, info blocks and many many others. All the elements have been created in Photoshop using shapes which means that they can be resized without losing any quality. The elements can be used for web design, mobile interfaces, illustrations, and anything that you can imagine.</p>
<p><a href="http://designmodo.com/impressionist/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Impressionist-UI.jpg" alt="Impressionist-UI" title="" width="600" height="663" class="alignnone size-full wp-image-8831" /></a></p>
<p>Shmidt Sergey was the one who designed the cool pack containing 200 (x3) icons. You can change and adapt the icons considering your own taste and resize them from 16x16px to any size you would think of &#8212; they will always look cool. All the icons have been skillfully made using 16 pixels, by respecting real proportions; this is why they will always be spotted no matter what size whether it’s a favicon or a poster at the airport. </p>
<p><a href="http://designmodo.com/impressionist/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Impressionist_IconPack.jpg" alt="Impressionist_IconPack" title="" width="580" height="190" class="alignnone size-full wp-image-8835" /></a></p>
<p>The Impressionist UI pack contains a full package of icons that every designer should own.<br />
<strong>Head over to DesignModo to <a href="http://designmodo.com/impressionist/">check out the whole pack in detail</a></strong>.</p>
<h3>About DesignModo</h3>
<p><a href="http://designmodo.com/">DesignModo</a> is a great blog and resource for web designers and developers, graphic artists and anybody that seeks artistic inspiration. You will find many helpful tutorials, insightful articles, freebies and absolutely stunning and affordable web design resources.</p>
<h3>How to win</h3>
<p>All you have to do is tweet this giveaway with a tweet containing @designmodo (or share it on Facebook containing +DesignModo), and leave a comment below. Tell us, what you love most about the Impressionist UI pack. Be creative, fun and most importantly, unique!</p>
<p><strong>Good Luck!</strong></p>
<p><em>This giveaway ended on May 14, 2012 at 6 p.m. GMT+0.</em></p>
<h3>The Winners</h3>
<p>We are happy to announce the following winners of the giveaway:</p>
<p><strong>Developer License</strong></p>
<ul>
<li><a href="http://tympanus.net/codrops/2012/05/07/impressionist-ui-pack-giveaway/comment-page-1/#comment-419753">JohnnyPea</a></li>
</ul>
<p><strong>Personal License</strong></p>
<ul>
<li><a href="http://tympanus.net/codrops/2012/05/07/impressionist-ui-pack-giveaway/comment-page-3/#comment-419865">Kat</a></li>
<li><a href="http://tympanus.net/codrops/2012/05/07/impressionist-ui-pack-giveaway/comment-page-1/#comment-419751">Gershom Charig</a></li>
<li><a href="http://tympanus.net/codrops/2012/05/07/impressionist-ui-pack-giveaway/comment-page-2/#comment-419817">Devin Rajaram</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/07/impressionist-ui-pack-giveaway/feed/</wfw:commentRss>
		<slash:comments>58</slash:comments>
		</item>
		<item>
		<title>Collective #10</title>
		<link>http://tympanus.net/codrops/collective/collective-10/</link>
		<comments>http://tympanus.net/codrops/collective/collective-10/#comments</comments>
		<pubDate>Sun, 06 May 2012 15:29:55 +0000</pubDate>
		<dc:creator>Mary Lou</dc:creator>
				<category><![CDATA[CSS3]]></category>
		<category><![CDATA[font]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[responsive]]></category>
		<category><![CDATA[tutorials]]></category>
		<category><![CDATA[typography]]></category>

		<guid isPermaLink="false">http://tympanus.net/codrops/?post_type=collective&#038;p=8782</guid>
		<description><![CDATA[Bim Bom BEM! * Physics for three.js * Free PSDs * Free Fonts * CSS3 &#038; jQuery Tuts * Free Icons * Responsive Web Design]]></description>
			<content:encoded><![CDATA[<div class="ct-coll-item">
<article>
<h2>Typometry Free Font</h2>
<p>	   <a class="ct-coll-thumb" href="http://www.behance.net/gallery/Typometry-Free-Font/3831957"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective10_14.jpg" alt="Collective10_14" title="" width="300" height="142" class="alignnone size-full wp-image-8797" /></a></p>
<p>A beautiful experimental geometric font from talented Emil Kozole.</p>
<p>	   <a class="ct-coll-link" href="http://www.behance.net/gallery/Typometry-Free-Font/3831957">Get 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://weareimpero.com/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective10_20.jpg" alt="Collective10_20" title="" width="330" height="178" class="alignnone size-full wp-image-8803" /></a></p>
<p>Impero has some really nifty effects with unusual shapes which gives this web design the special something.</p>
<p>	   <a class="ct-coll-link" href="http://weareimpero.com/">Check it out</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>Texturise web type with CSS</h2>
<p>	   <a class="ct-coll-thumb" href="http://www.netmagazine.com/tutorials/texturise-web-type-css"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective10_19.jpg" alt="Collective10_19" title="" width="250" height="137" class="alignnone size-full wp-image-8802" /></a></p>
<p>Learn how to create some beautiful texturised web typography in this .net tutorial by Trent Walton.</p>
<p>	   <a class="ct-coll-link" href="http://www.netmagazine.com/tutorials/texturise-web-type-css">Read it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>Responsive Grid System</h2>
<p>	   <a class="ct-coll-thumb" href="http://responsive.gs/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective10_02.jpg" alt="Collective10_02" title="" width="200" height="109" class="alignnone size-full wp-image-8785" /></a></p>
<p>Try this fluid grid CSS framework for fast, intuitive development of responsive websites. Available in 12, 16 and 24 columns with media queries for all standard devices, clearfix, and optional reset.</p>
<p>	   <a class="ct-coll-link" href="http://responsive.gs/">Get it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>Why you should care about CSS page performance</h2>
<p>	   <a class="ct-coll-thumb" href="http://boagworld.com/dev/why-you-should-care-about-css-page-performance/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective10_03.jpg" alt="Collective10_03" title="" width="280" height="201" class="alignnone size-full wp-image-8786" /></a></p>
<p>Doug Stewart introduces some interesting points of CSS performance, why we should care about it and what actually matters.</p>
<p>	   <a class="ct-coll-link" href="http://boagworld.com/dev/why-you-should-care-about-css-page-performance/">Read it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>Screenqueries</h2>
<p>	   <a class="ct-coll-thumb" href="http://screenqueri.es/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective10_05.jpg" alt="Collective10_05" title="" width="300" height="236" class="alignnone size-full wp-image-8788" /></a></p>
<p>Test your website on different viewport sizes using this awesome tool. You can even test your local sites. It&#8217;s still in Beta but it&#8217;s already super-useful and don&#8217;t forget to watch out for their upcoming responsive design gallery.</p>
<p>	   <a class="ct-coll-link" href="http://screenqueri.es/">Try it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>Arrrows: The Fully Scalable Icon Font</h2>
<p>	   <a class="ct-coll-thumb" href="http://www.arrrows.com/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective10_06.jpg" alt="Collective10_06" title="" width="300" height="86" class="alignnone size-full wp-image-8789" /></a></p>
<p>Tired of creating those little arrows over and over again? Try Arrrows, a fully scalable icon font for your design. Get the free PNG icon set or buy the whole bundle.</p>
<p>	   <a class="ct-coll-link" href="http://www.arrrows.com/">Get it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>Physijs &#8211; Physics plugin for three.js</h2>
<p>	   <a class="ct-coll-thumb" href="https://github.com/chandlerprall/Physijs"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective10_07.jpg" alt="Collective10_07" title="" width="200" height="193" class="alignnone size-full wp-image-8790" /></a></p>
<p>If you have worked with the three.js 3D programming framework, Physijs will be quite interesting to you if you want to add physics to your scene.</p>
<p>	   <a class="ct-coll-link" href="https://github.com/chandlerprall/Physijs">Read it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>Above the Scroll: Does It Matter Anymore?</h2>
<p>	   <a class="ct-coll-thumb" href="http://designshack.net/articles/above-the-scroll-does-it-matter-anymore/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective10_08.jpg" alt="Collective10_08" title="" width="200" height="123" class="alignnone size-full wp-image-8791" /></a></p>
<p>Is it still important to consider the &#8220;fold&#8221; in web design? Carrie gives us this up-to-date exploration of why the &#8220;above the scroll&#8221; concept should be seen and applied as an evolved concept. </p>
<p>	   <a class="ct-coll-link" href="http://designshack.net/articles/above-the-scroll-does-it-matter-anymore/">Read it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>BEM: The Block, Element, Modifier Approach To Decoupling HTML And CSS</h2>
<p>Steven Bradley dives into CSS best practices and introduces us to the <a href="http://bem.github.com/bem-method/pages/beginning/beginning.en.html">BEM approach</a> to develop websites. He argues why we should rethink some of our common CSS practices for creating scalable and maintainable websites.</p>
<p>	   <a class="ct-coll-link" href="http://www.vanseodesign.com/css/block-element-modifier/">Read it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>How to Speed Up CSS Rendering</h2>
<p>	   <a class="ct-coll-thumb" href="http://www.onextrapixel.com/2012/05/03/css-tricks-how-to-speed-up-css-rendering/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective10_09.jpg" alt="Collective10_09" title="" width="300" height="90" class="alignnone size-full wp-image-8792" /></a></p>
<p>Faraz Karimian tells us how to write our CSS efficiently for speedy browser rendering. Understand which types of rules are impactful and expensive.</p>
<p>	   <a class="ct-coll-link" href="http://www.onextrapixel.com/2012/05/03/css-tricks-how-to-speed-up-css-rendering/">Read it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>Showing Product Information With CSS3 3D Transform</h2>
<p>	   <a class="ct-coll-thumb" href="http://www.webstuffshare.com/2012/04/showing-product-information-with-css3-3d-transform/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective10_10.jpg" alt="Collective10_10" title="" width="250" height="115" class="alignnone size-full wp-image-8793" /></a></p>
<p>In this in-depth tutorial, Hidayat Sagita will show you how to create some magic with CSS 3D Transforms.</p>
<p>	   <a class="ct-coll-link" href="http://www.webstuffshare.com/2012/04/showing-product-information-with-css3-3d-transform/">Read it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>Creating Android Dock Using jQuery &amp; CSS3</h2>
<p>	   <a class="ct-coll-thumb" href="http://www.webstuffshare.com/2012/05/creating-android-dock-using-jquery-css3/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective10_11.jpg" alt="Collective10_11" title="" width="300" height="80" class="alignnone size-full wp-image-8794" /></a></p>
<p>Another superb tutorial by Hidayat Sagita where he shows us how to create the Android dock using CSS3 and some jQuery awesomeness.</p>
<p>	   <a class="ct-coll-link" href="http://www.webstuffshare.com/2012/05/creating-android-dock-using-jquery-css3/">Read it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>Responsive design – harnessing the power of media queries</h2>
<p>	   <a class="ct-coll-thumb" href="http://googlewebmastercentral.blogspot.pt/2012/04/responsive-design-harnessing-power-of.html"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective10_13.jpg" alt="Collective10_13" title="" width="300" height="288" class="alignnone size-full wp-image-8796" /></a></p>
<p>Responsive web design from Google&#8217;s perspective: get some important insight on how responsiveness is realized and how to use media queries.</p>
<p>	   <a class="ct-coll-link" href="http://googlewebmastercentral.blogspot.pt/2012/04/responsive-design-harnessing-power-of.html">Read it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>Pilaca Free Font</h2>
<p>	   <a class="ct-coll-thumb" href="http://www.behance.net/gallery/Pilaca-Free-Font/3743257"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective10_15.jpg" alt="Collective10_15" title="" width="250" height="176" class="alignnone size-full wp-image-8798" /></a></p>
<p>Pilaca is a free display font designed by Pier Paolo.  It is quite powerful in 3d applications. </p>
<p>	   <a class="ct-coll-link" href="http://www.behance.net/gallery/Pilaca-Free-Font/3743257">Get it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>Subtle Grunge Minimal Iconset</h2>
<p>	   <a class="ct-coll-thumb" href="http://www.rshahin.com/free-subtle-grunge-minimal-iconset-download-vector-files-included/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective10_16.jpg" alt="Collective10_16" title="" width="218" height="148" class="alignnone size-full wp-image-8799" /></a></p>
<p>Rofikul Islam Shahin gives us this free social media icon set (vector files included).</p>
<p>	   <a class="ct-coll-link" href="http://www.rshahin.com/free-subtle-grunge-minimal-iconset-download-vector-files-included/">Get it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>Icon Design in 5 Steps &#8211; Free Icon Set from Ramotion</h2>
<p>	   <a class="ct-coll-thumb" href="http://abduzeedo.com/icon-design-5-steps-free-icon-set-ramotion"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective10_17.jpg" alt="Collective10_17" title="" width="150" height="63" class="alignnone size-full wp-image-8800" /></a></p>
<p>Learn the main steps of icon design and see the beautiful end result. Denis Pakhaliuk from Ramotion writes about the icon creation process and offers a free icon set for download on Abduzeedo.</p>
<p>	   <a class="ct-coll-link" href="http://abduzeedo.com/icon-design-5-steps-free-icon-set-ramotion">Read it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>Toggles, Buttons and Sliders UI Redux PSD</h2>
<p>	   <a class="ct-coll-thumb" href="http://dribbble.com/shots/546854-Toggles-Buttons-and-Sliders-UI-Redux"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective10_18.jpg" alt="Collective10_18" title="" width="300" height="223" class="alignnone size-full wp-image-8801" /></a></p>
<p>A beautiful set of useful UI Elements from Michael Donovan.</p>
<p>	   <a class="ct-coll-link" href="http://dribbble.com/shots/546854-Toggles-Buttons-and-Sliders-UI-Redux">Get it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>Viewport Sized Typography</h2>
<p>	   <a class="ct-coll-thumb" href="http://css-tricks.com/viewport-sized-typography/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/Collective10_04.jpg" alt="Collective10_04" title="" width="100" height="132" class="alignnone size-full wp-image-8787" /></a></p>
<p>Chris Coyier introduces the new CSS3 values for relative lengths: vw, vh, and vmin. They are not quite supported yet, but you can get an idea how powerful and useful they will be for responsive web design.</p>
<p>	   <a class="ct-coll-link" href="http://css-tricks.com/viewport-sized-typography/">Read it</a><br />
   </article>
</div>
]]></content:encoded>
			<wfw:commentRss>http://tympanus.net/codrops/collective/collective-10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
<!-- This Quick Cache file was built for (  tympanus.net/codrops/feed/ ) in 0.30874 seconds, on May 21st, 2012 at 1:58 pm UTC. -->
<!-- This Quick Cache file will automatically expire ( and be re-built automatically ) on May 21st, 2012 at 2:58 pm UTC -->
