<?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 &#187; CSS3</title>
	<atom:link href="http://tympanus.net/codrops/tag/css3/feed/" rel="self" type="application/rss+xml" />
	<link>http://tympanus.net/codrops</link>
	<description>Useful resources and inspiration for creative minds</description>
	<lastBuildDate>Wed, 23 May 2012 09:46:58 +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>Creating an Animated 3D Bouncing Ball with CSS3</title>
		<link>http://tympanus.net/codrops/2012/05/22/creating-an-animated-3d-bouncing-ball-with-css3/</link>
		<comments>http://tympanus.net/codrops/2012/05/22/creating-an-animated-3d-bouncing-ball-with-css3/#comments</comments>
		<pubDate>Tue, 22 May 2012 10:29:08 +0000</pubDate>
		<dc:creator>Daniel Sternlicht</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[animation]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[transition]]></category>

		<guid isPermaLink="false">http://tympanus.net/codrops/?p=9105</guid>
		<description><![CDATA[In this tutorial we'll create an animated 3D bouncing ball using only CSS3 transitions, animations and shadow effects.]]></description>
			<content:encoded><![CDATA[<p><a href="http://tympanus.net/Tutorials/CSS3BouncingBall/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/bouncing-ball.jpg" alt="Creating an Animated 3D Bouncing Ball with CSS3 " title="Creating an Animated 3D Bouncing Ball with CSS3 " width="580" height="315" class="alignnone size-full wp-image-9241" /></a></p>
<p><a class="demo" href="http://tympanus.net/Tutorials/CSS3BouncingBall/">View demo</a> <a class="download" href="http://tympanus.net/Tutorials/CSS3BouncingBall/CSS3BouncingBall.zip">Download source</a></p>
<p>Hi guys! Today we are going to see another great example of how to use <strong>the power of CSS3</strong>. We will start by creating a very cool and realistic 3D ball with pure CSS3 properties, and add a little CSS3 animations for giving the ball a &#8220;bouncing&#8221; effect.</p>
<p><strong>Please note: the result of this tutorial will only work as intended in browsers that support the respective CSS properties.</strong></p>
<h3>The HTML</h3>
<p>Let&#8217;s start with some very basic HTML:</p>
<pre class="brush:html">
&lt;div id="ballWrapper"&gt;
	&lt;div id="ball"&gt;&lt;/div&gt;
	&lt;div id="ballShadow"&gt;&lt;/div&gt;
&lt;/div&gt;
</pre>
<p>What we have here are 3 simple DIV elements. &#8220;<strong>#ballWrapper</strong>&#8221; is the main DIV which wraps the ball. This DIV will determine the ball&#8217;s position and height on the screen. Next, we have the &#8220;<strong>#ball</strong>&#8221; element which is the ball markup, and finally there is the &#8220;<strong>#ballShadow</strong>&#8221; which holds the ball&#8217;s shadow separately from the ball itself.</p>
<div id="bsap_1266918" class="bsarocks bsap_af25dfd2f1908889af7a1aa5f4dcbd9e"></div><div style="clear:both;"></div>
<h3>The CSS</h3>
<p><em>Note that we won&#8217;t be using vendor prefixes in the tutorial. You will, of course, find them in the files.</em></p>
<p>First, we&#8217;ll want to set a basic width and height to our &#8216;#ballWrapper&#8217; DIV. It will help us position it to the center of the screen:</p>
<pre class="brush:css">
#ballWrapper {
	width: 140px;
	height: 300px;
	position: fixed;
	left: 50%;
	top: 50%;
	margin: -150px 0 0 -70px;
}
</pre>
<p>Note that I gave the DIV both top and left position properties of &#8217;50%&#8217;, and a negative top and left margin which is calculated to be exactly half of the original height and width of the DIV. That way we can center the ball on the screen.</p>
<p>Next in line, let&#8217;s give our ball some styles (grow up, it&#8217;s not that funny&#8230; :])</p>
<pre class="brush:css">
#ball {
	width: 140px;
	height: 140px;
	border-radius: 70px;
	background: linear-gradient(top,  rgba(187,187,187,1) 0%,rgba(119,119,119,1) 99%);
	box-shadow: inset 0 -5px 15px rgba(255,255,255,0.4),
				inset -2px -1px 40px rgba(0,0,0,0.4),
				0 0 1px #000;
}
</pre>
<p>We are giving the ball equal width and height and a &#8216;border-radius&#8217; property with a value of &#8217;70px&#8217; (which is half of the original width and height we&#8217;ve set) so it will be a <strong>ball</strong> and not an <strong>oval</strong> shape.</p>
<p>Another thing you&#8217;ll notice is the background. I gave the ball&#8217;s element a linear background and 3 different box shadow levels so it would get the 3D effect. The first box shadow level is for the <strong>dark shadowing</strong> at the bottom of the ball (see image). Then, we have the second level that is responsible for the blurry glow &#8211; again, at the bottom of the ball. Finally the third level is a hardly noticeable blurry shadow behind the contours of the ball.</p>
<p><img class="alignnone size-full wp-image-9165" title="boxshadow-levels" src="http://tympanus.net/codrops/wp-content/uploads/2012/05/boxshadow-levels.png" alt="" /></p>
<p>If you take a look at the ball you&#8217;ll notice that there is another small oval shape on top of the ball that gives it a reflection effect. Here is how I created it:</p>
<pre class="brush:css">
#ball::after {
	content: "";
	width: 80px;
	height: 40px;
	position: absolute;
	left: 30px;
	top: 10px;
	background: linear-gradient(top,  rgba(232,232,232,1) 0%,rgba(232,232,232,1) 1%,rgba(255,255,255,0) 100%);
	border-radius: 40px / 20px;
}
</pre>
<p>I used the CSS pseudo element <strong>::after</strong> and gave it a linear gradient with an opacity. In addition, I&#8217;ve set the border radius to &#8217;40px / 20px&#8217; so it has an oval shape.</p>
<p>Next, let&#8217;s handle the ball&#8217;s shadow:</p>
<pre class="brush:css">
 #ballShadow {
	width: 60px;
	height: 75px;
	position: absolute;
	z-index: 0;
	bottom: 0;
	left: 50%;
	margin-left: -30px;
	background: rgba(20, 20, 20, .1);
	box-shadow: 0px 0 20px 35px rgba(20,20,20,.1);
	border-radius: 30px / 40px;
}
</pre>
<p>Again, I used the same properties for centering the shadow, but this time I pinned it to the bottom of &#8216;#ballWrapper&#8217;. I also added a semi-transparent background to it, a fitting box shadow and a border radius.</p>
<h3>The bouncing animation</h3>
<p>Now let&#8217;s take a look at the fun stuff&#8230;</p>
<p>I&#8217;ll start by adding the animation property to our ball:</p>
<pre class="brush:css">
#ball {
	animation: jump 1s infinite;
}
</pre>
<p>All I did was to define the animation&#8217;s name (<strong>jump</strong>), the animation&#8217;s duration (1 second) and how many times the animation will happen &#8211; in our case we use &#8216;infinite&#8217; which means that it will run forever.</p>
<p>The animation itself:</p>
<pre class="brush:css">
@keyframes jump {
	0% {
		top: 0;
	}
	50% {
		top: 140px;
		height: 140px;
	}
	55% {
		top: 160px;
		height: 120px;
		border-radius: 70px / 60px;
	}
	65% {
		top: 120px;
		height: 140px;
		border-radius: 70px;
	}
	95% {
		top: 0;
	}
	100% {
		top: 0;
	}
}
</pre>
<p>So, basically what I&#8217;m doing here is to play with the &#8216;top&#8217; position property of the ball. Starting from 0, through 160 and back to 0. You&#8217;ll notice that in the middle of the animation I&#8217;m also playing with the &#8216;border-radius&#8217; property &#8211; that way I handle the &#8220;impact&#8221; of the ball on the ground.</p>
<p>And now the ball&#8217;s shadow; first let&#8217;s add the shadow&#8217;s relevant animation property:</p>
<pre class="brush:css">
#ballShadow {
	animation: shrink 1s infinite;
}
</pre>
<p>I used the same values that I used with the ball, only with a different keyframes animation called <strong>shrink</strong> which looks as follows:</p>
<pre class="brush:css">
@-keyframes shrink {
	0% {
		bottom: 0;
		margin-left: -30px;
		width: 60px;
		height: 75px;
		background: rgba(20, 20, 20, .1);
		box-shadow: 0px 0 20px 35px rgba(20,20,20,.1);
		border-radius: 30px / 40px;
	}
	50% {
		bottom: 30px;
		margin-left: -10px;
		width: 20px;
		height: 5px;
		background: rgba(20, 20, 20, .3);
		box-shadow: 0px 0 20px 35px rgba(20,20,20,.3);
		border-radius: 20px / 20px;
	}
	100% {
		bottom: 0;
		margin-left: -30px;
		width: 60px;
		height: 75px;
		background: rgba(20, 20, 20, .1);
		box-shadow: 0px 0 20px 35px rgba(20,20,20,.1);
		border-radius: 30px / 40px;
	}
}
</pre>
<p>In the shadow&#8217;s animation I played with different properties then in the ball&#8217;s animation. In order to give it all a realistic effect when it comes to the ball&#8217;s distance from the floor, I needed to animate the shadow width, height and opacity. While the ball is close to the floor, the shadow needs to be darker and smaller. When the ball jumps up, the shadow should be <strong>lighter</strong> and <strong>bigger</strong>.</p>
<p>Last, but not least, let&#8217;s add the &#8220;click effect&#8221; to the ball which makes it appear as if it moves away from us when we click and hold. To achieve this effect, all we have to use is the &#8216;<strong>:active</strong>&#8216; pseudo-class, add a transition and play with the CSS3 transform &#8216;scale&#8217; property like this:</p>
<pre class="brush:css">
#ballWrapper {
	transform: scale(1);
	transition: all 5s linear 0s;
}

#ballWrapper:active {
	transform: scale(0);
}
</pre>
<p>The transition from a transform value of scale(1) to scale(0) will make it look as if the element is moving away from you.</p>
<p><a class="demo" href="http://tympanus.net/Tutorials/CSS3BouncingBall/">View demo</a> <a class="download" href="http://tympanus.net/Tutorials/CSS3BouncingBall/CSS3BouncingBall.zip">Download source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://tympanus.net/codrops/2012/05/22/creating-an-animated-3d-bouncing-ball-with-css3/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Animated 3D Bar Chart with CSS3</title>
		<link>http://tympanus.net/codrops/2012/05/21/animated-3d-bar-chart-with-css3/</link>
		<comments>http://tympanus.net/codrops/2012/05/21/animated-3d-bar-chart-with-css3/#comments</comments>
		<pubDate>Mon, 21 May 2012 09:37:38 +0000</pubDate>
		<dc:creator>Sergey Lukin</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[chart]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[pseudo-class]]></category>

		<guid isPermaLink="false">http://tympanus.net/codrops/?p=8894</guid>
		<description><![CDATA[A tutorial on how to create an animated 3d bar chart using CSS only. ]]></description>
			<content:encoded><![CDATA[<p><a href="http://tympanus.net/Tutorials/Animated3DBarChart/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/3dBarChart.jpg" alt="Animated 3D Bar Chart with CSS3" title="Animated 3D Bar Chart with CSS3" width="580" height="315" class="alignnone size-full wp-image-9188" /></a></p>
<p><a class="demo" href="http://tympanus.net/Tutorials/Animated3DBarChart/">View demo</a> <a class="download" href="http://tympanus.net/Tutorials/Animated3DBarChart/Animated3DBarChart.zip">Download source</a></p>
<p>It all began with a small experiment that was inspired by a <a title="Tutorial from Nettuts+" href="http://net.tutsplus.com/tutorials/javascript-ajax/create-an-animated-3d-bar-chartgraph/">tutorial from Nettuts+</a> which shows a way how to embed a 3D bar chart into HTML pages using CSS, images and JavaScript. After reading the tutorial I challenged myself to turn this idea into pure CSS and see how far I can take it. The initial challenge was to create a classic semi-transparent 3D box with 6 sides. The final challenge was to create a complete 3D bar chart which we will create in this tutorial.</p>
<p>You can check out what I have done before <a href="http://sergeylukin.com/css-3d-bar-graph/">here</a>.</p>
<div class="ct-special-box"><strong>Please note: the result of this tutorial will only work as intended in browsers that support the respective CSS properties.</strong></div>
<p>Let&#8217;s write down some key requirements. The chart should be</p>
<ul>
<li>background-independent</li>
<li>adaptive (independent of the number of bars)</li>
<li>scalable (just like vector graphics)</li>
<li>easily customizable (colors, sizes and proportions)</li>
</ul>
<p>The planning phase is the most important part of any project. So let&#8217;s make a plan.</p>
<p>Before actually coding, I usually write down all potential challenges with solutions I can think of in a specific project and repeat this process until I get something that looks like a strategy that can be executed. Here is the list of challenges with solutions I came up with for this project:</p>
<div id="bsap_1266918" class="bsarocks bsap_af25dfd2f1908889af7a1aa5f4dcbd9e"></div><div style="clear:both;"></div>
<h4>Challenge #1 &#8211; A bar with movable inner block</h4>
<p><strong>What we know:</strong></p>
<ul>
<li>A bar should be represented as 3D box consisting of 6 sides</li>
<li>Inner block should be vertically movable in motion. There should be an option to hide the block.</li>
</ul>
<p><strong>What we&#8217;ll need:</strong></p>
<ul>
<li>1 div for back casing consisting of 3 sides (back side, bottom side, left side)</li>
<li>1 div for front casing consisting of 3 sides (front side, top side, right side)</li>
<li>1 div for inner block consisting of 3 sides exactly as Front casing but with lower z-index</li>
<li>1 div container to position all three pieces relatively and apply a solid background patch in the bottom right corner</li>
<li>1 div container with <em>overflow: hidden</em> to hide the inner block under the bar when it goes down to zero</li>
</ul>
<p><strong>That makes a total of 5 divs.</strong></p>
<p>You may wonder why would we need two containers? Well, it may be a tricky part but I will try to explain.<br />
We need at least one container per bar (to hold front casing, back casing and inner block relatively to it). We know that our bar should be scalable, so we use percentages to manipulate the bar&#8217;s fill value, which requires our container&#8217;s height to be equal to the height of one of the bar&#8217;s sides.</p>
<p>Seems fine, but wait, looks like there is another problem &#8211; there should be an option to hide the inner block in motion, which means it should go &#8220;below the bar&#8221; and be hidden there. You may say we have a solution for that &#8211; <em>overflow: hidden</em>, right? Yes, but not for that container as its height is shorter than the actual height of the bar. That is why we add another container over it and apply <em>overflow: hidden</em> to it.<br />
Hope this makes sense. Let&#8217;s move on.</p>
<h4>Challenge #2 &#8211; The Graph Holder</h4>
<p><strong>The graph holder should</strong></p>
<ul>
<li>be represented in 3D with axes and with 3 sides (background, bottom, left)</li>
<li>be background-independent</li>
<li>be adaptive to the number of bars and their attributes (height, width etc.)</li>
<li>have X and Y axis labels from outside</li>
</ul>
<p><strong>What we&#8217;ll need:</strong></p>
<ul>
<li>1 unordered list</li>
<li>1 element inside each list item for the X axis labels</li>
<li>1 bar inside each list item</li>
<li>1 list item with an unordered list inside it for the Y axis labels</li>
</ul>
<p>Hmm, unordered list? Isn&#8217;t it more semantic to use a definition list for a bar chart? Well, it is probably more semantic, but we can&#8217;t use it because we have to wrap every bar and its own X axis label in one container in order to position them relatively.</p>
<p>All right, but why wouldn&#8217;t we use a list item instead of the bar&#8217;s second container then? Well, we can&#8217;t do that because we have to place the X axis labels outside the graph and since we know that the bar&#8217;s second container hides any content that overflows it, we will use list items just to make sure all elements are positioned properly.</p>
<h3>The Implementation</h3>
<p>Now that we have a strategy, let&#8217;s convert it into code.</p>
<p><em>Please note that no vendor prefixes will be used in this tutorial. You can, of course, find them in the CSS files of the demo.</em></p>
<h4>Challenge #1 &#8211; A bar with movable inner block</h4>
<pre class="brush:html">&lt;div class="bar-wrapper"&gt;
  &lt;div class="bar-container"&gt;
    &lt;div class="bar-background"&gt;&lt;/div&gt;
    &lt;div class="bar-inner"&gt;50&lt;/div&gt;
    &lt;div class="bar-foreground"&gt;&lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;</pre>
<p>Let&#8217;s go over the purpose of each element once again:</p>
<ul>
<li><em>bar-wrapper</em> &#8211; hides .bar-inner when it slides down below the bar</li>
<li><em>bar-container</em> &#8211; positions .bar-foreground, .bar-inner, .bar-foreground relatively and places patch for background in a bottom corner</li>
<li><em>bar-background</em> &#8211; creates 3 sides of casing: back, bottom, left</li>
<li><em>bar-inner</em> &#8211; the most important part probably &#8211; inner block</li>
<li><em>bar-foreground</em> &#8211; creates 3 sides of casing: front, top, right</li>
</ul>
<p>First, let&#8217;s style the containers.</p>
<pre class="brush:css">
/* Bar wrapper - hides the inner bar when it goes below the bar, required */
.bar-wrapper {
  overflow: hidden;
}
/* Bar container - this guy is a real parent of a bar's parts - they all are positioned relative to him */
.bar-container {
  position: relative;
  margin-top: 2.5em; /* should be at least equal to the top offset of background casing */
                     /* because back casing is positioned higher than actual bar */
  width: 12.5em; /* required, we have to define the width of a bar */
}
/* right bottom patch - make sure inner bar's right bottom corner is "cut" when it slides down */
.bar-container:before {
  content: "";
  position: absolute;
  z-index: 3; /* to be above .bar-inner */

  bottom: 0;
  right: 0;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/*************************************
 *   Bars Fill                       *
 * Just an example of filling 3 bars *
 *************************************/
.graph-container &gt; li:nth-child(1) .bar-inner { height: 25%; bottom: 0; }
.graph-container &gt; li:nth-child(2) .bar-inner { height: 50%; bottom: 0; }
.graph-container &gt; li:nth-child(3) .bar-inner { height: 75%; bottom: 0; }</pre>
<p>In the demo provided with this tutorial you will not find this part as it is here, because I did something even more interesting there &#8211; I used radio buttons to let you play with the variables without modifying the code. Feel free to check out its source code. But if you just need to customize a static graph grab the code snippet from above and customize it to your preference.</p>
<h3>Conclusion</h3>
<p>Let&#8217;s go over some featured CSS specifications/techniques we covered in this tutorial. So, we&#8217;ve used</p>
<ul>
<li><strong>transform: skew()</strong> and <strong>transform: rotate()</strong> in order to transform our elements so that together they generate an illusion of a 3D object</li>
<li><strong>:before</strong> and<strong> :after</strong> pseudo classes to generate elements with CSS and keep our HTML markup relatively clean</li>
<li><strong>:nth-last-child()</strong> and <strong>:not</strong> pseudo classes to target specific list items and avoid adding extra classes/ids to the markup</li>
<li><strong>linear-gradient</strong> together with background-position to <em>partially</em> fill an element with a background</li>
<li><strong>rgba()</strong> for colors with alpha-transparency</li>
<li><strong>borders</strong> to create shapes like a triangle</li>
</ul>
<p>I really hope that this tutorial was useful to you. If you have any questions regarding this tutorial, let me know in the comments below.</p>
<div class="ct-github-link">
<a href="https://github.com/sergeylukin/css-3d-bar-graph">Find this project on Github</a>
</div>
<p><a class="demo" href="http://tympanus.net/Tutorials/Animated3DBarChart/">View demo</a> <a class="download" href="http://tympanus.net/Tutorials/Animated3DBarChart/Animated3DBarChart.zip">Download source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://tympanus.net/codrops/2012/05/21/animated-3d-bar-chart-with-css3/feed/</wfw:commentRss>
		<slash:comments>10</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>7</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>79</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>
		<item>
		<title>Enhance Required Form Fields with CSS3</title>
		<link>http://tympanus.net/codrops/2012/05/02/enhance-required-form-fields-with-css3/</link>
		<comments>http://tympanus.net/codrops/2012/05/02/enhance-required-form-fields-with-css3/#comments</comments>
		<pubDate>Wed, 02 May 2012 12:46:26 +0000</pubDate>
		<dc:creator>Mary Lou</dc:creator>
				<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[sibling combinator]]></category>
		<category><![CDATA[transition]]></category>

		<guid isPermaLink="false">http://tympanus.net/codrops/?p=8745</guid>
		<description><![CDATA[Enhance required fields in a form with this little effect. The idea is to allow better visibility for obligatory fields while de-emphasizing optional ones.]]></description>
			<content:encoded><![CDATA[<p><a href="http://tympanus.net/TipsTricks/EnhanceRequiredFields/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/05/EnhanceRequiredFields.jpg" alt="Enhance Required Fields with CSS3" title="Enhance Required Fields with CSS3" width="580" height="315" class="alignnone size-full wp-image-8747" /></a></p>
<p><a class="demo" href="http://tympanus.net/TipsTricks/EnhanceRequiredFields/">View demo</a> <a class="download" href="http://tympanus.net/TipsTricks/EnhanceRequiredFields/EnhanceRequiredFields.zip">Download source</a></p>
<p>Today I want to share a little subtle effect with you: enhancing required fields in a form. Many web forms are designed in a minimal way, i.e. by only collecting the most necessary data from users. Just think of sign up forms where you don&#8217;t want to make your potential customer leave because there are just too many things he has to fill out. But there are also many forms where additional information is asked and the user is actually willing to or needs to fill optional fields. You can think of an order form or a classifieds form. </p>
<div class="ct-special-box"><strong>Please note: this will only work as intended in browsers that support the respective CSS properties.</strong></div>
<p>The idea is to allow the user to enhance only the required fields so that he has a notion about what fields are actually required. That&#8217;s normally done a little * or similar but we want to go a step further and create a little interactive effect for a better visualisation of required fields.</p>
<p>For that we will wrap some form labels and inputs with two divisions that will allow us to apply a variety of effect. The outer wrapper will have an additional class if the field is required (<strong>af-required</strong>):</p>
<pre class="brush:xml">
&lt;form class="af-form" id="af-form" novalidate&gt;

		&lt;div class="af-outer"&gt;
			&lt;div class="af-inner"&gt;
				&lt;label&gt;Title&lt;/label&gt;
				&lt;input type="text" name="title"&gt;
			&lt;/div&gt;
		&lt;/div&gt;

		&lt;div class="af-outer af-required"&gt;
			&lt;div class="af-inner"&gt;
				&lt;label&gt;Name&lt;/label&gt;
				&lt;input type="text" name="fullname" required&gt;
			&lt;/div&gt;
		&lt;/div&gt;

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

&lt;/form&gt;
</pre>
<p>We&#8217;ll take a look the style of <a href="http://tympanus.net/TipsTricks/EnhanceRequiredFields/index2.html">Demo 2</a>, which will scale down the non-required fields hence make them disappear. For that, we&#8217;ll decrease the height of the other wrapper while we scale down the inner one.</p>
<div id="bsap_1266918" class="bsarocks bsap_af25dfd2f1908889af7a1aa5f4dcbd9e"></div><div style="clear:both;"></div>
<p>We&#8217;ll add a transition to the outer wrapper, define a fixed height and set the overflow to hidden because we don&#8217;t want the content to be visible when we decrease the height:</p>
<pre class="brush:css">
.af-outer {
	overflow: hidden;
	height: 70px;
	box-shadow: 0 1px 0 #f5f5f5 inset;
	transition: all 0.5s linear;
}
</pre>
<p>For the inner wrapper, we&#8217;ll set the transform origin to be &#8220;center top&#8221; so that we can still see it scaling while we decrease the height of the outer one. Initially the scale is set to 1 (you don&#8217;t really have to set that):</p>
<pre class="brush:css">
.af-inner {
	padding: 15px 20px 15px 20px;
	transform-origin: center top;
	transform: scale(1);
	transition: all 0.5s linear;
}
</pre>
<p>At the top of the form we have a little button (a checkbox) with the id <strong>af-showreq</strong> and when we check that button, we will scale down the optional fields. We can use the :not pseudo class to get to our desired elements but you could of course give classes to the optional fields instead and access them directly with the general sibling combinator.</p>
<p>So, we&#8217;ll decrease the height of the outer wrappers and scale down and fade out the inner ones:</p>
<pre class="brush:css">
#af-showreq:checked ~ .af-form .af-outer:not(.af-required) {
	height: 0px;
	visibility: hidden;
}
#af-showreq:checked ~ .af-form .af-outer:not(.af-required) .af-inner {
	transform: scale(0);
	opacity: 0;
}
</pre>
<p>Setting visibility to <em>hidden</em> will guarantee that we can tab through the resting fields without passing through the other ones. Here we can&#8217;t use <em>display: none</em> because otherwise our transition won&#8217;t work. </p>
<p><strong>Hope you enjoyed this tip!</strong></p>
<p><a class="demo" href="http://tympanus.net/TipsTricks/EnhanceRequiredFields/">View demo</a> <a class="download" href="http://tympanus.net/TipsTricks/EnhanceRequiredFields/EnhanceRequiredFields.zip">Download source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://tympanus.net/codrops/2012/05/02/enhance-required-form-fields-with-css3/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>Collective #9</title>
		<link>http://tympanus.net/codrops/collective/collective-9/</link>
		<comments>http://tympanus.net/codrops/collective/collective-9/#comments</comments>
		<pubDate>Mon, 30 Apr 2012 15:25:24 +0000</pubDate>
		<dc:creator>Mary Lou</dc:creator>
				<category><![CDATA[CSS3]]></category>
		<category><![CDATA[inspiration]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[logo]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://tympanus.net/codrops/?post_type=collective&#038;p=8704</guid>
		<description><![CDATA[Logo Inspiration * Tutorial Craziness * Hip Skeumorphism * Free Social Icons * CSS3 Goodness * Easybook]]></description>
			<content:encoded><![CDATA[<div class="ct-coll-item">
<article>
<h2>A Pure CSS3 Cycling Slideshow</h2>
<p>	   <a class="ct-coll-thumb" href="http://coding.smashingmagazine.com/2012/04/25/pure-css3-cycling-slideshow/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/04/Collective9_01.jpg" alt="Collective9_01" title="" width="300" height="141" class="alignnone size-full wp-image-8714" /></a></p>
<p>In this detailed in-depth tutorial, Alessio Atzeni shows us how to create an infinitely looping slider of images using only CSS3 animation.</p>
<p>	   <a class="ct-coll-link" href="http://coding.smashingmagazine.com/2012/04/25/pure-css3-cycling-slideshow/">Read it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>TouchTouch – A Touch Optimized Gallery Plugin</h2>
<p>	   <a class="ct-coll-thumb" href="http://tutorialzine.com/2012/04/mobile-touch-gallery/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/04/Collective9_02.jpg" alt="Collective9_02" title="" width="200" height="159" class="alignnone size-full wp-image-8715" /></a></p>
<p>Martin Angelov shares his newest experiment with us: a jQuery plugin that turns a collection of photos on a website into a touch-friendly mobile gallery. It was designed with iOS and Android in mind.</p>
<p>	   <a class="ct-coll-link" href="http://tutorialzine.com/2012/04/mobile-touch-gallery/">Get it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>No Cookie Law</h2>
<p>	   <a class="ct-coll-thumb" href="http://nocookielaw.com/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/04/Collective9_03.jpg" alt="Collective9_03" title="" width="300" height="94" class="alignnone size-full wp-image-8716" /></a></p>
<p>Please take a moment to get familiar with this new law of the European Union. The law makes the use of web cookies illegal in Europe without asking people for permission first. This will negatively impact user experience and not solve any privacy issues. <strong>Please spread the word to raise awareness and sign the petition in order to make a change.</strong> Also, read <a href="http://speckyboy.com/2012/04/27/no-to-the-cookie-law/">this article</a> on Speckyboy about the campaign.</p>
<p>	   <a class="ct-coll-link" href="http://nocookielaw.com/">Check it out</a><br />
   </article>
</div>
<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>Logo Inspiration from Dribbble</h2>
<p>		<a class="ct-coll-thumb" href="http://dribbble.com/shots/502606-Antigone-Identity"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/04/Collective9_DribbbleLogo01.jpg" alt="Collective9_DribbbleLogo01" title="" width="330" height="248" class="alignnone size-full wp-image-8728" /></a></p>
<p>Antigone Identity by Bruno Fernandes</p>
</article>
<article>
<h2>Logo Inspiration from Dribbble</h2>
<p>		<a class="ct-coll-thumb" href="http://dribbble.com/shots/536098-Dog-Show"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/04/Collective9_DribbbleLogo02.jpg" alt="Collective9_DribbbleLogo02" title="" width="330" height="248" class="alignnone size-full wp-image-8729" /></a></p>
<p>Dog Show by Den Parukedonos</p>
</article>
<article>
<h2>Logo Inspiration from Dribbble</h2>
<p>		<a class="ct-coll-thumb" href="http://dribbble.com/shots/529340-Waterdrops-logo"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/04/Collective9_DribbbleLogo03.jpg" alt="Collective9_DribbbleLogo03" title="" width="330" height="248" class="alignnone size-full wp-image-8730" /></a></p>
<p>Waterdrops Logo by Steffan Lund</p>
</article>
<article>
<h2>Logo Inspiration from Dribbble</h2>
<p>		<a class="ct-coll-thumb" href="http://dribbble.com/shots/529844-Zemelyshka"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/04/Collective9_DribbbleLogo04.jpg" alt="Collective9_DribbbleLogo04" title="" width="330" height="248" class="alignnone size-full wp-image-8731" /></a></p>
<p>Zemelyshka by Igor_Eezo</p>
</article>
<article>
<h2>Logo Inspiration from Dribbble</h2>
<p>		<a class="ct-coll-thumb" href="http://dribbble.com/shots/534094-Weldworks5"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/04/Collective9_DribbbleLogo05.jpg" alt="Collective9_DribbbleLogo05" title="" width="330" height="248" class="alignnone size-full wp-image-8732" /></a></p>
<p>Weldworks5 by Shannon Hatch</p>
</article>
<article>
<h2>Logo Inspiration from Dribbble</h2>
<p>		<a class="ct-coll-thumb" href="http://dribbble.com/shots/534727-C"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/04/Collective9_DribbbleLogo06.jpg" alt="Collective9_DribbbleLogo06" title="" width="330" height="248" class="alignnone size-full wp-image-8733" /></a></p>
<p>C by Ivan Bobrov</p>
</article>
<article>
<h2>Logo Inspiration from Dribbble</h2>
<p>		<a class="ct-coll-thumb" href="http://dribbble.com/shots/537236-Bakers-At-Dawn"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/04/Collective9_DribbbleLogo07.jpg" alt="Collective9_DribbbleLogo07" title="" width="330" height="248" class="alignnone size-full wp-image-8734" /></a></p>
<p>Bakers At Dawn by Becky Weykamp</p>
</article>
<article>
<h2>Logo Inspiration from Dribbble</h2>
<p>		<a class="ct-coll-thumb" href="http://dribbble.com/shots/533030-Peacock"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/04/Collective9_DribbbleLogo08.jpg" alt="Collective9_DribbbleLogo08" title="" width="330" height="248" class="alignnone size-full wp-image-8735" /></a></p>
<p>Peacock by Dalius Stuoka</p>
</article>
<article>
<h2>Logo Inspiration from Dribbble</h2>
<p>		<a class="ct-coll-thumb" href="http://dribbble.com/shots/536197-BIRDLOGO"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/04/Collective9_DribbbleLogo09.jpg" alt="Collective9_DribbbleLogo09" title="" width="330" height="248" class="alignnone size-full wp-image-8736" /></a></p>
<p>BIRDLOGO by Dominik Schmidt</p>
</article>
<article>
<h2>Logo Inspiration from Dribbble</h2>
<p>		<a class="ct-coll-thumb" href="http://dribbble.com/shots/537714-Nerds-Night-Out-Logo"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/04/Collective9_DribbbleLogo10.jpg" alt="Collective9_DribbbleLogo10" title="" width="330" height="248" class="alignnone size-full wp-image-8737" /></a></p>
<p>Nerds Night Out Logo by Jared Bell</p>
</article>
</div>
<div class="ct-coll-item">
<article>
<h2>CSS3 Structural Pseudo-class Expressions Explained</h2>
<p>	   <a class="ct-coll-thumb" href="http://www.impressivewebs.com/css3-pseudo-class-expressions/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/04/Collective9_04.jpg" alt="Collective9_04" title="" width="270" height="72" class="alignnone size-full wp-image-8717" /></a></p>
<p>Learn how pseudo-classes that use a function-like syntax (like for example <em>li:nth-child(4n+2) and others)</em> work. </p>
<p>	   <a class="ct-coll-link" href="http://www.impressivewebs.com/css3-pseudo-class-expressions/">Read it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>Interactive Menu with CSS3 &amp; jQuery</h2>
<p>	   <a class="ct-coll-thumb" href="http://www.red-team-design.com/interactive-menu-with-css3-jquery"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/04/Collective9_05.jpg" alt="Collective9_05" title="" width="140" height="87" class="alignnone size-full wp-image-8718" /></a></p>
<p>In this tutorial you will learn how to create a nice menu that will expand its items once you click on them. It uses some CSS3 goodness and also jQuery.</p>
<p>	   <a class="ct-coll-link" href="http://www.red-team-design.com/interactive-menu-with-css3-jquery">Read it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>Cubism.js</h2>
<p>	   <a class="ct-coll-thumb" href="http://square.github.com/cubism/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/04/Collective9_06.jpg" alt="Collective9_06" title="" width="260" height="137" class="alignnone size-full wp-image-8719" /></a></p>
<p>This powerful <a href="http://mbostock.github.com/d3/">D3</a> plugin will allow you to create better real-time visualizations of time series. It can pull data from several sources, such as <a href="http://graphite.wikidot.com/">Graphite</a> and <a href="http://square.github.com/cube/">Cube</a>.</p>
<p>	   <a class="ct-coll-link" href="http://square.github.com/cubism/">Check it out</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>Skeumorphism and Storytelling</h2>
<p>	   <a class="ct-coll-thumb" href="http://tobiasahlin.com/blog/skeumorphism-and-storytelling/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/04/Collective9_07.jpg" alt="Collective9_07" title="" width="300" height="160" class="alignnone size-full wp-image-8720" /></a></p>
<p>Read about what skeumorphism has to do with storytelling and how usability benefits with skeuomorphic design despite the critique of &#8220;making digital things look like real things&#8221;.</p>
<p>	   <a class="ct-coll-link" href="http://tobiasahlin.com/blog/skeumorphism-and-storytelling/">Read it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>Free Social Icon Pack</h2>
<p>	   <a class="ct-coll-thumb" href="http://www.onextrapixel.com/2012/04/24/freebies-social-icons-pack-for-designers-and-developers/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/04/Collective9_08.jpg" alt="Collective9_08" title="" width="140" height="98" class="alignnone size-full wp-image-8721" /></a></p>
<p>A nice social media icon set from Onextrapixel, made by Stéphanie Walter.</p>
<p>	   <a class="ct-coll-link" href="http://www.onextrapixel.com/2012/04/24/freebies-social-icons-pack-for-designers-and-developers/">Get it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>Circular Thumbnail Gallery With CSS</h2>
<p>	   <a class="ct-coll-thumb" href="http://designshack.net/articles/css/circlegallery/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/04/Collective9_09.jpg" alt="Collective9_09" title="" width="200" height="99" class="alignnone size-full wp-image-8722" /></a></p>
<p>In this tutorial you will learn how to create a thumbnail gallery with circular thumbnails that animate on hover.</p>
<p>	   <a class="ct-coll-link" href="http://designshack.net/articles/css/circlegallery/">Read it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>Easybook</h2>
<p>	   <a class="ct-coll-thumb" href="http://easybook-project.org/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/04/Collective9_10.jpg" alt="Collective9_10" title="" width="300" height="169" class="alignnone size-full wp-image-8723" /></a></p>
<p>Easybook is an application that lets you easily publish books in various electronic formats. It was designed to publish technical programming books, but it can be used for publishing novels, manuals, technical books and websites. It was released under MIT open source license, so you can use it freely and modify it.</p>
<p>	   <a class="ct-coll-link" href="http://easybook-project.org/">Get it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>Audio Player in HTML5 &amp; CSS3</h2>
<p>	   <a class="ct-coll-thumb" href="http://designmodo.com/audio-player/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/04/Collective9_11.jpg" alt="Collective9_11" title="" width="200" height="70" class="alignnone size-full wp-image-8724" /></a></p>
<p>Learn how to create a beautiful audio player using MediaElement.js in this tutorial. The interface is designed using the <a href="http://designmodo.com/impressionist/">Impressionist UI</a>.</p>
<p>	   <a class="ct-coll-link" href="http://designmodo.com/audio-player/">Read it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>Transitions Only After Page Load</h2>
<p>Learn how to load CSS transitions only after the page is loaded with this little trick.</p>
<p>	   <a class="ct-coll-link" href="http://css-tricks.com/transitions-only-after-page-load/">Read it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>Accordion Image Gallery with only CSS</h2>
<p>	   <a class="ct-coll-thumb" href="http://speckyboy.com/2012/04/25/how-to-build-an-accordion-image-gallery-with-only-css/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/04/Collective9_12.jpg" alt="Collective9_12" title="" width="150" height="69" class="alignnone size-full wp-image-8725" /></a></p>
<p>Heiko Stiegert shows us how to create a CSS-only accordion image gallery using the CSS3 pseudo-classes :target and :not(). </p>
<p>	   <a class="ct-coll-link" href="http://speckyboy.com/2012/04/25/how-to-build-an-accordion-image-gallery-with-only-css/">Read it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>Koottam Social jQuery Plugin</h2>
<p>	   <a class="ct-coll-thumb" href="http://jobyj.in/koottam-jquery-plugin/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/04/Collective9_13.jpg" alt="Collective9_13" title="" width="200" height="120" class="alignnone size-full wp-image-8726" /></a></p>
<p>This jQuery Plugin will display your social links together with those interesting numbers. It is themeable, very easy to use and it comes with some useful options.</p>
<p>	   <a class="ct-coll-link" href="http://jobyj.in/koottam-jquery-plugin/">Get it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>Real Shadow</h2>
<p>	   <a class="ct-coll-thumb" href="http://indamix.github.com/real-shadow/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/04/Collective9_14.jpg" alt="Collective9_14" title="" width="190" height="117" class="alignnone size-full wp-image-8727" /></a></p>
<p>With this cool jQuery Plugin you can cast photorealistic shadows.</p>
<p>	   <a class="ct-coll-link" href="http://indamix.github.com/real-shadow/">Get it</a><br />
   </article>
</div>
<div class="ct-coll-item">
<article>
<h2>The Two-Click Rule</h2>
<p>A very interesting read about the visitors&#8217; behavior of a corporate website and what implications it has for designing. </p>
<p>	   <a class="ct-coll-link" href="http://nform.com/blog/2012/04/the-two-click-rule">Read it</a><br />
   </article>
</div>
]]></content:encoded>
			<wfw:commentRss>http://tympanus.net/codrops/collective/collective-9/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fluid CSS3 Slideshow with Parallax Effect</title>
		<link>http://tympanus.net/codrops/2012/04/30/fluid-css3-slideshow-with-parallax-effect/</link>
		<comments>http://tympanus.net/codrops/2012/04/30/fluid-css3-slideshow-with-parallax-effect/#comments</comments>
		<pubDate>Mon, 30 Apr 2012 11:09:46 +0000</pubDate>
		<dc:creator>Ring Wing</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[fluid]]></category>
		<category><![CDATA[parallax]]></category>
		<category><![CDATA[sibling combinator]]></category>
		<category><![CDATA[slideshow]]></category>
		<category><![CDATA[transition]]></category>

		<guid isPermaLink="false">http://tympanus.net/codrops/?p=8631</guid>
		<description><![CDATA[In this tutorial we will create a slideshow with a parallax effect using several CSS3 properties. The idea is to move the background positions of two backgrounds while sliding the container of the slides.]]></description>
			<content:encoded><![CDATA[<p><a href="http://tympanus.net/Tutorials/CSS3FluidParallaxSlideshow/"><img src="http://tympanus.net/codrops/wp-content/uploads/2012/04/CSS3FluidParallaxSlideshow.jpg" alt="Fluid CSS3 Slideshow with Parallax Effect" title="Fluid CSS3 Slideshow with Parallax Effect" width="580" height="315" class="alignnone size-full wp-image-8696" /></a></p>
<p><a class="demo" href="http://tympanus.net/Tutorials/CSS3FluidParallaxSlideshow/">View demo</a> <a class="download" href="http://tympanus.net/Tutorials/CSS3FluidParallaxSlideshow/CSS3FluidParallaxSlideshow.zip">Download source</a></p>
<p>In this tutorial, we are going to create a slideshow with a parallax effect with the help of some CSS3 properties. We&#8217;ll use radio buttons and sibling combinators for controlling which slide is shown. There will be two backgrounds and the idea is to change the background positions and the position of the slider with transitions in order to create a slight parallax effect.</p>
<p>The graphics used in the demo are by: <a href="http://5milli.deviantart.com/art/Global-Map-Vector-100880703">5Milli</a> (Global Vector Map) and by <a href="http://wegraphics.net/downloads/free-vector-infographic-kit/">WeGraphics</a> (Free Vector Infographic Kit).</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>
<div id="bsap_1266918" class="bsarocks bsap_af25dfd2f1908889af7a1aa5f4dcbd9e"></div><div style="clear:both;"></div>
<h3>The Markup</h3>
<p>We will &#8220;connect&#8221; the input elements to the division with the class <strong>sp-content</strong> by using the general sibling combinator. For that we will leave the inputs on the same level like the <strong>sp-content</strong> div. When we click on an input we will change the background color and background position of it (grid pattern) and also the background-position of the <strong>sp-parallax-bg</strong> div (the world map) with transitions. The respective slide will be shown by moving the <strong>sp-slider</strong> ul to the right position. The markup looks as follows:</p>
<pre class="brush:xml">
&lt;div class="sp-slideshow"&gt;

	&lt;input id="button-1" type="radio" name="radio-set" class="sp-selector-1" checked="checked" /&gt;
	&lt;label for="button-1" class="button-label-1"&gt;&lt;/label&gt;

	&lt;input id="button-2" type="radio" name="radio-set" class="sp-selector-2" /&gt;
	&lt;label for="button-2" class="button-label-2"&gt;&lt;/label&gt;

	&lt;input id="button-3" type="radio" name="radio-set" class="sp-selector-3" /&gt;
	&lt;label for="button-3" class="button-label-3"&gt;&lt;/label&gt;

	&lt;input id="button-4" type="radio" name="radio-set" class="sp-selector-4" /&gt;
	&lt;label for="button-4" class="button-label-4"&gt;&lt;/label&gt;

	&lt;input id="button-5" type="radio" name="radio-set" class="sp-selector-5" /&gt;
	&lt;label for="button-5" class="button-label-5"&gt;&lt;/label&gt;

	&lt;label for="button-1" class="sp-arrow sp-a1"&gt;&lt;/label&gt;
	&lt;label for="button-2" class="sp-arrow sp-a2"&gt;&lt;/label&gt;
	&lt;label for="button-3" class="sp-arrow sp-a3"&gt;&lt;/label&gt;
	&lt;label for="button-4" class="sp-arrow sp-a4"&gt;&lt;/label&gt;
	&lt;label for="button-5" class="sp-arrow sp-a5"&gt;&lt;/label&gt;

	&lt;div class="sp-content"&gt;
		&lt;div class="sp-parallax-bg"&gt;&lt;/div&gt;
		&lt;ul class="sp-slider clearfix"&gt;
			&lt;li&gt;&lt;img src="images/image1.png" alt="image01" /&gt;&lt;/li&gt;
			&lt;li&gt;&lt;img src="images/image2.png" alt="image02" /&gt;&lt;/li&gt;
			&lt;li&gt;&lt;img src="images/image3.png" alt="image03" /&gt;&lt;/li&gt;
			&lt;li&gt;&lt;img src="images/image4.png" alt="image04" /&gt;&lt;/li&gt;
			&lt;li&gt;&lt;img src="images/image5.png" alt="image05" /&gt;&lt;/li&gt;
		&lt;/ul&gt;
	&lt;/div&gt;&lt;!-- sp-content --&gt;

&lt;/div&gt;&lt;!-- sp-slideshow --&gt;
</pre>
<p>The list elements are the wrappers for each slide and although we are using simply images here, you can use any kind of content.</p>
<h3>The CSS</h3>
<p>We&#8217;ll set the width of the main container to 80% and set the width of the divisions with class <strong>sp-content</strong> and class <strong>sp-parallax-bg</strong> to 100%. The <strong>sp-content</strong> div will have a background color and a background image (grid) that we will move whenever we slide the slider ul. The <strong>sp-parallax-bg</strong> div will have a map as background image and we will also move the background position.</p>
<pre class="brush:css">
.sp-slideshow {
    position: relative;
	margin: 10px auto;
	width: 80%;
	max-width: 1000px;
	min-width: 260px;
	height: 460px;
	border: 10px solid #fff;
	border: 10px solid rgba(255,255,255,0.9);
    box-shadow: 0 2px 6px rgba(0,0,0,0.2);
}

.sp-content {
    background: #7d7f72 url(../images/grid.png) repeat scroll 0 0;
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.sp-parallax-bg {
    background: url(../images/map.png) repeat-x scroll 0 0;
    background-size: cover;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
}
</pre>
<p>The styles of the inputs and the labels:</p>
<pre class="brush:css">
.sp-slideshow input {
    position: absolute;
	bottom: 15px;
	left: 50%;
	width: 9px;
	height: 9px;
	z-index: 1001;
	cursor: pointer;
    opacity: 0;
}

.sp-slideshow input + label {
    position: absolute;
    bottom: 15px;
	left: 50%;
    width: 6px;
	height: 6px;
	display: block;
	z-index: 1000;
	border: 3px solid #fff;
	border: 3px solid rgba(255,255,255,0.9);
    border-radius: 50%;
    transition: background-color linear 0.1s;
}
.sp-slideshow input:checked + label {
	background-color: #fff;
    background-color: rgba(255,255,255,0.9);
}

.sp-selector-1, .button-label-1 {
    margin-left: -36px;
}

.sp-selector-2, .button-label-2 {
    margin-left: -18px;
}

.sp-selector-4, .button-label-4 {
    margin-left: 18px;
}

.sp-selector-5, .button-label-5 {
    margin-left: 36px;
}
</pre>
<p>We&#8217;ve set the opacity of the inputs to 0 so that they are not visible. The labels are under the radio button and we will make it look like a little circle. All the inputs and labels will be positioned absolutely and we will place them next to each other by applying a left margin.</p>
<p>Next, we will style the arrows which are simply labels with the respective <em>for</em> attribute. Note, that clicking on a label to active an associated input might not work in mobile browsers. But anyway, you can navigate using the dots since we are actually clicking on the inputs.</p>
<p>The arrow labels have the following style:</p>
<pre class="brush:css">
.sp-arrow {
    position: absolute;
	top: 50%;
	width: 28px;
	height: 38px;
	margin-top: -19px;
	display: none;
	opacity: 0.8;
	cursor: pointer;
	z-index: 1000;
	background: transparent url(../images/arrows.png) no-repeat;
    transition: opacity linear 0.3s;
}
.sp-arrow:hover{
	opacity: 1;
}
.sp-arrow:active{
	margin-top: -18px;
}
</pre>
<p>Now, let&#8217;s define when each arrow is shown. On the first slide we, for example, don&#8217;t want to show the left arrow. And on the last slide we don&#8217;t want to show the right arrow:</p>
<pre class="brush:css">
.sp-selector-1:checked ~ .sp-arrow.sp-a2,
.sp-selector-2:checked ~ .sp-arrow.sp-a3,
.sp-selector-3:checked ~ .sp-arrow.sp-a4,
.sp-selector-4:checked ~ .sp-arrow.sp-a5 {
    right: 15px;
	display: block;
	background-position: top right;
}
.sp-selector-2:checked ~ .sp-arrow.sp-a1,
.sp-selector-3:checked ~ .sp-arrow.sp-a2,
.sp-selector-4:checked ~ .sp-arrow.sp-a3,
.sp-selector-5:checked ~ .sp-arrow.sp-a4 {
    left: 15px;
	display: block;
	background-position: top left;
}
</pre>
<p>When an input is selected, the <strong>sp-content</strong> div will have a transition for the <em>background-position</em> and the <em>background-color</em>. The second transition is going to take a bit longer:</p>
<pre class="brush:css">
.sp-slideshow input:checked ~ .sp-content {
    transition: background-position linear 0.6s, background-color linear 0.8s;
}
</pre>
<p>The div with the world map (sp-parallax-bg) will also have a transition for the background-position:</p>
<pre class="brush:css">
.sp-slideshow input:checked ~ .sp-content .sp-parallax-bg {
    transition: background-position linear 0.7s;
}
</pre>
<p>In this way we can add a background parallax effect.</p>
<p>Let&#8217;s define the changes to color and background-position for the sp-content div:</p>
<pre class="brush:css">
input.sp-selector-1:checked ~ .sp-content {
    background-position: 0 0;
	background-color: #727b7f;
}

input.sp-selector-2:checked ~ .sp-content {
    background-position: -100px 0;
	background-color: #7f7276;
}

input.sp-selector-3:checked ~ .sp-content {
    background-position: -200px 0;
	background-color: #737f72;
}

input.sp-selector-4:checked ~ .sp-content {
    background-position: -300px 0;
	background-color: #79727f;
}

input.sp-selector-5:checked ~ .sp-content {
    background-position: -400px 0;
	background-color: #7d7f72;
}
</pre>
<p>&#8230; and the sp-parallax-bg div:</p>
<pre class="brush:css">
input.sp-selector-1:checked ~ .sp-content .sp-parallax-bg {
    background-position: 0 0;
}

input.sp-selector-2:checked ~ .sp-content .sp-parallax-bg {
    background-position: -200px 0;
}

input.sp-selector-3:checked ~ .sp-content .sp-parallax-bg {
    background-position: -400px 0;
}

input.sp-selector-4:checked ~ .sp-content .sp-parallax-bg {
    background-position: -600px 0;
}

input.sp-selector-5:checked ~ .sp-content .sp-parallax-bg {
    background-position: -800px 0;
}
</pre>
<p>The unordered list with the class <strong>sp-slider</strong> will have a width of 500%. This is because we have 5 slides. It will have a transition for the left value, that we will change depening on the input that is checked:</p>
<pre class="brush:css">
.sp-slider {
    position: relative;
	left: 0;
    width: 500%;
	height: 100%;
	list-style: none;
    margin: 0;
	padding: 0;
    transition: left ease-in 0.8s;
}
</pre>
<p>Each list element is a slide and it will also have a transition for the opacity. We will give both, the slide and the image inside the box-sizing property of &#8220;border-box&#8221;. This will allow us to set a padding but also use 100% values for heights and widths and not worry about any overflow: </p>
<pre class="brush:css">
.sp-slider > li {
	color: #fff;
	width: 20%;
	box-sizing: border-box;
	height: 100%;
	padding: 0 60px;
    float: left;
	text-align: center;
	opacity: 0.4;
    transition: opacity ease-in 0.4s 0.8s;
}
.sp-slider > li img{
	box-sizing: border-box;
	display: block;
	margin: 0 auto;
	padding: 40px 0 50px 0;
	max-height: 100%;
	max-width: 100%;
}
</pre>
<p>Now we need to set the correct left values for each selected slide:</p>
<pre class="brush:css">
input.sp-selector-1:checked ~ .sp-content .sp-slider {
    left: 0;
}

input.sp-selector-2:checked ~ .sp-content .sp-slider {
    left: -100%;
}

input.sp-selector-3:checked ~ .sp-content .sp-slider {
    left: -200%;
}

input.sp-selector-4:checked ~ .sp-content .sp-slider {
    left: -300%;
}

input.sp-selector-5:checked ~ .sp-content .sp-slider {
    left: -400%;
}
</pre>
<p>Each current slide will then get opacity 1:</p>
<pre class="brush:css">
input.sp-selector-1:checked ~ .sp-content .sp-slider > li:first-child,
input.sp-selector-2:checked ~ .sp-content .sp-slider > li:nth-child(2),
input.sp-selector-3:checked ~ .sp-content .sp-slider > li:nth-child(3),
input.sp-selector-4:checked ~ .sp-content .sp-slider > li:nth-child(4),
input.sp-selector-5:checked ~ .sp-content .sp-slider > li:nth-child(5){
	opacity: 1;
}
</pre>
<p>That&#8217;s all, hope you like it!</p>
<p><a class="demo" href="http://tympanus.net/Tutorials/CSS3FluidParallaxSlideshow/">View demo</a> <a class="download" href="http://tympanus.net/Tutorials/CSS3FluidParallaxSlideshow/CSS3FluidParallaxSlideshow.zip">Download source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://tympanus.net/codrops/2012/04/30/fluid-css3-slideshow-with-parallax-effect/feed/</wfw:commentRss>
		<slash:comments>37</slash:comments>
		</item>
	</channel>
</rss>
<!-- This Quick Cache file was built for (  tympanus.net/codrops/tag/css3/feed/ ) in 0.30713 seconds, on May 23rd, 2012 at 1:56 pm UTC. -->
<!-- This Quick Cache file will automatically expire ( and be re-built automatically ) on May 23rd, 2012 at 2:56 pm UTC -->
