<?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>Design Posted &#187; CSS</title>
	<atom:link href="http://designposted.com/category/css/feed/" rel="self" type="application/rss+xml" />
	<link>http://designposted.com</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Tue, 07 Sep 2010 15:45:24 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>CSS3 Card Trick: A Fun CSS3 Experiment</title>
		<link>http://designposted.com/2010-09-06/css3-card-trick-a-fun-css3-experiment/</link>
		<comments>http://designposted.com/2010-09-06/css3-card-trick-a-fun-css3-experiment/#comments</comments>
		<pubDate>Mon, 06 Sep 2010 10:00:44 +0000</pubDate>
		<dc:creator>Jacob Gube</dc:creator>
				<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://sixrevisions.com/?p=3983</guid>
		<description><![CDATA[
This tutorial is based on a simple animated experiment that showcases just one of the amazing things you can create using  CSS. I&#8217;ve used no images and no scripting; everything&#8217;s done using HTML and CSS.
It goes without saying that since CSS3 is still not supported by all browsers, it might not work as intended; [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://sixrevisions.com/css/css3-card-trick-a-fun-css3-experiment/"><img src="http://images.sixrevisions.com/2010/09/03-08_css3_cardtrick_ld_img.jpg" width="550" height="200" /></a></p>
<p>This tutorial is based on a simple animated experiment that showcases just one of the amazing things you can create using  CSS. I&#8217;ve used no images and no scripting; everything&#8217;s done using HTML and CSS.</p>
<p>It goes without saying that since CSS3 is still not supported by all browsers, it might not work as intended; but I&#8217;ve coded this in such a way that it will degrade gracefully on non-CSS3 browsers, including IE (of course).</p>
<p><span id="more-3983"></span></p>
<p>Experimenting on cutting-edge standards for the sake of innovation is an attribute that helps us learn, and perhaps by pushing the boundaries, we can improve our knowledge further.</p>
<h3>Final Result</h3>
<p>You can click on the preview image to see the <a href="http://demos.sixrevisions.com/2010/08/26/Demo.html">demo</a>. For optimum experience, use a WebKit browser like Google Chrome or Apple Safari.</p>
<p><a href="http://demos.sixrevisions.com/2010/08/26/Demo.html"><img src="http://images.sixrevisions.com/2010/09/03-01_demo_screenshot.jpg" width="550" height="319" alt="Final Result" /></a></p>
<p><a class="more-link" href="http://demos.sixrevisions.com/2010/08/26/Demo.html">View Demo</a></p>
<p><a class="more-link" href="http://demos.sixrevisions.com/2010/08/26/css3-card-trick.zip">Download Source</a></p>
<h3>A Primer on Innovation</h3>
<p>If you ask any self-taught professional, motivation and willingness to experiment are the two primary skills that feed their passion to becoming better designers and developers.</p>
<p>While memorizing every single element, property, function and attribute for every language is an option, knowing what they can do is even better.</p>
<p>Whether you are working out how to fix a browser bug, achieving a <a href="http://sixrevisions.com/web_design/a-guide-on-layout-types-in-web-design/">complex layout</a>, or if you simply want to play around and see what you can come up with (like this example), the ability to hone your skills to match the situation puts you in a fantastic position for whatever the world may throw at you.</p>
<p>Now that the inspiring speech about the justification behind this fun experiment is over, it&#8217;s time we begin examining and reconstructing this example to display how everything came together to produce the final result.</p>
<p>Within this experiment we will be taking advantage of some cool CSS3 code (which you can use in other projects) such as <code>border-radius</code>, <code>box-shadow</code> along with the <code>target</code> and <code>checked</code> pseudo classes.</p>
<p>Oh, and if that wasn&#8217;t enough, we&#8217;re even going to use a few WebKit transformations to give Chrome and Safari (they support animations) a progressively-enhanced experience.</p>
<p>So what I hope will happen is that by going over the process of creating these CSS3 playing cards, you&#8217;ll have fun learning about these new CSS3 capabilities.</p>
<h3>Fragments and Fieldsets</h3>
<p>Like with all websites, we need to begin right at the beginning with some HTML that lays down the tracks for the experiment.</p>
<p>For the purpose of this example, we&#8217;ll keep the CSS and JavaScript used inline inside the document so that you can easily use the View Source feature in your web browser while studying the <a href="http://demos.sixrevisions.com/2010/08/26/Demo.html">demo</a>. But in production, I hope you will keep your CSS and JavaScript external.</p>
<p>In the code block, you will find:</p>
<ul>
<li>An unordered list that will feature the various card suits</li>
<li>A paragraph of text which simply describes the experiment on the page</li>
<li>A (very complex) web form that will hold the stylistic variables which make up each of the cards</li>
</ul>
<pre>&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
  &lt;meta http-equiv=&quot;content-type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
&lt;title&gt;Playing Cards with CSS3!&lt;/title&gt;
&lt;style type=&quot;text/css&quot;&gt;

&lt;/style&gt;
&lt;script type=&quot;text/javascript&quot;&gt;

&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a title=&quot;Select Spades&quot; href=&quot;#spades&quot;&gt;&amp;#9824;&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a class=&quot;fire&quot; title=&quot;Select Hearts&quot; href=&quot;#hearts&quot;&gt;&amp;#9829;&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a title=&quot;Select Clubs&quot; href=&quot;#clubs&quot;&gt;&amp;#9827;&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a class=&quot;fire&quot; title=&quot;Select Diamonds&quot; href=&quot;#diamonds&quot;&gt;&amp;#9830;&lt;/a&gt;
  &lt;/li&gt;
&lt;/ul&gt;
&lt;form action=&quot;&quot;&gt;
  &lt;fieldset <strong>id=&quot;spades&quot;&gt;</strong>
    &lt;input class=&quot;card&quot; id=&quot;spade&quot; type=&quot;radio&quot; name=&quot;spade&quot; value=&quot;spade&quot; /&gt;
    &lt;label class=&quot;base&quot; for=&quot;spade&quot; title=&quot;This is the Ace of Spades!&quot;&gt;
      &lt;span&gt;&lt;em&gt;A&lt;/em&gt;&amp;#9824;&lt;/span&gt;&lt;strong&gt;&amp;#9824;&lt;/strong&gt;&lt;em&gt;A&lt;/em&gt;&amp;#9824;
    &lt;/label&gt;
    &lt;input id=&quot;cancel1&quot; type=&quot;reset&quot; name=&quot;spade&quot; value=&quot;cancel&quot; checked=&quot;checked&quot; /&gt;
    &lt;label class=&quot;close&quot; for=&quot;cancel1&quot;&gt;Spades&lt;/label&gt;
  &lt;/fieldset&gt;
  &lt;fieldset <strong>id=&quot;hearts&quot;</strong>&gt;
    &lt;input class=&quot;card&quot; id=&quot;heart&quot; type=&quot;radio&quot; name=&quot;heart&quot; value=&quot;heart&quot; /&gt;
    &lt;label class=&quot;base fire&quot; for=&quot;heart&quot; title=&quot;This is the Ace of Hearts!&quot;&gt;
      &lt;span&gt;&lt;em&gt;A&lt;/em&gt;&amp;#9829;&lt;/span&gt;&lt;strong&gt;&amp;#9829;&lt;/strong&gt;&lt;em&gt;A&lt;/em&gt;&amp;#9829;
    &lt;/label&gt;
    &lt;input id=&quot;cancel2&quot; type=&quot;reset&quot; name=&quot;heart&quot; value=&quot;cancel&quot; checked=&quot;checked&quot; /&gt;
    &lt;label class=&quot;close&quot; for=&quot;cancel2&quot;&gt;Hearts&lt;/label&gt;
  &lt;/fieldset&gt;
  &lt;fieldset <strong>id=&quot;clubs&quot;</strong>&gt;
    &lt;input class=&quot;card&quot; id=&quot;club&quot; type=&quot;radio&quot; name=&quot;club&quot; value=&quot;club&quot; /&gt;
    &lt;label class=&quot;base&quot; for=&quot;club&quot; title=&quot;This is the Ace of Clubs!&quot;&gt;
      &lt;span&gt;&lt;em&gt;A&lt;/em&gt;&amp;#9827;&lt;/span&gt;&lt;strong&gt;&amp;#9827;&lt;/strong&gt;&lt;em&gt;A&lt;/em&gt;&amp;#9827;
    &lt;/label&gt;
    &lt;input id=&quot;cancel3&quot; type=&quot;reset&quot; name=&quot;club&quot; value=&quot;cancel&quot; checked=&quot;checked&quot; /&gt;
    &lt;label class=&quot;close&quot; for=&quot;cancel3&quot;&gt;Clubs&lt;/label&gt;
  &lt;/fieldset&gt;
  &lt;fieldset <strong>id=&quot;diamonds&quot;</strong>&gt;
    &lt;input class=&quot;card&quot; id=&quot;diamond&quot; type=&quot;radio&quot; name=&quot;diamond&quot; value=&quot;diamond&quot; /&gt;
    &lt;label class=&quot;base fire&quot; for=&quot;diamond&quot; title=&quot;This is the Ace of Diamonds!&quot;&gt;
      &lt;span&gt;&lt;em&gt;A&lt;/em&gt;&amp;#9830;&lt;/span&gt;&lt;strong&gt;&amp;#9830;&lt;/strong&gt;&lt;em&gt;A&lt;/em&gt;&amp;#9830;
    &lt;/label&gt;
    &lt;input id=&quot;cancel4&quot; type=&quot;reset&quot; name=&quot;diamond&quot; value=&quot;cancel&quot; checked=&quot;checked&quot; /&gt;
    &lt;label class=&quot;close&quot; for=&quot;cancel4&quot;&gt;Diamonds&lt;/label&gt;
  &lt;/fieldset&gt;
&lt;/form&gt;
&lt;p&gt;Select an option above to change the suit displayed!&lt;/p&gt;
&lt;/body&gt;         
&lt;/html&gt;
</pre>
<h4>Unicode Characters for the Card Suits</h4>
<p>While much of the HTML above is straightforward, there is something worth mentioning for its value in our discussion. Within both the list and the form, you will notice that there are a lot of strange <a href="http://en.wikipedia.org/wiki/List_of_Unicode_characters#Miscellaneous_symbols">Unicode escape characters</a> (such as <code>&amp;#9830;</code>) which are embedded at various points.</p>
<p>When you view the page in your browser, you will notice that these characters represent each suit (spades, hearts, clubs and diamonds) and therefore we can give the cards their appearance without any images.</p>
<p>The list has one mention for each icon, and each form has 3 for each (for the corners and centerpiece).</p>
<p><img src="http://images.sixrevisions.com/2010/09/03-03_unicode_showcase.png" width="550" height="190" /><span class="figure-caption">With the HTML finished, you should see the list, table and text (plus those cool characters).</span></p>
<h4>What&#8217;s With The Web Form?</h4>
<p>You may be curious about the monstrous HTML web form. The justification for such code is simply due to the way the CSS3 will work with the elements. While the list element uses simple fragment links (attached to the frameset container for each card), each card &#8212; when it appears &#8212; contains two input elements with associated labels.</p>
<p>The first label contains a mixture of <code>span</code> and <code>em</code> elements (to give the card value in the corners) and a <code>strong</code> element (for the big central character).</p>
<p>The second label simply acts as a reset mechanism for the special effects, i.e. when a WebKit browser is being used.</p>
<h3>Laying the Foundations</h3>
<p>Now that we have completed the HTML, it&#8217;s time to move onto the CSS. To begin, we will add in all the CSS content for the web page; and we also need to give our cards a bit of color.</p>
<p>The below code begins our journey into CSS3 by taking advantage of both the <code>border-radius</code> and <code>box-shadow</code> CSS properties (with a few compatibility tweaks).</p>
<h4>IE Support</h4>
<p>It&#8217;s worth noting that the <code>filter</code> property will not validate under W3C CSS standards due to it being a proprietary extension for Microsoft&#8217;s Internet Explorer; but as this is just for fun, the validation of the code is less important. This allows us to support Internet Explorer; that&#8217;s a <a href="http://sixrevisions.com/project-management/adopting-a-does-it-really-matter-philosophy/">good enough reason to break auto-validation</a> in this case.</p>
<pre>body { background: #DDDDDD; overflow: hidden; }
body .fire { color: #FF0000; }
p {
  background: #FFFFFF; border: 1px solid #CCCCCC;
  border-radius: 5px 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px;
  box-shadow: 5px 5px 5px #CCCCCC; -webkit-box-shadow: 5px 5px #CCCCCC; -moz-box-shadow: 5px 5px #CCCCCC;
  filter: progid:DXImageTransform.Microsoft.Shadow(color='#CCCCCC', Direction=135, Strength=5);
  font-size: 25px;
  text-align: center;
  height: 30px;
  width: 600px;
  margin: -35px -300px;
  padding: 10px 15px;
  position: absolute;
  bottom: 50px;
  left: 50%;
  z-index: 99;
}
</pre>
<p><img src="http://images.sixrevisions.com/2010/09/03-02_paragraph_styled.png" width="550" height="319" /><span class="figure-caption">Using the above code, you should see a lovely looking paragraph on your page!</span></p>
<h3>Navigation, Simplified!</h3>
<p>Next on the list is the navigation. For our playing card experiment, we shall be making use of anchor fragments that will show and hide each of the cards (as required).</p>
<p>While the code you&#8217;ll see next doesn&#8217;t contain the CSS3 that will activate the navigation (we&#8217;ll get to that later), you will notice the code that not only floats the navigation to the top-right hand side of the screen, but also adds the same cool <code>border-radius</code> and <code>box-shadow</code> effects.</p>
<p>When you refresh the page after plugging in this code, you should see that the links are now highly visible and make use of our awesome Unicode characters.</p>
<pre>ul {
  background: #FFFFFF; border: 1px solid #CCCCCC;
  background:-moz-linear-gradient(top, #FFFFFF, #DDDDDD); background:-webkit-gradient(linear,0 0, 0 100%, from(#FFFFFF), to(#DDDDDD));
  border-radius: 5px 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px;
  box-shadow: 5px 5px 5px #CCCCCC; -webkit-box-shadow: 5px 5px #CCCCCC; -moz-box-shadow: 5px 5px #CCCCCC;
  filter: progid:DXImageTransform.Microsoft.Shadow(color='#CCCCCC', Direction=135, Strength=5);
  font-size: 50px;
  margin: 0;
  padding: 0 15px;
  position: absolute;
  right: 20px;
  top: 15px;
  z-index: 99;
}
ul li {
  display: inline;
  list-style-type: none;
}
ul li a {
  color: #000000;
  display: block;
  float: left;
  padding: 0 10px;
  text-decoration: none;
}
</pre>
<p><img src="http://images.sixrevisions.com/2010/09/03-04_webform_styled.png" width="550" height="319" /><span class="figure-caption">Now we have the list hovering and ready for action (along with that paragraph).</span></p>
<h3>Styling the Aces</h3>
<p>The most complicated part of the CSS is making the cards look like, well, like playing cards. Using the code that follows will get you the perfect and progressively enhancing design elements that make the final look possible.</p>
<p>Code to pay attention to includes:</p>
<ul>
<li>The CSS3 linear gradient that fade the cards</li>
<li>The reversed gradient using the <code>mask-image</code> property on the center character (providing an even softer feel)</li>
<li>A span label effect which rotates the bottom right reference to make it upside down (just like real cards)</li>
</ul>
<p>All simple but very effective.</p>
<pre>.base {
  background: #FFFFFF;
  border: 1px solid #CCCCCC;
  color: #000000;
  background:-moz-linear-gradient(top, #FFFFFF, #DDDDDD); background:-webkit-gradient(linear,0 0, 0 100%, from(#FFFFFF), to(#DDDDDD));
  border-radius: 5px 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px;
  box-shadow: 5px 5px 5px #CCCCCC; -webkit-box-shadow: 5px 5px #CCCCCC; -moz-box-shadow: 5px 5px #CCCCCC;
  filter: progid:DXImageTransform.Microsoft.Shadow(color='#CCCCCC', Direction=135, Strength=5);
  height: 360px;
  top: 50%;
  margin-top: -180px;
  width: 260px;
  left: 50%;
  margin-left: -130px;
  z-index: 9;
  cursor: pointer;
  font-size: 50px;
  text-decoration: none;
  padding: 15px 0 0 25px;
  position: absolute;
}
strong {
  font-size: 250px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-top: -160px;
  -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0,0,0,0.4)), to(rgba(0,0,0,1)));
}
em {
  font-size: 40px;
  font-style: normal;
  display: block;
  margin-bottom: -15px;
}
label span {
  -webkit-transform: rotate(-180deg); -moz-transform: rotate(-180deg); -o-transform: rotate(-180deg); filter:
  progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
  position: absolute;
  bottom: 15px;
  right: 25px;
}
#spades strong { margin-left: -68px; } #spades em { margin-left: 0; }
#hearts strong { margin-left: -70px; } #hearts em { margin-left: 1px; }
#clubs strong { margin-left: -80px; } #clubs em { margin-left: 3px; }
#diamonds strong { margin-left: -60px; } #diamonds em { margin-left: -2px; }
</pre>
<p><strong>Note: </strong>Depending on the browser used, the effects may look different. Chrome, Safari both support all the fancy stuff, Firefox will have the background gradient (but the center character will look strong), and Opera and IE will have no &quot;worn&quot; effects!</p>
<p><img src="http://images.sixrevisions.com/2010/09/03-05_playing_cards_styled.png" width="550" height="319" /><span class="figure-caption">With some clever coding, the playing cards should now look easy on the eyes. </span></p>
<h3>Navigation and Animation</h3>
<p>Using the code above, your cards should appear like they come from a proper deck of playing cards. Now that we have the cards, navigation, and paragraphs looking all pretty, it&#8217;s important that we get each of the cards appearing on demand. And we should also do something with the cancel and radio buttons that are hovering around behind the scenes.</p>
<p>What happens next is where things get really interesting for you WebKit users.</p>
<pre>fieldset { display: none; }
fieldset:target { display: block; }
fieldset:target .card+label { -webkit-animation-name: scaler; -webkit-animation-duration: 1.75s; -webkit-animation-iteration-count: 1; }
fieldset:target .card:checked+label { -webkit-animation-name: effectx; -webkit-animation-duration: 3s; -webkit-transform: scale(0); }
.close {
  background: #DDDDDD; cursor: default;
  left: 0;
  top: 0;
  position: absolute;
  height: 100%;
  width: 100%;
  z-index: 1;
  text-indent: -999em;
}
@-webkit-keyframes scaler { from { -webkit-transform: scale(0); } to { -webkit-transform: scale(1); } }
@-webkit-keyframes effectx {
from { -webkit-transform: rotateX(0deg); }
to { -webkit-transform: scale3d(1.2, 1.2, 1.2) rotateX(-90deg) translateZ(500px) rotate(180deg); -webkit-animation-duration: 30s; }
}
</pre>
<p>Explaining the above code is very simple. With the anchor links, we are using fragment URLs to navigate between cards in the deck and therefore the target pseudo class hide and show the fieldset as its ID appears.</p>
<p>The <code>.close</code> class takes its place behind the card covering the full browser viewport so that upon clicking the page (once the card is hidden), you can restore the item back to its original position.</p>
<p>This is relative to the usage of radio buttons as we shall be using the CSS3 <code>:checked</code> pseudo to animate the content for WebKit browsers depending on the check state.</p>
<p><img src="http://images.sixrevisions.com/2010/09/03-06_animate.png" width="550" height="293" /><span class="figure-caption">The animation and effects may not show, depending on your browser.</span></p>
<p>The main features that WebKit users will be excited about are the two card classes that trigger either the <code>scaler keyframes</code> which will make the card zoom in (from nowhere) or the <code>effectx keyframes</code> that will rotate and flip the card which makes it appear as if it&#8217;s being pushed over (and falling off the page).</p>
<p>We can also add some simple effects that work alongside the <code>checked</code> property to give some lovely experimental fun stuff that you can interact with (if you use Chrome or Safari). Other browsers will simply ignore the actions.</p>
<p><strong>Note:</strong> With most WebKit animations, once the effect has run its course, it will be reset to a default point. Because this example required the effect to remain permanent (until directed by the user otherwise), I made use of the checked state pseudo and radio buttons to ensure the effects were held firmly in place.</p>
<h3>Dealing with Internet Explorer</h3>
<p>OK, so remember in the beginning when I said I&#8217;ve used no scripting? Well that&#8217;s only partially true.</p>
<p>Because IE doesn&#8217;t yet support all these things, we need to use JavaScript so that at least our IE users will have a decent experience.</p>
<p>Of course, if you don&#8217;t care about IE &#8212; after all, this is an experiment for cutting-edge browsers that support CSS3 &#8212; then, yes, this CSS3 experiment uses no scripting whatsoever.</p>
<p>Luckily, because IE &#8212; like other non-WebKit browsers &#8212; don&#8217;t support the CSS3 animated effects, the need to deal with the checked state (in CSS3) is moot since the effect will be non-functional anyway.</p>
<p>However, one thing that should be available is the target pseudo so that IE users can change the suit of the playing card.</p>
<p>Using a small bit of conditional JavaScript, we can replicate the effect with little impact on the browser. There&#8217;s also a fragment redirect in the script to help browsers load the first card.</p>
<pre>function bootup(){
if (location.hash == &quot;&quot;) { location.hash=&quot;#spades&quot;; } var tds = document.getElementsByTagName(&quot;a&quot;); direct();
  for( var x=0; x &lt; tds.length; x++ ){tds[x].onclick = function(){setTimeout(direct, 1);};}
}
function direct(){
/*@cc_on @if (@_jscript_version &gt; 5.6)
  var counted = document.getElementsByTagName(&quot;fieldset&quot;);
  for( var x=0; x &lt; counted.length; x++ ){ counted[x].style.display = &quot;none&quot; }
  document.getElementById(location.hash.substr(1)).style.display = &quot;block&quot;;
@end @*/
}
window.onload=bootup;
</pre>
<p><img src="http://images.sixrevisions.com/2010/09/03-07_animation_transistion.png" width="550" height="145" /><span class="figure-caption">The example should now be complete and have some neat special effects!</span></p>
<p>While the above code should be enough to get the basic effect working on the latest version of IE, its worth highlighting that I didn&#8217;t spend much time attempting to get the effect functional on really old browsers like IE6.</p>
<p>Because this is a proof-of-concept demonstration &#8212; and because it exists just to play with what&#8217;s available in up and coming standards &#8212; there was no incentive to try and fire the effects onto every browser.</p>
<p>It&#8217;s worth saying, however, that if you do intend on using any of this in a production site, you should support the browsers your visitors use.</p>
<h3>Playful Innovation</h3>
<p>Just a few years ago, the ability to produce such a textured playing card that looks like an image would not have been possible without the use of images. The animation effects, without scripting or Flash, would have been beyond most people&#8217;s dreams.</p>
<p>Our proof-of-concept shows the benefits of modern standards, and what the future is for us web designers and web developers.</p>
<p>The need to keep innovating and pushing our browsers to the limit is an important part of the web&#8217;s evolution.</p>
<p>As a web professional, I always try to spend time learning and examining my own abilities to see what unique solutions I can produce. Ideally, after reading this, you will be inspired to experiment on your own. Good luck and share your own experiments in the comments! </p>
<h3>Related Content</h3>
<ul>
<li><a href="http://sixrevisions.com/css/css3-demos-experiments/">10 Interesting CSS3 Experiments and Demos</a></li>
<li><a href="http://sixrevisions.com/css/semantic-css3-lightboxes/">Semantic CSS3 Lightboxes</a></li>
<li><a href="http://sixrevisions.com/css/3-advanced-css3-techniques-you-should-learn/">3 Advanced CSS3 Techniques You Should Learn</a></li>
<li><em>Related categories</em>: <a href="http://sixrevisions.com/category/css/">CSS</a> and <a href="http://sixrevisions.com/category/web-development/">Web Development</a></li>
</ul>
<h3>About the Author</h3>
<p class="about-author"><img src="http://images.sixrevisions.com/authors/alexander_dawson_small.jpg" alt="" width="80" height="80" /><span class="author-bio-text"><strong>Alexander Dawson</strong> is a freelance web designer, author and recreational software developer specializing in web standards, accessibility and UX design. As well as running a business called <strong><a href="http://www.hitechy.com/">HiTechy</a></strong> and writing, he spends time on <strong><a href="http://twitter.com/AlexDawsonUK">Twitter</a></strong>, SitePoint&#8217;s forums and other places, helping those in need.</span></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SixRevisions?a=JKdiMltV888:TOFWzq-wJsM:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/SixRevisions?i=JKdiMltV888:TOFWzq-wJsM:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SixRevisions?a=JKdiMltV888:TOFWzq-wJsM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SixRevisions?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SixRevisions?a=JKdiMltV888:TOFWzq-wJsM:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SixRevisions?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SixRevisions?a=JKdiMltV888:TOFWzq-wJsM:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/SixRevisions?i=JKdiMltV888:TOFWzq-wJsM:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SixRevisions?a=JKdiMltV888:TOFWzq-wJsM:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/SixRevisions?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SixRevisions/~4/JKdiMltV888" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://designposted.com/2010-09-06/css3-card-trick-a-fun-css3-experiment/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Touchscreens and Hover states</title>
		<link>http://designposted.com/2010-09-03/touchscreens-and-hover-states/</link>
		<comments>http://designposted.com/2010-09-03/touchscreens-and-hover-states/#comments</comments>
		<pubDate>Fri, 03 Sep 2010 08:16:11 +0000</pubDate>
		<dc:creator>speckyboy</dc:creator>
				<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://designreviver.com/?p=9319</guid>
		<description><![CDATA[With the huge popularity of mobile touch devices and the current major drive to make everything web related compatible with these devices, today&#8217;s Design Reviver Answers discussion is certainly relevant with current development trends. The question that was asked was &#8220;Will Touchscreen devices make hover states a thing of the past?&#8221;

You can leave your thoughts [...]]]></description>
			<content:encoded><![CDATA[<p>With the huge popularity of mobile touch devices and the current major drive to make everything web related compatible with these devices, today&#8217;s Design Reviver Answers discussion is certainly relevant with current development trends. The question that was asked was &#8220;Will Touchscreen devices make hover states a thing of the past?&#8221;</p>
<p><span id="more-9319"></span></p>
<p>You can leave your thoughts and point-of-view below, or you can leave your answer on the original question on <a href="http://designreviver.com/answers/">Answers</a> here: <a href="http://designreviver.com/answers/43427/">Will Touchscreen devices make hover states a thing of the past?</a></p>
<h4>Will Touchscreen devices make hover states a thing of the past?</h4>
<p><a href="http://designreviver.com/answers/43427/"><img src="http://designreviver.com/wp-content/uploads/2010/09/dr_answers_touch_01.jpg" alt="Will Touchscreen devices make hover states a thing of the past?" width="520"></a><br />
This question was originally asked by <a href="http://designreviver.com/answers/member/12572">Mpstud</a>.</p>
<p>The best answer comes from <a href="http://designreviver.com/answers/member/12731">Darrell Estabrook </a>:</p>
<p><a href="http://designreviver.com/answers/43427/"><img src="http://designreviver.com/wp-content/uploads/2010/09/dr_answers_touch_02.jpg" alt="Will Touchscreen devices make hover states a thing of the past?" width="520"></a></p>
<p>Thanks to everyone who asked a question, but most importantly thanks to everyone that took the time and effort to offer helpful and useful answers.</p>
<img src="http://feeds.feedburner.com/~r/DesignReviver/~4/O8pIIA9DS7k" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://designposted.com/2010-09-03/touchscreens-and-hover-states/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Amazing Pure CSS3 Experiments</title>
		<link>http://designposted.com/2010-09-02/amazing-pure-css3-experiments/</link>
		<comments>http://designposted.com/2010-09-02/amazing-pure-css3-experiments/#comments</comments>
		<pubDate>Thu, 02 Sep 2010 08:19:13 +0000</pubDate>
		<dc:creator>speckyboy</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Inspiration]]></category>

		<guid isPermaLink="false">http://designreviver.com/?p=9168</guid>
		<description><![CDATA[The new and revitalized CSS3 properties have not only opened up many, many marvelous development solutions for web designers, it has also allowed talented developers to push the boat out further and showcase there CSS skills by building and styling in ways that were never ever thought possible previously. 
In today&#8217;s news round-up we take [...]]]></description>
			<content:encoded><![CDATA[<p>The new and revitalized CSS3 properties have not only opened up many, many marvelous development solutions for web designers, it has also allowed talented developers to push the boat out further and showcase there CSS skills by building and styling in ways that were never ever thought possible previously.<br /> <span id="more-9168"></span><br />
In today&#8217;s news round-up we take a look at some of these amazing experimental pure CSS3 creations&#8230; </p>
<p>Please note, you will need either the latest version of Safari or the Chrome browser to fully experience these CSS3 experiments.</p>
<h4><a href="http://blog.graphicpeel.com/post/740928981/ios-icons-made-in-pure-css">iOS Icons Made in Pure CSS</a></h4>
<p><a href="http://blog.graphicpeel.com/post/740928981/ios-icons-made-in-pure-css"><img src="http://designreviver.com/wp-content/uploads/2010/08/dr_css3_01.jpg" alt="iOS Icons Made in Pure CSS"></a></p>
<p><a href="http://blog.graphicpeel.com/post/740928981/ios-icons-made-in-pure-css">iOS Icons Made in Pure CSS</a></p>
<h4><a href="http://jeffbatterton.com/blog/5">iPhone CSS3</a></h4>
<p><a href="http://jeffbatterton.com/blog/5"><img src="http://designreviver.com/wp-content/uploads/2010/08/dr_css3_02.jpg" alt="iPhone CSS3"></a></p>
<p><a href="http://jeffbatterton.com/blog/5">iPhone CSS3</a></p>
<h4><a href="http://www.subcide.com/articles/pure-css-twitter-fail-whale/">Pure CSS Twitter Fail Whale</a></h4>
<p><a href="http://www.subcide.com/articles/pure-css-twitter-fail-whale/"><img src="http://designreviver.com/wp-content/uploads/2010/08/dr_css3_03.jpg" alt="Pure CSS Twitter Fail Whale"></a></p>
<p><a href="http://www.subcide.com/articles/pure-css-twitter-fail-whale/">Pure CSS Twitter Fail Whale</a></p>
<h4><a href="http://cordobo.com/1662-pure-css-animated-3d-super-mario-icon/">Pure CSS Animated 3D Super Mario Icon</a></h4>
<p><a href="http://cordobo.com/1662-pure-css-animated-3d-super-mario-icon/"><img src="http://designreviver.com/wp-content/uploads/2010/08/dr_css3_01.jpg" alt="Pure CSS Animated 3D Super Mario Icon"></a></p>
<p><a href="http://cordobo.com/1662-pure-css-animated-3d-super-mario-icon/">Pure CSS Animated 3D Super Mario Icon</a></p>
<p>By Paul Andrew (<a href="http://speckyboy.com">Speckyboy</a>and <a href="http://twitter.com/speckyboy">speckyboy@twitter</a>).</p>
<img src="http://feeds.feedburner.com/~r/DesignReviver/~4/ST7CWmIoks8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://designposted.com/2010-09-02/amazing-pure-css3-experiments/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Three Kick-Ass Web Developer Tutorials</title>
		<link>http://designposted.com/2010-08-26/three-kick-ass-web-developer-tutorials/</link>
		<comments>http://designposted.com/2010-08-26/three-kick-ass-web-developer-tutorials/#comments</comments>
		<pubDate>Thu, 26 Aug 2010 09:11:10 +0000</pubDate>
		<dc:creator>speckyboy</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://designreviver.com/?p=9112</guid>
		<description><![CDATA[Sometimes to get your development juices flowing you just need a meaty project or an in-depth tutorial that you can sink your teeth into and lose yourself for a few hours in coding bliss. And that&#8217;s what we have for you today, three tutorials that will satisfy your code craving! They are not only roll-up-your-sleeves [...]]]></description>
			<content:encoded><![CDATA[<p>Sometimes to get your development juices flowing you just need a meaty project or an in-depth tutorial that you can sink your teeth into and lose yourself for a few hours in coding bliss. And that&#8217;s what we have for you today, three tutorials that will satisfy your code craving! They are not only roll-up-your-sleeves and put-on-a-pot-of-coffee good but they will also introduce you to some of the latest CSS3, HTML5 and jQuery techniques.</p>
<p><span id="more-9112"></span></p>
<h4><a href="http://addyosmani.com/blog/wanderwall/">A jQuery, CSS3 &amp; HTML5 Hover-Based Interface</a></h4>
<p><a href="http://addyosmani.com/blog/wanderwall/"><img src="http://designreviver.com/wp-content/uploads/2010/08/dr_tut_01.jpg" alt="A jQuery, CSS3 &amp; HTML5 Hover-Based Interface" width="520"></a></p>
<p>In this awesome tutorial you will learn how to create a useful hover-based user interface using jQuery, CSS3, HTML5 and @font-face. The project you’ll be creating could easily be used for a portfolio or business site and the concepts you’ll learn could certainly be used to expand the idea further.<br /><a href="http://addyosmani.com/blog/wanderwall/">A jQuery, CSS3 &amp; HTML5 Hover-Based Interface</a></p>
<h4><a href="http://tutorialzine.com/2010/08/dynamic-faq-jquery-yql-google-docs/">Dynamic FAQ Section w/ jQuery, YQL &amp; Google Docs</a></h4>
<p><a href="http://tutorialzine.com/2010/08/dynamic-faq-jquery-yql-google-docs/"><img src="http://designreviver.com/wp-content/uploads/2010/08/dr_tut_02.jpg" alt="Dynamic FAQ Section w/ jQuery, YQL &amp; Google Docs" width="520"></a></p>
<p>In this tutorial, you will build a dynamic FAQ section. The script, with the help of jQuery &amp; YQL, will pull the contents of a shared spreadsheet in your Google Docs account, and use the data to populate the FAQ section with questions and answers.<br /><a href="http://tutorialzine.com/2010/08/dynamic-faq-jquery-yql-google-docs/">Dynamic FAQ Section w/ jQuery, YQL &amp; Google Docs</a></p>
<h4><a href="http://www.catswhocode.com/blog/how-to-easily-create-charts-using-jquery-and-html5">How to easily create charts using jQuery and HTML5</a></h4>
<p><a href="http://www.catswhocode.com/blog/how-to-easily-create-charts-using-jquery-and-html5"><img src="http://designreviver.com/wp-content/uploads/2010/08/dr_tut_03.jpg" alt="How to easily create charts using jQuery and HTML5" width="520"></a></p>
<p>For years, Flash was the only solution to display a dynamic chart on a website. But thanks to modern techniques, the dying Flash isn&#39;t needed anymore. In this tutorial,you&#39;ll be shown how easy it is to transform a basic HTML table into a profesionnal looking chart using visualize.js, a very useful jQuery plugin.<br /><a href="http://www.catswhocode.com/blog/how-to-easily-create-charts-using-jquery-and-html5">How to easily create charts using jQuery and HTML5</a></p>
<p>By Paul Andrew (<a href="http://speckyboy.com">Speckyboy</a>and <a href="http://twitter.com/speckyboy">speckyboy@twitter</a>).</p>
<img src="http://feeds.feedburner.com/~r/DesignReviver/~4/05Hw48N6W38" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://designposted.com/2010-08-26/three-kick-ass-web-developer-tutorials/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How and Why Would Anyone Validate Their Code</title>
		<link>http://designposted.com/2010-08-25/how-and-why-would-anyone-validate-their-code/</link>
		<comments>http://designposted.com/2010-08-25/how-and-why-would-anyone-validate-their-code/#comments</comments>
		<pubDate>Wed, 25 Aug 2010 10:16:43 +0000</pubDate>
		<dc:creator>Joel Reyes</dc:creator>
				<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://designreviver.com/?p=8657</guid>
		<description><![CDATA[Validating HTML or CSS code is a controversial topic. Many are strict on assuring their code is validated while others do not care at all. There are plethoras of reasons why you should validate your code, or at least as much as possible instead of ignoring the errors. We discuss several benefits to validating your [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Validating HTML or CSS code</strong> is a controversial topic. Many are strict on assuring their code is validated while others do not care at all. There are plethoras of reasons why you should validate your code, or at least as much as possible instead of ignoring the errors. <strong>We discuss several benefits to validating your HTML and or CSS</strong>.<span id="more-8657"></span></p>
<h4>Decrease Cross-Browser and Cross-Platform Issues</h4>
<p><a href="http://designreviver.com/wp-content/uploads/2010/08/validatecode-1.jpg"><img class="alignnone size-full wp-image-8658" src="http://designreviver.com/wp-content/uploads/2010/08/validatecode-1.jpg" alt="" width="520" height="230" /></a></p>
<p>There are many reasons why some browsers interpret your code differently from others. While it could be an intended implementation in the browser, it is mainly a bug in its interpreter that causes variant changes to your web page across many different browsers and platforms.</p>
<p>You can implement many quick fixes and &#8220;hacks&#8221; to your code to get it to look just right in most of the popular browsers. However, as these browsers continue to be updated, one of your hacks or quick fixes may have been a temporary work around to a bug in the browser, which may be fixed in the future causing your site to look awkward after an update has been implemented.</p>
<p>Moreover, while some workarounds are necessary, you can try to eliminate several by just validating most or all of your code, possibly making your website future proof.</p>
<h4>Good Development Practices</h4>
<p>Assuring your code is completely valid benefits you as a developer as you will help teach yourself good development practices for the future. Additionally, when learning or developing, it is best to learn and develop something the right way instead of keeping bad habits in your learning and developing process.</p>
<h4>Professionalism</h4>
<p><a href="http://designreviver.com/wp-content/uploads/2010/08/validatecode-2.jpg"><img class="alignnone size-full wp-image-8659" src="http://designreviver.com/wp-content/uploads/2010/08/validatecode-2.jpg" alt="" width="520" height="246" /></a></p>
<p>Validated code is a big sign of professionalism especially to your current or future employer and or clientele. By having valid code, it shows whomever it may be that you take your time to develop something of quality rather than something that seems like you whipped up quickly to get the job done.</p>
<p>As an additional to professionalism being valid code, organized and well laid code is also a sign of quality and professionalism. Thus, always assure your code is neatly organized and valid when need-be.</p>
<h4>Standards Compliant Code</h4>
<p>Browsers today are always improving to be standards compliant, so your website should too. When you validate your code, it means that your code is standard compliant. With that said, it is definitely a great idea to future-proof your website by validating your code, which generally takes minutes to do.</p>
<h4>How to Validate</h4>
<p><a href="http://designreviver.com/wp-content/uploads/2010/08/validatecode-3.jpg"><img class="alignnone size-full wp-image-8660" src="http://designreviver.com/wp-content/uploads/2010/08/validatecode-3.jpg" alt="" width="520" height="333" /></a></p>
<p>Now that we covered several benefits to validating your code, <strong>how <em>do you </em>validate code</strong>?</p>
<p>One of the easiest ways to validating your code is to visit <strong>w3.org</strong> and use the<strong> HTML and CSS validators </strong>available there. All you need to do to check if your code is valid, is to either upload, paste, or link your code or website and hit the validate button. If errors return, they usually provide explanations to each error returned, making it generally easy for you to follow through and fix.</p>
<p>Other ways to validate your code is to utilize tools available to make validating code a lot easier. These tools are generally available in a plethora of options such as validators built into Integrated Development Environments, browser toolbars, online services, or even desktop tools.</p>
<p>Overall, validating your code is a definite must whether you do it today or tomorrow. In fact, as time progresses and browsers continue to update to become more standards compliant, not validating your code will mean that your website will not properly be laid out as you may have intended throughout these browsers.</p>
<p>Furthermore, prepare your websites for tomorrow and get the code validated as it will save you time in the future, and your website will more likely work across different browsers and platforms than it would be without being validated.</p>
<img src="http://feeds.feedburner.com/~r/DesignReviver/~4/EdEKCN5SUaY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://designposted.com/2010-08-25/how-and-why-would-anyone-validate-their-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>27 Amazingly Realistic CSS Icons and Logos</title>
		<link>http://designposted.com/2010-08-20/27-amazingly-realistic-css-icons-and-logos/</link>
		<comments>http://designposted.com/2010-08-20/27-amazingly-realistic-css-icons-and-logos/#comments</comments>
		<pubDate>Fri, 20 Aug 2010 21:00:51 +0000</pubDate>
		<dc:creator>przemek</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Resources]]></category>

		<guid isPermaLink="false">http://www.1stwebdesigner.com/?p=22527</guid>
		<description><![CDATA[CSS3 comes up and you can replicate fancy effects you thought you can only do in Photoshop. Now people create logos and icons within only lines of code and what&#8217;s more no images! Effects are stunning and unbelievably realistic. In this article, we have handpicked some awesome css3 experiments so far which will make you [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.1stwebdesigner.com/resources/css-icons-logos/"><img class="alignleft size-thumbnail wp-image-22801" title="jquer-css-icon" src="http://www.1stwebdesigner.com/wp-content/uploads/2010/08/jquer-css-icon-150x150.jpg" alt="" width="150" height="150" /></a>CSS3 comes up and you can replicate fancy effects you thought you can only do in Photoshop. Now people create logos and icons within only lines of code and what&#8217;s more no images! Effects are stunning and unbelievably realistic. In this article, we have handpicked some awesome css3 experiments so far which will make you say wow.</p>
<p><span id="more-22527"></span></p>
<h2><a target="_blank" href="http://me.dougneiner.com/experiments/olympic-rings.html" >Olympic Logo</a></h2>
<p><strong>Name:</strong> Doug Neiner<br />
Purely css, <em>ems</em> based and <em>dynamically scallable</em>. It also requires a browser capable of rendering <code>border-radius</code>. For now that includes recent versions of Chrome, Safari, Firefox and Internet Explorer 9.</p>
<p><a target="_blank" href="http://me.dougneiner.com/experiments/olympic-rings.html" ><img style="border-width: 0px;" src="http://www.1stwebdesigner.com/wp-content/uploads/2010/08/olympics_logo.gif" border="0" alt="Olympics Logo" width="570" /></a></p>
<h2><a target="_blank" href="http://me.dougneiner.com/experiments/jquery.html" >jQuery Logo</a></h2>
<p><strong>Name:</strong> Doug Neiner<br />
We all know <em>jQery</em>. Probably most of us, favorite <em>javascript framework</em>. Logo rendered mainly using <code>border-radius</code> property.</p>
<p><a target="_blank" href="http://me.dougneiner.com/experiments/jquery.html" ><img style="border-width: 0px;" src="http://www.1stwebdesigner.com/wp-content/uploads/2010/08/jquery_logo.gif" border="0" alt="jQuery Logo" width="570" /></a></p>
<h2><a target="_blank" href="http://me.dougneiner.com/experiments/jquery-ui.html" >jQuery UI Logo</a></h2>
<p><strong>Name:</strong> Doug Neiner<br />
<em>jQery UI</em> icon. Not as popular as framework brother, but worth being interested in. Similairly, made using <code>border-radius</code> property.</p>
<p><a target="_blank" href="http://me.dougneiner.com/experiments/jquery-ui.html" ><img style="border-width: 0px;" src="http://www.1stwebdesigner.com/wp-content/uploads/2010/08/jquery_ui_logo.gif" border="0" alt="jQuery UI Logo" width="570" /></a></p>
<h2><a target="_blank" href="http://robustnessiskey.com/csslogos" >Impressive CSS logo replications</a></h2>
<p><strong>Name:</strong> Justin Sepulveda<br />
Nice piece of icon set. All made with pure css and use <code>border-radius</code>, <code>gradient</code>, <code>transform</code> properties. It&#8217;s nice to see people come up with such amazing replicas. Awesome!</p>
<p><a target="_blank" href="http://robustnessiskey.com/csslogos" ><img style="border-width: 0px;" src="http://www.1stwebdesigner.com/wp-content/uploads/2010/08/csslogos-forrst-dribbble-chase-nbc-cbs-bmw-univision.gif" border="0" alt="CSS Logos NBC CBS FORRST DRIBBBLE UNIVISION BMW" width="570" /></a></p>
<h2><a target="_blank" href="http://desandro.com/articles/opera-logo-css/" >Opera Logo</a></h2>
<p><strong>Name:</strong> David DeSandro<br />
Nicely made Opera icon. Extensive usage of <code>border-radius</code>, <code>gradient</code> could provide this extensively awesome effect. Logo doesn&#8217;t look the same on all browsers, especially on <abbr title="Internet Explorer">IE</abbr>.</p>
<p><a target="_blank" href="http://desandro.com/articles/opera-logo-css/" ><img style="border-width: 0px;" src="http://www.1stwebdesigner.com/wp-content/uploads/2010/08/opera_logo.gif" border="0" alt="Opera css logo" width="570" /></a></p>
<h2><a target="_blank" href="http://graphicpeel.com/cssiosicons" >iOS icons</a></h2>
<p><strong>Name:</strong> Louis Harboe<br />
Great work. Advanced css3 involved.</p>
<p><a target="_blank" href="http://graphicpeel.com/cssiosicons" ><img style="border-width: 0px;" src="http://www.1stwebdesigner.com/wp-content/uploads/2010/08/iOS-icons.jpg" border="0" alt="iOS icons" width="570" /></a></p>
<h2><a target="_blank" href="http://rathersplendid.net/cssicons/" >Simple css icons</a></h2>
<p><strong>Name:</strong> Zander Martineau<br />
I didn&#8217;t know making triangles out of css2 was possible, till this article research. Here you can find some pretty and simple stuff like rss icon, heart icon or triangle.</p>
<p><a target="_blank" href="http://rathersplendid.net/cssicons/" ><img style="border-width: 0px;" src="http://www.1stwebdesigner.com/wp-content/uploads/2010/08/simple-css-icons.gif" border="0" alt="Simple css icons" width="570" /></a></p>
<h2><a target="_blank" href="http://cordobo.com/1662-pure-css-animated-3d-super-mario-icon/" >Pure CSS animated 3D Super Mario Icon</a></h2>
<p><strong>Name:</strong> Andreas Jacob<br />
Made by with CSS3 &amp; the <a target="_blank" href="http://css4d.com/" >CSS 4D Framework</a> by Andreas Jacob. Animation work is decent but for now only works in Safari 5.</p>
<p><a target="_blank" href="http://cordobo.com/1662-pure-css-animated-3d-super-mario-icon/" ><img style="border-width: 0px;" src="http://www.1stwebdesigner.com/wp-content/uploads/2010/08/css-mario-icon.gif" border="0" alt="Pure CSS animated 3D Super Mario Icon" width="570" /></a></p>
<h2><a target="_blank" href="http://brewowski.co.uk/icon.html" >Some nice icon made with pure CSS</a></h2>
<p><strong>Name:</strong> Andrew Kelly<br />
Gradients, Shadows and rounded borders used. Nice final effect.</p>
<p><a target="_blank" href="http://brewowski.co.uk/icon.html" ><img style="border-width: 0px;" src="http://www.1stwebdesigner.com/wp-content/uploads/2010/08/nice-css-icon.png" border="0" alt="Some nice icon made with pure CSS" width="570" /></a></p>
<h2><a target="_blank" href="http://awesomebutuseless.com/designers-gone-wild/radu-chelariu-recreates-the-adobe-photoshop-logos-in-css3/" >Adobe Photoshop Logos in CSS3</a></h2>
<p><strong>Name:</strong> Radu Chelariu<br />
Great use of gradients and amazing footer. No images used!</p>
<p><a target="_blank" href="http://awesomebutuseless.com/designers-gone-wild/radu-chelariu-recreates-the-adobe-photoshop-logos-in-css3/" ><img style="border-width: 0px;" src="http://www.1stwebdesigner.com/wp-content/uploads/2010/08/adobe-css-icons.jpg" border="0" alt="Adobe Photoshop Logos in CSS3" width="570" /></a></p>
<h2><a target="_blank" href="http://nicolasgallagher.com/demo/pure-css-social-media-icons/" >Ten amazing social media icons!</a></h2>
<p><strong>Name:</strong> Nicolas Gallagher<br />
<q>All examples use simple, semantic HTML. No empty elements, no unnecessary extra elements, no JavaScript, no images.</q></p>
<p><a target="_blank" href="http://nicolasgallagher.com/demo/pure-css-social-media-icons/" ><img style="border-width: 0px;" src="http://www.1stwebdesigner.com/wp-content/uploads/2010/08/social-pack-css-icon-set.png" alt="Ten amazing social media icons!" /></a></p>
<h2><a target="_blank" href="http://lucianmarin.com/peculiar/" >Peculiar CSS icon set</a></h2>
<p><strong>Name:</strong> Lucian Marin<br />
<q>Peculiar is icon package made only in CSS. It was created for sites and web applications that depend on fewer HTTP requests as possible or don&#8217;t need to use any image at all.</q></p>
<p><a target="_blank" href="http://lucianmarin.com/peculiar/" ><img style="border-width: 0px;" src="http://www.1stwebdesigner.com/wp-content/uploads/2010/08/peculiar-css-icon-set.png" alt="Peculiar CSS icon set" /></a></p>
<h2><a target="_blank" href="http://test.imacsslover.com/" >Twitter icon in only CSS3</a></h2>
<p><strong>Name:</strong> Giacomo Bartoli<br />
Obviously used @font-face with little shadow and rounded borders.</p>
<p><a target="_blank" href="http://test.imacsslover.com/" ><img style="border-width: 0px;" src="http://www.1stwebdesigner.com/wp-content/uploads/2010/08/twitter-css-icon.png" alt="Twitter icon in only CSS3" /></a></p>
<h2><a target="_blank" href="http://collinhenderson.com/demos/GOTransit_CSS/" >Go Transit CSS Logo</a></h2>
<p><strong>Name:</strong> Collin Henderson<br />
CSS only logo of Canadian Transporter. Simply done with use of <code>border-radius</code>.</p>
<p><a target="_blank" href="http://collinhenderson.com/demos/GOTransit_CSS/" ><img style="border-width: 0px;" src="http://www.1stwebdesigner.com/wp-content/uploads/2010/08/go-transit-css-logo.png" alt="Go Transit CSS Logo" /></a></p>
<h2><a target="_blank" href="http://cordobo.com/1630-internet-explorer-pure-css-logo/" >Internet Explorer CSS icon</a></h2>
<p><strong>Name:</strong> Andreas Jacob<br />
Best viewed with Firefox 3.6+ &amp; Safari 5. Radial, linear gradients, shadows and lots of empty elements.</p>
<p><a target="_blank" href="http://cordobo.com/1630-internet-explorer-pure-css-logo/" ><img style="border-width: 0px;" src="http://www.1stwebdesigner.com/wp-content/uploads/2010/08/ie-css-icon.png" alt="Internet Explorer CSS icon" /></a></p>
<h2><a target="_blank" href="http://www.legendofdrew.com/css-shape-creations/" >Nintendo icons</a></h2>
<p><strong>Name:</strong> Drew<br />
Mario mushroom, the Triforce, a Pokéball, and Kirby made with pure css.</p>
<p><a target="_blank" href="http://www.legendofdrew.com/css-shape-creations/" ><img style="border-width: 0px;" src="http://www.1stwebdesigner.com/wp-content/uploads/2010/08/nintendo-icons.png" alt="Nintendo icons" /></a></p>
<h2><a target="_blank" href="http://code.garron.us/css/BTTF_logo/" >Back to the future CSS Logo</a></h2>
<p><strong>Name:</strong> Lucas Garron<br />
This logo and the original one. Unbelievably alike. Best viewed in webkit browser.</p>
<p><a target="_blank" href="http://code.garron.us/css/BTTF_logo/" ><img style="border-width: 0px;" src="http://www.1stwebdesigner.com/wp-content/uploads/2010/08/bttf-logo.png" alt="Back to the future CSS only logo" /></a></p>
<h2><a target="_blank" href="http://blog.seanmartell.com/2010/03/25/raindrop-logo-in-css/" >Raindrop CSS Logo</a></h2>
<p><strong>Name:</strong> Sean Martell<br />
Amazing replication of Mozilla&#8217;s project i like.</p>
<p><a target="_blank" href="http://blog.seanmartell.com/2010/03/25/raindrop-logo-in-css/" ><img style="border-width: 0px;" src="http://www.1stwebdesigner.com/wp-content/uploads/2010/08/raindrop-css-logo.png" alt="Raindrop CSS Logo" /></a></p>
<h2><a target="_blank" href="http://forestmist.org/experimental/bahamas-logo-using-css3/" >Bahamas CSS Logo</a></h2>
<p><strong>Name:</strong> ForestMist<br />
Impressive replica made with use of <code>border-radius</code>.</p>
<p><a target="_blank" href="http://forestmist.org/experimental/bahamas-logo-using-css3/" ><img style="border-width: 0px;" src="http://www.1stwebdesigner.com/wp-content/uploads/2010/08/bahamas-css-logo.png" alt="Bahamas CSS Logo" /></a></p>
<h2><a target="_blank" href="http://matthewjamestaylor.com/blog/css-reddit-alien" >Reddit CSS Alien</a></h2>
<p><strong>Name:</strong> Matthew James Taylor<br />
Nice css logo made with use of &#8220;O O _ ( ) ( ) O O O O / &#8211; o O O O O O O O O • • ( ) ( )&#8221; and some font-styling.</p>
<p><a target="_blank" href="http://matthewjamestaylor.com/blog/css-reddit-alien" ><img style="border-width: 0px;" src="http://www.1stwebdesigner.com/wp-content/uploads/2010/08/reddit-css-alien.png" alt="Reddit CSS Alien" /></a></p>
<h2><a target="_blank" href="http://blog.insicdesigns.com/2010/03/create-social-media-icons-in-pure-css/" >Social Media Pure CSS icons</a></h2>
<p><strong>Name:</strong> insicdesigns<br />
Just another social media icons with use of <strong>css3</strong>.</p>
<p><a target="_blank" href="http://blog.insicdesigns.com/2010/03/create-social-media-icons-in-pure-css/" ><img style="border-width: 0px;" src="http://www.1stwebdesigner.com/wp-content/uploads/2010/08/social-css-icons.png" alt="Social Media Pure CSS icons" /></a></p>
<h2>Bonus: <a target="_blank" href="http://demos.jeffbatterton.com/iphone-css3/" >iPhone in CSS3</a></h2>
<p><strong>Name:</strong> Jeff Batterton<br />
Well, that&#8217;s not an icon, but work involved in this one is really insane. Extensive use of css3.</p>
<p><a target="_blank" href="http://demos.jeffbatterton.com/iphone-css3/" ><img style="border-width: 0px;" src="http://www.1stwebdesigner.com/wp-content/uploads/2010/08/iphone-css3.png" alt="iPhone CSS3" /></a></p>
<h2>Bonus: <a target="_blank" href="http://www.subcide.com/experiments/fail-whale/" >Twitter Fail Whale</a></h2>
<p><strong>Name:</strong> Jeff Batterton<br />
Well, that&#8217;s not an icon, neither logo. It&#8217;s really good illustration made only with css. No images whatsoever!</p>
<p><a target="_blank" href="http://www.subcide.com/experiments/fail-whale/" ><img style="border-width: 0px;" src="http://www.1stwebdesigner.com/wp-content/uploads/2010/08/twitter-whale-css-illustration.png" alt="Twitter Fail Whale" /></a></p>
<h2>Bonus: <a target="_blank" href="http://www.dolcebita.com/2010/05/tutorial-intro-de-lost-usando-css3/" >LOST &#8211; Animated CSS3 Logo</a></h2>
<p><strong>Name:</strong> Marcos Esperon<br />
This example animation plays nerdy title in the introduction of the series Lost (a tribute to its completion). Best viewed in <em>webkit</em> browser.</p>
<p><a target="_blank" href="http://www.dolcebita.com/2010/05/tutorial-intro-de-lost-usando-css3/" ><img style="border-width: 0px;" src="http://www.1stwebdesigner.com/wp-content/uploads/2010/08/lost-css3-logo.png" alt="Animated CSS3 LOST Logo" /></a></p>
<h2>Final thoughts</h2>
<p>There are many amazingly done css icons and logos. People achieved those effects using only lines of code. Sounds unbelievable, but it&#8217;s true. Well, this may not be what CSS is for, but it&#8217;s fun way to learn and play with it. So, learn css3, experiment for yourself and remember to check out <a href="http://www.1stwebdesigner.com/resources/css3-tutorials/" >The Ultimate Roundup of 55+ CSS3 Tutorials</a>.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/1stwebdesigner?a=uPB5s3SyqEA:6Z6ZsvQk82c:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/1stwebdesigner?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/1stwebdesigner?a=uPB5s3SyqEA:6Z6ZsvQk82c:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/1stwebdesigner?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/1stwebdesigner?a=uPB5s3SyqEA:6Z6ZsvQk82c:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/1stwebdesigner?i=uPB5s3SyqEA:6Z6ZsvQk82c:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/1stwebdesigner/~4/uPB5s3SyqEA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://designposted.com/2010-08-20/27-amazingly-realistic-css-icons-and-logos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Advantages of Using CSS Sprites Along With a Few Tips</title>
		<link>http://designposted.com/2010-08-20/the-advantages-of-using-css-sprites-along-with-a-few-tips/</link>
		<comments>http://designposted.com/2010-08-20/the-advantages-of-using-css-sprites-along-with-a-few-tips/#comments</comments>
		<pubDate>Fri, 20 Aug 2010 13:08:38 +0000</pubDate>
		<dc:creator>Joel Reyes</dc:creator>
				<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://designreviver.com/?p=8894</guid>
		<description><![CDATA[There are many techniques in CSS to achieve certain results in different ways, CSS sprites being one of them. CSS sprites is a technique used where you can have a large single image containing a set of images that can be broken down using CSS to separate the image into multiple.
To better understand this concept, [...]]]></description>
			<content:encoded><![CDATA[<p><strong>There are many techniques in CSS</strong> to achieve certain results in different ways, CSS sprites being one of them. CSS sprites is a technique used where you can have a large single image containing a set of images that can be broken down using CSS to separate the image into multiple.</p>
<p>To better understand this concept, let us look at the following example image:<span id="more-8894"></span></p>
<p><img src="http://designreviver.com/wp-content/uploads/2010/08/css_advantages_example.png" alt="Example" /></p>
<p>As you see in the example image, there are three top bars of different colors all separated by some whitespace between them. Instead of having each of these bars as individual images, you can join them into one as shown above, and with CSS, you can separate them so they seem as separate images.</p>
<p>Moreover, let us say you just wanted the left and right corners of the blue bar instead of the entire thing for an aspect of your website, using the CSS sprites method, you can do exactly that without the need of creating separate images.</p>
<h4>Who Uses CSS Sprites?</h4>
<p>Many people have the understanding that most major companies do not like to use certain techniques and would rather use generic methods. However, this is not necessarily true, and in fact, major companies such as Ask.com and Facebook use the sprite technique as it is the smarter to move.</p>
<p>Now that you understand the concept of CSS sprites and how they work, we dive right into four advantages of using CSS sprites along with a few tips on usage.</p>
<h4>Cut Back On HTTP Requests</h4>
<p>One of the main advantages of using CSS sprites is that it cuts back on HTTP Requests. When a user visits your website, the browser requests the data from the server, by having fewer images you cut back on those requests, which in essence, cuts back on load time as well. Remember, the fewer HTTP Requests, the better, and using this technique is one-step forward.</p>
<h4>Saves Time</h4>
<p>By merging relative images all into one larger image, you are saving yourself time from creating individual images. Additionally, it also makes it easier for you to locate the images you may want to edit as it may be grouped with others, instead of the need to flip through a basket of files to find what you may have been looking for.</p>
<h4>Flexibility</h4>
<p>By utilizing CSS sprites, you are giving yourself more flexibility over your website’s design and or layout. For example, if you are not using CSS sprites and you have some gradient bars that you use across your website, grabbing a corner of that bar would mean creating a separate image for the corner and to deal with its hassles.</p>
<p>Instead, by using CSS sprites, you can easily slice the corner you want from the image without modifying the image or creating a new image, giving the flexibility you need while saving time.</p>
<h2>Tips</h2>
<p>Now that you know the benefits of using CSS sprites, we discuss three tips on improving your CSS &#8220;spriting&#8221; experience.</p>
<h4>Plenty of Space</h4>
<p>While it may sound jolly to cram in many images into one to benefit from CSS sprites, it is generally not a good idea to leave small gaps between each image. The reason for this is that sometimes content expands quite a bit which sometimes causes other images to appear within the image you selected from the main image or sprite image, this is caused by having your images close to each other initially in the sprite image. Instead, leave some good spacing between each image to eliminate this issue, even if the images may be icons.</p>
<h4>Left to Right, Right to Left</h4>
<p>No, we are not talking about languages, but rather image placement in your sprite. If images in your sprite are to be used to the right of an element, place the image to the left of the sprite and vice versa. This helps prevent other images appearing in the background of the image you selected from your sprite, which is usually caused by moving the background image by CSS.</p>
<p>To better understand this concept, let us have a look at the sprite below:</p>
<p><img src="http://designreviver.com/wp-content/uploads/2010/08/sprite.png" alt="Example Sprite" /></p>
<p>Let us say we wanted to use the green book from the sprite, because we intentionally placed it on the right, we will be using it to the left of an element like so:</p>
<p><img src="http://designreviver.com/wp-content/uploads/2010/08/book_sprite.png" alt="Book Sprite" /></p>
<p>Using this concept, if we wanted to use the warning symbol on the left, we would have placed it on the right as well instead of on the left within the sprite.</p>
<h4>Repeating Images Should Consume Less Pixels</h4>
<p>Many people stick some images intended for repeating across the screen in a sprite. When doing so, there is no reason this repeating image should take much space unless designed in a certain way. With that said, your repeating images should be only a few pixels wide as they will be, well, repeating. This not only saves space within the sprite itself, it also saves bandwidth and indeed, time.</p>
<p>To conclude, using CSS sprites may or may not be the way to go for you as it really depends on the type of application it will be used for. If you are considering using the technique for one of your mainstream websites or services and or for your portfolio site, it will definitely be a great advantage for you to use it accordingly.</p>
<p>One of the key things you need to look at before choosing this technique is what browsers the majority of your users use to visit your website. The reason this question sometimes arises is that it sometimes may be very difficult to make your CSS sprites compatible with many of these browsers depending on the techniques you use.</p>
<p>However, if major companies as mentioned earlier use the CSS sprite technique, it sometimes is a good idea to review how they implemented the idea as they may have found a workaround to have it work across many browsers and platforms. I am not saying you should take their code and implement it on your site, but rather get ideas for your implementation by overlooking what they have done or achieved.</p>
<img src="http://feeds.feedburner.com/~r/DesignReviver/~4/d7dC5jcJ7vc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://designposted.com/2010-08-20/the-advantages-of-using-css-sprites-along-with-a-few-tips/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>25 Amazing CSS3 Experimentations and Demos</title>
		<link>http://designposted.com/2010-08-19/25-amazing-css3-experimentations-and-demos/</link>
		<comments>http://designposted.com/2010-08-19/25-amazing-css3-experimentations-and-demos/#comments</comments>
		<pubDate>Thu, 19 Aug 2010 10:56:08 +0000</pubDate>
		<dc:creator>Vandelay Website Design</dc:creator>
				<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://vandelaydesign.com/blog/?p=2333</guid>
		<description><![CDATA[CSS3 is opening up a lot of possibilities for designers and developers. Things that used to require images, JavaScript or Flash can now be done with the power of CSS. Unfortunately, in most cases these developments are more useful for experimentation and learning at this point since they are not supported by all of the major browsers. However, if you're interested in learning more about the capabilities of CSS3 it can be a valuable use of your time to see what is being done.

In this post we'll feature 25 experimentations and demos from various designers/developers using CSS3.  Some have more practical real-world uses than others, but all of them demonstrate what can be done with CSS3 and some creativity.

<a href="http://www.anthonycalzadilla.com/2010/05/look-ma-no-flash/"><strong>Look Ma, No Flash!</strong></a>

<a href="http://www.anthonycalzadilla.com/2010/05/look-ma-no-flash/"><img src="http://vanimg.s3.amazonaws.com/css3-22.jpg" alt="Look Ma, No Flash!" width="500" height="450" /></a>]]></description>
			<content:encoded><![CDATA[<p>CSS3 is opening up a lot of possibilities for designers and developers. Things that used to require images, JavaScript or Flash can now be done with the power of CSS. Unfortunately, in most cases these developments are more useful for experimentation and learning at this point since they are not supported by all of the major browsers. However, if you&#8217;re interested in learning more about the capabilities of CSS3 it can be a valuable use of your time to see what is being done.</p>
<p>In this post we&#8217;ll feature 25 experimentations and demos from various designers/developers using CSS3.  Some have more practical real-world uses than others, but all of them demonstrate what can be done with CSS3 and some creativity.</p>
<p><a href="http://www.anthonycalzadilla.com/2010/05/look-ma-no-flash/"><strong>Look Ma, No Flash!</strong></a></p>
<p><a href="http://www.anthonycalzadilla.com/2010/05/look-ma-no-flash/"><img src="http://vanimg.s3.amazonaws.com/css3-22.jpg" alt="Look Ma, No Flash!" width="500" height="450" /></a></p>
<p><a href="http://css-tricks.com/css3-clock/"><strong>Old School Clock with CSS3 and jQuery</strong></a></p>
<p><a href="http://css-tricks.com/css3-clock/"><img src="http://vanimg.s3.amazonaws.com/css3-11.jpg" alt="Old School Clock with CSS3 and jQuery" width="500" height="390" /></a></p>
<p><a href="http://tutorialzine.com/2009/12/colorful-clock-jquery-css/"><strong>A Colorful Clock with CSS &amp; jQuery</strong></a></p>
<p><a href="http://tutorialzine.com/2009/12/colorful-clock-jquery-css/"><img src="http://vanimg.s3.amazonaws.com/css3-15.jpg" alt="A Colorful Clock with CSS &amp; jQuery" width="500" height="241" /></a></p>
<p><a href="http://anthonycalzadilla.com/css3-ATAT/index-bones.html"><strong>AT-AT Walker</strong></a></p>
<p><a href="http://anthonycalzadilla.com/css3-ATAT/index-bones.html"><img src="http://vanimg.s3.amazonaws.com/css3-18.jpg" alt="AT-AT Walker" width="500" height="375" /></a></p>
<p><strong><a href="http://nicolasgallagher.com/experimental-pure-css-social-media-icons/">Pure CSS Social Media Icons</a></strong></p>
<p><a href="http://nicolasgallagher.com/experimental-pure-css-social-media-icons/"><img class="alignnone" src="http://vanimg.s3.amazonaws.com/css3-1.jpg" alt="Pure CSS Social Media Icons" width="500" height="188" /></a></p>
<p><a href="http://www.romancortes.com/blog/pure-css3-page-flip-effect/"><strong>Pure CSS3 Page Flip Effect</strong></a></p>
<p><a href="http://www.romancortes.com/blog/pure-css3-page-flip-effect/"><img src="http://vanimg.s3.amazonaws.com/css3-23.jpg" alt="Pure CSS3 Page Flip Effect" width="500" height="351" /></a></p>
<p><strong><a href="http://www.zurb.com/playground/osx-dock">Recreating the OS X Dock</a></strong></p>
<p><a href="http://www.zurb.com/playground/osx-dock"><img class="alignnone" src="http://vanimg.s3.amazonaws.com/css3-4.jpg" alt="Recreating the OS X Dock" width="500" height="348" /></a></p>
<p><strong><a href="http://designlovr.com/use-css3-to-create-a-dynamic-stack-of-index-cards/">Use CSS3 to Create a Dynamic Stack of Index Cards</a></strong></p>
<p><a href="http://designlovr.com/use-css3-to-create-a-dynamic-stack-of-index-cards/"><img class="alignnone" src="http://vanimg.s3.amazonaws.com/css3-5.jpg" alt="Use CSS3 to Create a Dynamic Stack of Index Cards" width="500" height="390" /></a></p>
<p><a href="http://www.admixweb.com/2010/05/27/experiment-realistic-ipod-with-css3/"><strong>Experiment: Realistic iPod with CSS3</strong></a></p>
<p><a href="http://www.admixweb.com/2010/05/27/experiment-realistic-ipod-with-css3/"><img src="http://vanimg.s3.amazonaws.com/css3-10.jpg" alt="Experiment: Realistic iPod with CSS3" width="500" height="518" /></a></p>
<p><a href="http://kilianvalkhof.com/2010/css-xhtml/css3-loading-spinners-without-images/"><strong>CSS3 Loading Spinners without Images</strong></a></p>
<p><a href="http://kilianvalkhof.com/2010/css-xhtml/css3-loading-spinners-without-images/"><img src="http://vanimg.s3.amazonaws.com/css3-24.jpg" alt="CSS3 Loading Spinners without Images" width="500" height="245" /></a></p>
<p><strong><a href="http://designinformer.com/css-posters/">CSS Posters</a></strong></p>
<p><a href="http://designinformer.com/css-posters/"><img class="alignnone" src="http://vanimg.s3.amazonaws.com/css3-6.jpg" alt="CSS Posters" width="500" height="267" /></a></p>
<p><strong><a href="http://trentwalton.com/2010/04/06/css3-background-clip-font-face/">CSS3 Background-Clip &amp; @Font-Face</a></strong></p>
<p><a href="http://trentwalton.com/2010/04/06/css3-background-clip-font-face/"><img class="alignnone" src="http://vanimg.s3.amazonaws.com/css3-7.jpg" alt="CSS3 Background-Clip &amp; @Font-Face" width="500" height="400" /></a></p>
<p><strong><a href="http://css-tricks.com/css3-button-maker/">CSS3 Button Maker</a></strong></p>
<p><a href="http://css-tricks.com/css3-button-maker/"><img class="alignnone" src="http://vanimg.s3.amazonaws.com/css3-8.jpg" alt="CSS3 Button Maker" width="500" height="223" /></a></p>
<p><strong><a href="http://line25.com/tutorials/create-a-vibrant-digital-poster-design-with-css3">Create a Vibrant Digital Poster Design with CSS3</a></strong></p>
<p><a href="http://line25.com/tutorials/create-a-vibrant-digital-poster-design-with-css3"><img class="alignnone" src="http://vanimg.s3.amazonaws.com/css3-9.jpg" alt="Create a Vibrant Digital Poster Design with CSS3" width="500" height="707" /></a></p>
<p><strong><a href="http://www.fofronline.com/experiments/cube/multiCubes.html">Multi 3D Cubes with Animation Using CSS</a></strong></p>
<p><a href="http://www.fofronline.com/experiments/cube/multiCubes.html"><img class="alignnone" src="http://vanimg.s3.amazonaws.com/css3-12.jpg" alt="Multi 3D Cubes with Animation Using CSS" width="500" height="298" /></a></p>
<p><strong><a href="http://www.zurb.com/playground/sliding-vinyl">Sliding Vinyl with CSS3</a></strong></p>
<p><a href="http://www.zurb.com/playground/sliding-vinyl"><img class="alignnone" src="http://vanimg.s3.amazonaws.com/css3-13.jpg" alt="Sliding Vinyl with CSS3" width="500" height="312" /></a></p>
<p><strong><a href="http://www.the-art-of-web.com/css/css-animation/">Animations Using CSS Transforms</a></strong></p>
<p><a href="http://www.the-art-of-web.com/css/css-animation/"><img class="alignnone" src="http://vanimg.s3.amazonaws.com/css3-14.jpg" alt="Animations Using CSS Transforms" width="500" height="274" /></a></p>
<p><a href="http://www.zurb.com/article/305/easily-turn-your-images-into-polaroids-wi"><strong>Easily Turn Your Images into Polaroids with CSS3</strong></a></p>
<p><a href="http://www.zurb.com/article/305/easily-turn-your-images-into-polaroids-wi"><img src="http://vanimg.s3.amazonaws.com/css3-3.jpg" alt="Easily Turn Your Images into Polaroids with CSS3" width="500" height="276" /></a></p>
<p><strong><a href="http://www.marcofolio.net/webdesign/jquery_dj_hero_css3_and_jquery_fun.html">jQuery DJ Hero &#8211; CSS3 and jQuery Fun</a></strong></p>
<p><a href="http://www.marcofolio.net/webdesign/jquery_dj_hero_css3_and_jquery_fun.html"><img class="alignnone" src="http://vanimg.s3.amazonaws.com/css3-16.jpg" alt="jQuery DJ Hero - CSS3 and jQuery Fun" width="500" height="347" /></a></p>
<p><strong><a href="http://natbat.net/2010/Jan/15/css3snow/">CSS3 Animations Demonstrated with Snow</a></strong></p>
<p><a href="http://natbat.net/2010/Jan/15/css3snow/"><img class="alignnone" src="http://vanimg.s3.amazonaws.com/css3-17.jpg" alt="CSS3 Animations Demonstrated with Snow" width="500" height="250" /></a></p>
<p><strong><a href="http://www.pvmgarage.com/2010/01/how-to-create-depth-and-nice-3d-ribbons-only-using-css3/">How to Create Depth and Nice 3D Ribbons Only Using CSS3</a></strong></p>
<p><a href="http://www.pvmgarage.com/2010/01/how-to-create-depth-and-nice-3d-ribbons-only-using-css3/"><img class="alignnone" src="http://vanimg.s3.amazonaws.com/css3-19.jpg" alt="How to Create Depth and Nice 3D Ribbons Only Using CSS3" width="500" height="375" /></a></p>
<p><a href="http://westciv.com/style_master/blog/apples-navigation-bar-using-only-css"><strong>Apple&#8217;s Navigation Bar Using Only CSS</strong></a></p>
<p><a href="http://westciv.com/style_master/blog/apples-navigation-bar-using-only-css"><img src="http://vanimg.s3.amazonaws.com/css3-2.jpg" alt="Apple's Navigation Bar Using Only CSS" width="500" height="70" /></a></p>
<p><strong><a href="http://www.romancortes.com/blog/pure-css-coke-can/">Pure CSS Coke Can</a></strong></p>
<p><a href="http://www.romancortes.com/blog/pure-css-coke-can/"><img class="alignnone" src="http://vanimg.s3.amazonaws.com/css3-20.jpg" alt="Pure CSS Coke Can" width="500" height="381" /></a></p>
<p><strong><a href="http://neography.com/journal/our-solar-system-in-css3/">Our Solar System in CSS3</a></strong></p>
<p><a href="http://neography.com/journal/our-solar-system-in-css3/"><img class="alignnone" src="http://vanimg.s3.amazonaws.com/css3-21.jpg" alt="Our Solar System in CSS3" width="500" height="438" /></a></p>
<p><strong><a href="http://samples.webmatze.de/rotating_image_gallery.htm">Rotating Image Gallery Using CSS Transform and Transition</a></strong></p>
<p><a href="http://samples.webmatze.de/rotating_image_gallery.htm"><img class="alignnone" src="http://vanimg.s3.amazonaws.com/css3-25.jpg" alt="Rotating Image Gallery Using CSS Transform and Transition" width="500" height="342" /></a></p>
<p>For more web development resources please see:</p>
<ul>
<li><a href="http://vandelaydesign.com/blog/web-development/membership-websites/">14 Options for Managing Membership Websites</a></li>
<li><a href="http://vandelaydesign.com/blog/web-development/jquery-image-galleries/">25 jQuery Image Gallery/Slider Tutorials and Plugins</a></li>
<li><a href="http://vandelaydesign.com/blog/web-development/ecommerce/">37 Shopping Cart Options for Developers</a></li>
<li><a href="http://vandelaydesign.com/blog/web-development/adobe-air-tutorials/">35 Adobe AIR Tutorials for Web Developers</a></li>
</ul>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Vandelay?a=sPGtdS4F25A:u96Nb1_Uako:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Vandelay?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Vandelay?a=sPGtdS4F25A:u96Nb1_Uako:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Vandelay?i=sPGtdS4F25A:u96Nb1_Uako:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Vandelay?a=sPGtdS4F25A:u96Nb1_Uako:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Vandelay?i=sPGtdS4F25A:u96Nb1_Uako:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Vandelay?a=sPGtdS4F25A:u96Nb1_Uako:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/Vandelay?i=sPGtdS4F25A:u96Nb1_Uako:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Vandelay/~4/sPGtdS4F25A" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://designposted.com/2010-08-19/25-amazing-css3-experimentations-and-demos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting Started: Learning to Code for the Web, Logically</title>
		<link>http://designposted.com/2010-08-16/getting-started-learning-to-code-for-the-web-logically/</link>
		<comments>http://designposted.com/2010-08-16/getting-started-learning-to-code-for-the-web-logically/#comments</comments>
		<pubDate>Mon, 16 Aug 2010 10:00:35 +0000</pubDate>
		<dc:creator>Peter Burgin</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://www.1stwebdesigner.com/?p=21614</guid>
		<description><![CDATA[Coding is a logical process. You want the site or program to do a particular thing. You enter in the commands needed to achieve that end.
Learning to develop websites could be approached just as logically. Languages for the computer could be compared to math classes. You need to learn simple addition before you can even [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.1stwebdesigner.com/development/beginners-web-coding/"><img class="alignleft size-thumbnail wp-image-22267" title="code-web" src="http://www.1stwebdesigner.com/wp-content/uploads/2010/08/code-web-150x150.jpg" alt="" width="150" height="150" /></a>Coding is a logical process. You want the site or program to do a particular thing. You enter in the commands needed to achieve that end.</p>
<p>Learning to develop websites could be approached just as logically. Languages for the computer could be compared to math classes. You need to learn simple addition before you can even think about calculus. Going into it with the thought of languages building off each other might help you learn the languages more effectively.<span id="more-21614"></span><br />
<a href="http://www.1stwebdesigner.com/wp-content/uploads/2010/08/learning-to-code.jpg"><img class="alignnone size-full wp-image-22258" style="margin-top: 20px; margin-bottom: 20px;" src="http://www.1stwebdesigner.com/wp-content/uploads/2010/08/learning-to-code.jpg" alt="" width="540" height="400" /></a></p>
<p><strong>Language 1&#8211;HTML</strong><br />
The first language you should tackle is obviously HTML. Short for HyperText Markup Language, this was the first language used on the web and as such is the backbone and framework for many other languages. The syntax of HTML is relatively simple and straightforward and there are a number of books and online resources available to help you. Be aware of the dates of the resources, however, since some elements are no longer supported, especially since HTML5 is in the process of a release.</p>
<p><em>What I wish I had known:</em> Make sure you close all your tags! I cannot count the times that a page displayed strangely because I forgot to close a div. In this, commenting may be your best option, especially if it&#8217;s only</p>
<pre class="brush: xml;">&lt;/div&gt; &lt;!-- This closes the Header Tag --&gt; </pre>
<p>It may save you a headache or two for HTML and will insure that you are in the habit of closing them for the stricter offshoots. A validation tool may become your best friend, so be sure to bookmark your favorite. I like <a  href="http://validator.w3.org/"> W3C&#8217;s Markup Validator</a>, but there are others out there, so check around.</p>
<p><em>Some good resources:</em></p>
<ul>
<li><a  href="http://www.webmonkey.com/2010/02/make_an_html_document/">Web Monkey&#8217;s &#8220;Make an HTML Document&#8221; </a></li>
<li><a  href="http://www.utexas.edu/learn/html/">University of Texas at Austin&#8217;s &#8220;Learning HTML&#8221;</a>&#8211;This is more a list of other useful sites, but still good</li>
<li><a  href="http://www.w3schools.com/html/DEFAULT.asp">W3Schools HTML Tutorial</a>&#8211;very basic, but good if you are just starting out</li>
</ul>
<p><em>Offshoots:</em> There are several other languages that branch off from HTML.  This includes XHTML which tends to be more fussy about syntax—they don&#8217;t call it “strict” for nothing—but does have its uses.</p>
<p><strong>Language 2&#8211;Cascading Style Sheets (CSS)</strong><br />
There&#8217;s a good reason I put CSS here.  It builds directly off of HTML, but lets you stylize your website more efficiently than HTML by itself. Having a visually appealing website also is more encouraging to work on and more fun to show off.</p>
<p>CSS also brings to your attention the issue of cross-browser compatibility, the sometimes frustrating problem of web browsers handling the same code differently. Learning CSS will help you anticipate the different ways browsers handle the same code. Developing a mindset to deal with these hurtles also builds general troubleshooting capabilities, a necessary tool for real life, as well as web development.</p>
<p>Having ids and classes already built into your HTML from using CSS also makes it easier to incorporate JavaScript libraries, like jQuery, later on.</p>
<p>With CSS3, cascading style sheets now have more useful features than ever, including support for gradients and rounded corners. These can save you time and energy.  The downside of this is that not all browsers support them.</p>
<p><em>What I wish I&#8217;d known:</em> Internet Explorer is (arguably) the worst browser when it comes to cross-browser compatibility.  Conditional comments work for IE5 and up, and make styling for IE a little easier.  Here&#8217;s a fun way to use them in the head of an HTML document.</p>
<pre><a href="http://www.1stwebdesigner.com/wp-content/uploads/2010/08/ie.png"><img class="alignnone size-full wp-image-22261" src="http://www.1stwebdesigner.com/wp-content/uploads/2010/08/ie-e1281645510278.png" alt="" width="515" height="105" /></a></pre>
<p>Only Internet Explorer will see the stylesheet contained within the conditional comments.  Other browsers will only see a comment and ignore it.  By putting the IE stylesheet second, you override any duplicate tags, so you only need to modify the elements that display incorrectly.</p>
<p><em>Some good resources:</em></p>
<ul>
<li><a href="http://www.1stwebdesigner.com/css/35-websites-to-teach-you-how-to-use-css-effectively/"> 35 Websites to Teach You How To Use CSS Effectively</a>&#8211;on 1stwebdesigner</li>
<li><a  href="http://www.smashingmagazine.com/2007/01/19/53-css-techniques-you-couldnt-live-without/">53 CSS Techniques You Couldn&#8217;t Live Without</a></li>
<li><a  href="http://www.smashingmagazine.com/2010/06/07/the-principles-of-cross-browser-css-coding/">The Principles of Cross-Browser CSS Coding</a></li>
</ul>
<p><strong>Language 3&#8211;JavaScript (JS)</strong><br />
JavaScript is useful for creating websites with dynamic or animated content.  This includes animated transitions, menu tabs and near-flash like effects.  JS introduces you to the wonders of, among other things, if and elseif statements.  These are actually very useful tools and appear in many forms of programming, including PHP.</p>
<p>The syntax for JS is less forgiving than HTML or CSS, but will give you a definite sign that you did something wrong.  It won&#8217;t work! The frustrating bit is that it doesn&#8217;t necessarily tell you what is wrong, so you may spend hours searching for that missing semicolon.</p>
<p><em>What I wish I&#8217;d known: </em>While there are proponents of first learning a JavaScript library—like MooTools or jQuery— I don&#8217;t think you are doing yourself a favor through this, having done this myself.  This is because when it comes to certain things—like HTML5&#8217;s canvas function, for instance—you need to know how to make the whole thing work without the shortcuts that libraries provide, especially where calling variables are concerned.</p>
<p><em>Some good resources:</em></p>
<ul>
<li><a  href="http://www.w3schools.com/js/default.asp"> W3 Schools Javascript</a></li>
<li><a  href="http://www.tizag.com/javascriptT/">Tizag Javascript Tutorial</a></li>
<li><a href="http://www.1stwebdesigner.com/tutorials/jquery-beginner-tutorials/">Improve Your Skills: 25 jQuery Beginner Tutorials Roundup</a></li>
<li><a  href="http://css-plus.com/2010/05/jquery-if-else-statements/"> jQuery if/else Statements</a></li>
</ul>
<p><em>Offshoots:</em>Depending on your need for dynamic content, AJAX (Asynchronous JavaScript and XML) may be something you want to learn as well. It isn&#8217;t its own language, but a way of combining the two languages for more dynamic functionality. Obviously, this requires a knowledge of both JavaScript and XML.</p>
<p><strong>Language 4—PHP</strong><br />
PHP can be used to create dynamic websites, either on HTML pages or on sites run on a content management system (CMS) like Wordpress. The conditional statements, like “if”, “elseif” and “else”,are similar to those used in Javascript.</p>
<p>Unlike the already mentioned web development languages, PHP runs server-side, which has its own set of benefits and challenges.  One benefit is that, unlike JavaScript, the user does not have to have PHP installed on their system in order to correctly view the page.  The downside of this is that your host server does have to support PHP, though this is becoming less of an issue.  The other part of this is that you do need a local server to run PHP pages.</p>
<p><em>What I wish I&#8217;d known:</em>Parse errors can be helpful.  These point to the direct line number with the syntax error, which can save you time.</p>
<p><em>Some good resources: </em></p>
<ul>
<li><a  href="http://php.net/manual/en/tutorial.php">PHP.net Tutorial</a></li>
<li><a  href="http://php.about.com/">Learn PHP&#8211;About.com</a></li>
<li><a  href="http://www.smashingmagazine.com/2010/04/15/php-what-you-need-to-know-to-play-with-the-web/">PHP: What You Need to Know to Play with the Web</a></li>
</ul>
<p><strong>Continuing your learning</strong><br />
These are the core languages that will get you the most mileage.  While there are other languages used in web development, HTML, CSS, JavaScript and PHP can provide a foundation for you to bridge off of.  The Internet itself offers many resources that can help you learn coding or refresh your knowledge.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/1stwebdesigner?a=4sIDW6Tmi30:OwJwbBuw_2Y:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/1stwebdesigner?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/1stwebdesigner?a=4sIDW6Tmi30:OwJwbBuw_2Y:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/1stwebdesigner?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/1stwebdesigner?a=4sIDW6Tmi30:OwJwbBuw_2Y:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/1stwebdesigner?i=4sIDW6Tmi30:OwJwbBuw_2Y:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/1stwebdesigner/~4/4sIDW6Tmi30" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://designposted.com/2010-08-16/getting-started-learning-to-code-for-the-web-logically/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>3 Advanced CSS3 Techniques You Should Learn</title>
		<link>http://designposted.com/2010-08-15/3-advanced-css3-techniques-you-should-learn/</link>
		<comments>http://designposted.com/2010-08-15/3-advanced-css3-techniques-you-should-learn/#comments</comments>
		<pubDate>Sun, 15 Aug 2010 16:00:50 +0000</pubDate>
		<dc:creator>Jacob Gube</dc:creator>
				<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://sixrevisions.com/?p=3868</guid>
		<description><![CDATA[
If you&#8217;re reading this, then I can safely assume that you&#8217;ve at least heard of CSS3. The latest version of CSS includes properties that allow you to style your HTML elements with rounded corners, drop shadows, and even color gradients.
However, these techniques  just scratch the surface of what CSS3 can really do. In this [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://sixrevisions.com/css/3-advanced-css3-techniques-you-should-learn/"><img src="http://images.sixrevisions.com/2010/08/19-01_advanced_css3_ld_img.jpg" width="550" height="200" alt="3 Advanced CSS3 Techniques You Should Learn" /></a></p>
<p>If you&#8217;re reading this, then I can safely assume that you&#8217;ve at <a href="http://sixrevisions.com/css/20-useful-resources-for-learning-about-css3/" title="20 Useful Resources for Learning about CSS3 - sixrevisions.com">least heard of CSS3</a>. The latest version of CSS includes properties that allow you to style your HTML elements with <a href="http://sixrevisions.com/css/basic-css3-techniques-that-you-should-know/" title="Basic CSS3 Techniques That You Should Know - sixrevisions.com">rounded corners, drop shadows</a>, and even <a href="http://sixrevisions.com/css/css3-techniques-you-should-know/" title="CSS3 Techniques You Should Know - sixrevisions.com">color gradients</a>.</p>
<p>However, these techniques  just scratch the surface of what CSS3 can <em>really</em> do. In this guide, I am going to be talking about <strong>three advanced CSS3 techniques.</strong></p>
<p><span id="more-3868"></span></p>
<h3>View Demo</h3>
<p>Here is a single demo page of all the code I&#8217;ll be using in this guide. It&#8217;s best viewed on WebKit browsers (like Google Chrome and Apple Safari) so you can see the CSS3 <code>-webkit</code> animation properties in action.</p>
<p><a class="more-link" href="http://demos.sixrevisions.com/2010/08/19/index.html">View Demo</a></p>
<h3>1.  Advanced Selectors</h3>
<p>One of the most important but under-hyped features of CSS3 is the new advanced selectors. I&#8217;m sure I don&#8217;t have to tell you why being able to target specific  HTML elements without having to use an ID attribute is a good thing!</p>
<p>Traditionally, CSS selectors have always been: IDs (<code>#id</code>), classes (<code>.class</code>), HTML elements (such as <code>p</code>), and occasionally pseudo-classes like <code>:hover</code> or <code>:active</code>.</p>
<p>The problem with this formula is that nearly every element needs to have a <em>hook</em>. This means that to get specific with what you&#8217;re selecting, the element needs to have either an ID (if it&#8217;s just one element) or a class (if it&#8217;s a group of elements) so that the browser knows what you&#8217;re talking about.</p>
<p>When you start working with very complex layouts, the amount of IDs and classes you need to add to your markup begins to slow you (and your web pages) down.</p>
<p>Enter CSS3. With numerous new pseudo-classes to choose from, your markup and <a href="http://sixrevisions.com/web-development/five-ways-to-speed-up-page-response-times/" title="Five Ways to Speed Up Page Response Times - sixrevisions.com">page response times</a> will thank you.</p>
<p>To demonstrate some of these new selectors, I&#8217;ve marked up a simple example: two unordered lists.</p>
<pre>
&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;body&gt;
  &lt;ul&gt;
    &lt;li&gt;First Line&lt;/li&gt;
    &lt;li&gt;Second Line&lt;/li&gt;
    &lt;li&gt;Third Line&lt;/li&gt;
    &lt;li&gt;Fourth Line&lt;/li&gt;
    &lt;li&gt;Fifth Line&lt;/li&gt;
    &lt;li&gt;Sixth Line&lt;/li&gt;
  &lt;/ul&gt;
  &lt;ul&gt;
    &lt;li&gt;First Line&lt;/li&gt;
    &lt;li&gt;Second Line&lt;/li&gt;
    &lt;li&gt;Third Line&lt;/li&gt;
    &lt;li&gt;Fourth Line&lt;/li&gt;
    &lt;li&gt;Fifth Line&lt;/li&gt;
    &lt;li>Sixth Line&lt;/li&gt;
  &lt;/ul&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
<p>The following code block  is  some basic CSS just for visuals. All I&#8217;ve done is reset the margins and padding of every element using the universal selector (<code>*</code>) and applied some basic styles to both unordered lists.</p>
<pre>
* {
  margin: 0;
  padding: 0;
}
ul {
  list-style-type: none;
  margin: 2%;
  border: 1px solid #ccc;
  padding: 5px;
  width: 44%;
  float: left;
}
ul li {
  margin-bottom: 5px;
  padding: 2px;
}</pre>
<p>Now it&#8217;s time to write our first advanced selector! (Don&#8217;t be scared!)</p>
<p>The first part of our selector just says to select the <code>&lt;ul&gt;</code> that is the <strong>first child</strong> of another element (the <code>&lt;body&gt;</code> in this case).</p>
<p>Then it goes on to select the <strong>odd</strong> list items (first, third, fifth, and so on) in the first unordered list.</p>
<p>As you can see, using a combination of pseudo-classes and HTML element selectors, we&#8217;ve managed to only select the first of the two <em>identical</em> unordered lists.</p>
<pre>
ul<strong>:first-child</strong> li:nth-child(odd)</pre>
<p>Another way of doing this is shown below, which does the same thing except this time it does so by selecting the first <code>&lt;ul&gt;</code> on the page, regardless of whether or not it&#8217;s the first child of another element.</p>
<pre>
ul<strong>:first-of-type</strong> li:nth-child(odd)
</pre>
<p> As you progress further into using  CSS selectors, you&#8217;ll find that there are many ways of doing the same thing, and it&#8217;s up to you to decide which one to use.</p>
<p>With the first unordered list selected, we can style the odd list items (we will give them a different background color than the other list items).</p>
<pre>
ul:first-child li:nth-child(odd) {
  background-color: #d2fffe;
  border: 1px solid #000;
}</pre>
<p>That isn&#8217;t the only way of using <code>:nth-child</code>, though. We can also use it to style individual elements based on their position. The code block below gives the <strong>5th list item</strong> of the <strong>first unordered list</strong>  on our web page a pink background.</p>
<pre>
body > ul:first-child li:nth-child(5) {
  background: #ffd2d2;
}</pre>
<p><img src="http://images.sixrevisions.com/2010/08/19-02_first_ulstyled.png" width="550" height="145" /></p>
<p>For another example, let&#8217;s add   a web form to our HTML document. Please note the fact that one of the input elements (<code>name=email</code>) has the Boolean attribute of <code>disabled</code> so that I can demonstrate the <code>:disabled</code> pseudo-class later on.</p>
<pre>
&lt;form method="post" action="#"&gt;
&lt;p&gt;
  &lt;label for="name"&gt;Name:&lt;/label&gt;
  &lt;input type="text" name="name" value="" /&gt;
&lt;p&gt;
  &lt;label for="email"&gt;Email:&lt;/label&gt;
  &lt;input type="text" name="email" value="" disabled /&gt;
&lt;/p&gt;
&lt;p&gt;
  &lt;label for="message">Message:&lt;/label&gt;
  &lt;textarea name="message">&lt;/textarea&gt;
&lt;/p&gt;
&lt;/form&gt;
</pre>
<p>The following code block is  just some basic styles for our web form. What this will do is remove some default styling on the form and float the labels to the left and the inputs to the right.</p>
<pre>
form {
  clear: both;
  width: 95%;
}
form p {
  margin-bottom: 15px;
  clear: both;
  overflow: hidden;
}
form label {
  float: left;
}
form input, form textarea {
  width: 70%;
  float: right;
  border: 1px solid #000;
}
form textarea {
  height: 50px;
}</pre>
<p>We&#8217;re now going to take advantage of the <code>disabled</code> attribute on the <code>email</code> input to add a darker gray background to it.</p>
<pre>
input:disabled {
  background: #e7e7e7;
}</pre>
<p>Next up, we have a complex-looking selector, but it&#8217;s actually quite simple.</p>
<p>By using the <code>:not</code> pseudo-class, we are selecting everything inside a paragraph that is also inside a form <strong>except</strong> for <code>&lt;textarea&gt;</code> and <code>&lt;label&gt;</code> elements.</p>
<p> Essentially, what this will do is target all form fields that aren&#8217;t textareas.</p>
<pre>
form p *:not(textarea):not(label) {
  height: 20px;
}</pre>
<p>In actual practice, it would be more efficient to use <code>input</code> as the selector in our particular case,  but I chose to do it this way to demonstrate the <code>:not</code> selector and how we can chain different pseudo-classes together to produce a  more specific selector.</p>
<p>That&#8217;s it for advanced selectors. We   covered a lot, but we still have two more techniques to look at! Let&#8217;s get started with those.</p>
<h3>2. Animations</h3>
<p>Animation on the web has long been the domain of Flash and JavaScript. Now, with CSS3, it&#8217;s possible to do the same sorts of animation with only a few lines of code!</p>
<p>To demonstrate animation techniques, let&#8217;s add another section to our markup: a simple div with no class or ID, and inside it, an <code>&lt;h1&gt;</code> &#8212; nothing too fancy. </p>
<pre>
&lt;div&gt;
  &lt;h1&gt;Hover over to see animation&lt;/h1&gt;
&lt;/div&gt;
</pre>
<p>Since it&#8217;s our first div, we can use the <code>:first-of-type</code> pseudo-class to select it. I&#8217;ve made it a 200px by 200px blue box  just to make it easy to see. I&#8217;ve also styled the <code>h1</code> for visuals.</p>
<pre>
div:first-of-type {
  width: 200px;
  height: 200px;
  background: blue;
  color: #fff;
  clear: both;
}
h1 {
  color: #fff;
  font: 30px/1.5 Helvetica, Arial, sans-serif;
  width: 150px;
  margin: 25px auto;
}</pre>
<p><img src="http://images.sixrevisions.com/2010/08/19-03_blue_box.png" width="212" height="212" alt="3 Advanced CSS3 Techniques You Should Learn" /></p>
<p>Now comes the fun part! To create the animation, add the following three lines to the <code>div:first-of-type</code> selector. You&#8217;ll see nothing yet, but this sets the stage for the animation functionality, which will kick in when the box is hovered on.</p>
<pre>
-webkit-transition-property: background, border;
-webkit-transition-duration: 2s, 1s;
-webkit-transition-timing-function: linear, ease-in-out;</pre>
<p>I&#8217;m using three properties to define two animations for the box (<code>background</code> and <code>border</code>). By adding commas between the properties of each option, I can distinguish which ones will be applied to which animation.</p>
<p>The <code>-webkit-transition-property</code> value defines which CSS properties will be animated (background and border).</p>
<p>The <code>-webkit-transition-duration</code> property defines how long the animation transition will be &#8212; in this case, 2 seconds for the background and 1 second for the border.</p>
<p>The last <code>-webkit-transition-timing-function</code> tells the browser what equation to use for the transition.</p>
<p>So we&#8217;ve set the stage for the animation, but we haven&#8217;t added any animation yet!</p>
<p>Let&#8217;s fix that by declaring our <code>:hover</code> properties.</p>
<pre>
div:first-of-type:hover {
  background: #ccc;
  border: 20px solid blue;
}</pre>
<p>Now, when you hover over our blue box, the background and border will change and grow. That&#8217;s it. We don&#8217;t have to add any other code, the animation will run automatically!</p>
<p>We&#8217;re not done yet, let&#8217;s add one more example animation to the markup.</p>
<pre>
&lt;div onclick="this.style.webkitTransform='rotate(360deg)'"&gt;
  &lt;h1>Click me!&lt;/h1&gt;
&lt;/div&gt;&lt;!--end clickable--&gt;
</pre>
<p>I&#8217;ve used a bit of inline Javascript so that when the div is clicked, it rotates itself around 360 degrees (in production, you will want to do this unobtrusively by using JavaScript DOM selection methods &#8212; but that&#8217;s out of the scope of this guide).</p>
<p>Next for the CSS, we&#8217;ll use the <code>:last-child </code> pseudo-class (since we want to target the  last div in our HTML).</p>
<pre>
div:last-child {
  width: 95%;
  height: 100px;
  -webkit-transition: -webkit-transform 3s ease-in;
  background: rgba(0,0,0,.5);
  cursor: pointer;
}</pre>
<p> The things to note about the above CSS code block is that the background property uses the <code>rgba</code> property to give the div a semitransparent background. The other thing to note is the use of the <code>-webkit-transition</code> property shorthand to animate the rotation of the div.</p>
<p><img src="http://images.sixrevisions.com/2010/08/19-04_spinning_click.png" width="550" height="326" /></p>
<p>And with that, we&#8217;re done with the animation. It&#8217;s full steam ahead to the last CSS3 technique we&#8217;ll cover: media queries.</p>
<h3>3. Media Queries</h3>
<p>The third and last advanced CSS3 technique I&#8217;ll be discussing is media queries. What are they? Media queries allow web designers to add conditional CSS rules depending on what the user is using to view the web page.</p>
<p>The advantage of this is that we can make new rules on how to display a web page depending on the situation of our user. For example, if their viewport&#8217;s width is thinner than 800 pixels, we can adjust the layout accordingly, giving us a truly fluid and flexible layout. So how do we do it? Easy.</p>
<pre>
<strong>@media</strong> screen and (max-width:800px) {
  ...properties when browser is 800px or less...
}</pre>
<p>If you open up the demo in a web browser that supports media queries, you will see that as you reduce the size of the browser, the boxes change sizes, which is great.</p>
<p>However, wouldn&#8217;t it be awesome if when the browser&#8217;s width gets reduced, the two lists stop floating? Yes, it would be. And the CSS for that is the following:</p>
<pre>
@media screen and (max-width:800px) {
  ul {
    float: none;
    max-width: auto;
    width: auto;
  }
}</pre>
<p><img src="http://images.sixrevisions.com/2010/08/19-05_media_query.png" width="550" height="350" /></p>
<p>While we&#8217;re at it, let&#8217;s make a few other changes. In the following code block, we&#8217;ll make it so that the first div disappears if the viewport is less than 800px.</p>
<pre>
div:first-of-type {
  display: none;
}</pre>
<p>Now when the browser is reduced past 800px, the blue box will disappear!</p>
<p>We can even have multiple <code>@media</code> rules in one document. How about we do something else if the browser is lowered to 600px in width?</p>
<pre>
@media screen and (max-width:600px) {
  ul:last-of-type {
    display: none;
  }
}</pre>
<p>Now, when you reduce the browser a little more (less than 600px) &#8212; like magic &#8212; the second unordered list disappears!</p>
<p>Here&#8217;s some styles for when the width is reduced to 400px.</p>
<pre>
@media screen and (max-width: 400px) {
  div:last-child, form {
    display: none;
  }
  ul:first-of-type {
    height: auto;
    padding: 50px;
  }
  ul:first-of-type li {
    margin-bottom: 50px;
  }
}</pre>
<p>I hope you see the potential of media queries, especially with the growing number of ways people view websites (<a href="http://sixrevisions.com/user-interface/a-quick-look-at-mobile-web-designs/" title="A Quick Look at Mobile Web Designs - sixrevisions.com">such as through mobile devices</a>).</p>
<h3>Wrapping Up</h3>
<p>Now you  know  three advanced CSS3 techniques! Give yourself a pat on the back, you deserve it.</p>
<p>It&#8217;s important to note that while the selectors and media queries will work in most modern browsers (Firefox, Safari, Chrome), the animation will only work on Webkit-based browsers like Safari and Chrome.</p>
<h3>Further Reading</h3>
<ul>
<li><a href="http://www.w3.org/TR/css3-selectors/">Selectors</a> (W3C specs)</li>
<li><a href="http://webkit.org/blog/138/css-animation/">CSS Animation</a> (WebKit&#8217;s blog)</li>
<li><a href="http://www.w3.org/TR/css3-mediaqueries/">Media Queries</a> (W3C specs)</li>
<li><a href="http://css-tricks.com/css-media-queries/">CSS Media Queries &amp; Using Available Space</a></li>
<li><a href="http://sixrevisions.com/css/css3-demos-experiments/">10 Interesting CSS3 Experiments and Demos</a></li>
<li><a href="http://sixrevisions.com/css/semantic-css3-lightboxes/">Semantic CSS3 Lightboxes</a></li>
<li><a href="http://sixrevisions.com/css/examples-of-css3-in-the-wild/">Examples of CSS3 in the Wild</a></li>
</ul>
<h3>Related Content</h3>
<ul>
<li><a href="http://sixrevisions.com/css/how-to-create-inset-typography-with-css3/">How to Create Inset Typography with CSS3</a></li>
<li><a href="http://sixrevisions.com/css/examples-of-css3-in-the-wild/">Examples of CSS3 in the Wild</a></li>
<li><a href="http://sixrevisions.com/interviews/six-questions-eric-meyer-on-css3/">Six Questions: Eric Meyer on CSS3</a></li>
<li><em>Related categories</em>: <a href="http://sixrevisions.com/category/css/">CSS</a> and <a href="http://sixrevisions.com/category/web-development/">Web Development</a></li>
</ul>
<h3>About the Author</h3>
<p class="about-author"><img src="http://images.sixrevisions.com/authors/max_luzuriaga_small.jpg" alt="" width="80" height="80" /><strong>Max Luzuriaga</strong> is a freelance web designer (see his work on his <a href="http://www.maxluzuriaga.com/">portfolio site</a>). He&#8217;s also a design blogger at <a href="http://www.thedesigngnome.com/">The Design Gnome</a>. He likes web standards and loves talking in the third person. Follow him on Twitter as @<a href="http://twitter.com/designgnome">designgnome</a>.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SixRevisions?a=6F2QbxVjvJc:PtGbygGbBB4:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/SixRevisions?i=6F2QbxVjvJc:PtGbygGbBB4:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SixRevisions?a=6F2QbxVjvJc:PtGbygGbBB4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SixRevisions?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SixRevisions?a=6F2QbxVjvJc:PtGbygGbBB4:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SixRevisions?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SixRevisions?a=6F2QbxVjvJc:PtGbygGbBB4:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/SixRevisions?i=6F2QbxVjvJc:PtGbygGbBB4:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SixRevisions?a=6F2QbxVjvJc:PtGbygGbBB4:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/SixRevisions?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/SixRevisions/~4/6F2QbxVjvJc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://designposted.com/2010-08-15/3-advanced-css3-techniques-you-should-learn/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
