<?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>610 Design &#187; browser</title>
	<atom:link href="http://www.610design.com/tag/browser/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.610design.com</link>
	<description>Design the code</description>
	<lastBuildDate>Tue, 08 Feb 2011 12:57:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>CSS3 Sample Code</title>
		<link>http://www.610design.com/coding/css3-sample-code/</link>
		<comments>http://www.610design.com/coding/css3-sample-code/#comments</comments>
		<pubDate>Tue, 08 Feb 2011 03:16:07 +0000</pubDate>
		<dc:creator>schoey</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[design]]></category>

		<guid isPermaLink="false">http://www.610design.com/?p=429</guid>
		<description><![CDATA[The cross browser css3 generator. Copy and edit Box Round Box shadow Box Gradient Box RGBA Box Rotate Box Transition Box Text Shadow Font Face]]></description>
			<content:encoded><![CDATA[<p>The cross browser css3 generator. Copy and edit</p>
<h2>Box Round</h2>
<pre class="brush: xml; title: ; notranslate">
.box_round {
-moz-border-radius: 12px;
-webkit-border-radius: 12px;
border-radius: 12px;
}
</pre>
<h2>Box shadow</h2>
<pre class="brush: css; title: ; notranslate">
.box_shadow {
-moz-box-shadow: 0px 0px 4px #ffffff; /* FF3.5+ */
-webkit-box-shadow: 0px 0px 4px #ffffff; /* Saf3.0+, Chrome */
box-shadow: 0px 0px 4px #ffffff; /* Opera 10.5, IE9 */
}
</pre>
<h2>Box Gradient</h2>
<pre class="brush: css; title: ; notranslate">
.box_gradient {
background-color: #444444;
background-image: -moz-linear-gradient(top, #444444, #999999); /* FF3.6 */
background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #444444),color-stop(1, #999999)); /* Saf4+, Chrome */
background-image: linear-gradient(top, #444444, #999999);
filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#444444', EndColorStr='#999999'); /* IE6–IE9 */
}
</pre>
<h2>Box RGBA</h2>
<p>
<pre class="brush: css; title: ; notranslate">
  .box_rgba {
  background-color: #B4B490;
  background-color: rgba(180, 180, 144, 0.6);  /* FF3+, Saf3+, Opera 10.10+, Chrome, IE9
  filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#99B4B490',EndColorStr='#99B4B490'); /* IE6–IE9
  }
  </pre>
</p>
<h2>Box Rotate</h2>
<p>
<pre class="brush: css; title: ; notranslate">
  .box_rotate {
  -moz-transform: rotate(7.5deg);  /* FF3.5+
  -o-transform: rotate(7.5deg);  /* Opera 10.5
  -webkit-transform: rotate(7.5deg);  /* Saf3.1+, Chrome
  -ms-transform: rotate(7.5deg);  /* IE9
  transform: rotate(7.5deg);
  filter: progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand', /* IE6–IE9
  M11=0.9914448613738104, M12=-0.13052619222005157,M21=0.13052619222005157, M22=0.9914448613738104);
  }
  </pre>
</p>
<h2>Box Transition</h2>
<p>
<pre class="brush: css; title: ; notranslate">
  .box_transition {
  -moz-transition: all 0.3s ease-out;  /* FF3.7+ */
  -o-transition: all 0.3s ease-out;  /* Opera 10.5 */
  -webkit-transition: all 0.3s ease-out;  /* Saf3.2+, Chrome */
  transition: all 0.3s ease-out;
  }
  </pre>
</p>
<h2>Box Text Shadow</h2>
<p>
<pre class="brush: css; title: ; notranslate">
  .box_textshadow {
  text-shadow: 1px 1px 3px #888; /* FF3.5+, Opera 9+, Saf1+, Chrome */
  }
  </pre>
</p>
<h2>Font Face</h2>
<p>
<pre class="brush: css; title: ; notranslate">
  @font-face {
  font-family: 'WebFont';
  src: url('myfont.eot');  /* IE6–8 */
  src: local('☺'),
  url('myfont.woff') format('woff'),  /* FF3.6, IE9 */
  url('myfont.ttf') format('truetype');  /* Saf3+, Chrome, FF3.5, Opera 10+ */
  }
  </pre></p>
]]></content:encoded>
			<wfw:commentRss>http://www.610design.com/coding/css3-sample-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Create CSS3 Christmas Tree Ornaments</title>
		<link>http://www.610design.com/coding/how-to-create-css3-christmas-tree-ornaments/</link>
		<comments>http://www.610design.com/coding/how-to-create-css3-christmas-tree-ornaments/#comments</comments>
		<pubDate>Thu, 23 Dec 2010 13:35:17 +0000</pubDate>
		<dc:creator>schoey</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[resources]]></category>
		<category><![CDATA[web-design]]></category>

		<guid isPermaLink="false">http://www.610design.com/?p=419</guid>
		<description><![CDATA[In this guide, we will display the power of CSS3 in drawing complex shapes. We will magically create Christmas tree ornaments using only CSS3 and HTML (no images). In particular, we will be drawing baubles, which are the hallmark ornamentation of Christmas trees. Note that this is merely a fun, proof-of-concept that explores the possible [...]]]></description>
			<content:encoded><![CDATA[<p>In this guide, we will display the power of CSS3 in drawing complex   shapes. We will magically create Christmas tree ornaments using only   CSS3 and HTML (no images). In particular, we will be drawing <a href="http://en.wikipedia.org/wiki/Bauble" title="Bauble - en.wikipedia.org">baubles</a>, which are the hallmark ornamentation of Christmas trees.</p>
<p>Note that this is merely a fun, proof-of-concept that explores the   possible applications of CSS3. If you intend to use this in production,   you should be aware that what we will be creating uses W3C   specifications that are not yet, or will never be, supported in many   browsers (such as IE6 through IE8). Also, the markup must be updated in   order to avoid empty div elements.</p>
<h3>CSS Ingredients</h3>
<p>Before we get started, let&rsquo;s just quickly go over what we be using.</p>
<ol>
<li><strong>:before</strong><strong> and :after&nbsp;<a href="http://www.w3.org/TR/CSS2/generate.html#before-after-content" target="_blank">pseudo-elements</a>:</strong> Using pseudo-elements will help us in reducing the amount of   unnecessary HTML we need to use. If you have worked with rounded corners   in CSS2 before, you probably know that, in order to produce flexible   rounded corners that accommodate various sizes of content, you had to   use a lot of empty divs and such. By using these elements, we will have   minimal markup. In this case, just one empty div per   bauble, which, if you were enterprising, you would fill with some text   content. Note that these pseudo-elements are in CSS2 specs.</li>
<li><strong>CSS3 linear and radial&nbsp;<a href="http://www.red-team-design.com/css-gradients-quick-tutorial">gradients</a>:</strong> To get the metallic color fills and shines of the baubles, we will use color gradients.</li>
<li><strong>Box shadows, transformations, border radius, etc.:</strong> To create the shapes, we will be using a combination of box-shadow, transform, and border-radius (for rounded corners).</li>
</ol>
<h3>HTML</h3>
<p>First, let us create the markup. As you can see below, the structure   is quite minimal and contains only the minimum amount of markup   necessary.</p>
<p>Since the globes need to be block elements, I chose to go with &lt;div&gt; instead of &lt;span&gt;, however, if you are not comfortable with that, you can use &lt;span&gt; tags and then use the display: block CSS property/value pair.</p>
<p>I have placed them in an unordered list because I decided that they are a group of items with no particular hierarchy (e.g. red-bauble is not greater than green-bauble), and so, to me, the metaphor of unordered lists is retained.</p>
<pre class="brush: css; title: ; notranslate">
&lt;ul id=&quot;bauble-container&quot;&gt;
  &lt;li&gt;
    &lt;div class=&quot;bauble red-bauble&quot;&gt;&lt;/div&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;div class=&quot;bauble blue-bauble&quot;&gt;&lt;/div&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;div class=&quot;bauble yellow-bauble&quot;&gt;&lt;/div&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;div class=&quot;bauble green-bauble&quot;&gt;&lt;/div&gt;
  &lt;/li&gt;
&lt;/ul&gt;
</pre>
<h4>Explanation of the IDs/classes:</h4>
<ol>
<li>#bauble-container is our unordered list, which will be used for targeting the list items (&lt;li&gt;) with greater specificity.</li>
<li>.bauble is the main part of the ornament; the spherical shape.</li>
<li>.red-bauble, .blue-bauble, .yellow-bauble and .green-bauble&nbsp;are   the classes used for adding color variations. It makes our work   flexible so that, if you wanted various combinations, you&rsquo;re not stuck   with the color combinations I chose. For example, you could have two   yellow baubles or no yellow baubles&ndash;that&rsquo;s why we use classes, and not   IDs, for these.</li>
</ol>
<h3>CSS</h3>
<p>What follows are the style rules that will turn our boring unordered list above into a magical set of Christmas tree ornaments.</p>
<p>For discussion, I have commented the CSS below so that you can see how it works to highlight the major parts of the CSS.</p>
<p>Note that, in production, you would not want this much commenting in   your stylesheet because it is over the top and because it can increase   your stylesheet&rsquo;s file size.</p>
<p>
<pre class="brush: css; title: ; notranslate">
  /* General */
  html
  {
  background: #f2f5f6; /* Fallback background color if gradients are not supported */
  background: -moz-linear-gradient(top, #f2f5f6, #c8d7dc);
  background: -webkit-gradient(linear,left bottom,left top,color-stop(0, #c8d7dc),color-stop(1, #f2f5f6));
  height: 100%;
  }

  #bauble-container
  {
  list-style: none; /* Remove bullets */
  width: 568px;
  margin: 150px auto; /* Center it */
  padding: 0;
  }

  #bauble-container li
  {
  margin: 0 20px; /* let's add some space */
  float: left; /* place them in line */
  }

  /* This is the part where the Christmas bauble string is added */
  #bauble-container li:before
  {
  content: &quot;&quot;;
  background: #dadada; /* Fallback */
  background: -moz-linear-gradient(bottom, #9c9c9c, rgba(255,255,255,0) );
  background: -webkit-gradient(linear, left bottom, right top, from(#9c9c9c), color-stop(100%, rgba(255,255,255,0)));
  height: 50px;
  width: 2px;
  display: block;
  margin: 0 auto;
  }

  /* Alernatively rotate them */
  #bauble-container li:nth-child(odd)
  {
  -moz-transform: rotate(-5deg); /* Firefox */
  -webkit-transform: rotate(-5deg); /* Chrome and Safari */
  -o-transform: rotate(-5deg); /* Opera */
  -ms-transform: rotate(-5deg); /* Surprise! IE9 with its own prefix */
  }

  #bauble-container li:nth-child(even)
  {
  -moz-transform: rotate(5deg);
  -webkit-transform: rotate(5deg);
  -o-transform: rotate(5deg);
  -ms-transform: rotate(5deg);
  }

  /* Style the bauble */
  .bauble
  {
  -moz-border-radius: 100px;
  border-radius: 100px;

  -moz-box-shadow: 0 0 5px #777777;
  box-shadow: 0 0 5px #777777;
  -webkit-box-shadow: 0 0 5px #777777;

  border: 1px solid rgba(0,0,0,0.3);
  position: relative;
  height: 100px;
  width: 100px;
  }

  /* Style the bauble head */
  .bauble:before
  {
  content: &quot;&quot;;

  background: #fff; /* Fallback */
  background: -moz-linear-gradient(left, #fff, #9c9c9c, #fff, #9c9c9c );
  background: -webkit-gradient(linear, left center, right center, from(#fff), color-stop(25%, #9c9c9c), color-stop(50%, #fff), color-stop(75%, #9c9c9c)); 

  -moz-border-radius: 2px;
  border-radius: 2px;

  -moz-box-shadow: 0 1px 0 rgba(0,0,0,0.2), 0 -1px 0 rgba(255,255,255,0.3) inset;
  box-shadow: 0 1px 0 rgba(0,0,0,0.2), 0 -1px 0 rgba(255,255,255,0.3) inset;
  -webkit-box-shadow: 0 1px 0 rgba(0,0,0,0.2), 0 -1px 0 rgba(255,255,255,0.3) inset;

  border: 1px solid #dadada ;
  height: 10px;
  width: 20px;
  position: absolute;
  left: 50%;
  top: -12px;
  margin-left: -10px;
  }

  /* Add bauble light reflection */
  .bauble:after
  {
  content: &quot;&quot;;

  -moz-border-radius: 100px;
  border-radius: 100px;

  background: #fff; /* Fallback */
  background: -moz-linear-gradient(bottom, #fff, rgba(255,255,255,0.1) );
  background: -webkit-gradient(linear, left bottom, right top, from(#fff), color-stop(100%, rgba(255,255,255,0.1))); 

  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -40px;
  opacity: 0.15;
  height: 80px;
  width: 80px;
  }

  /* Colorize them */
  .red-bauble
  {
  background: #c8171f;
  background: -moz-radial-gradient(center 45deg,circle cover, #f9d0be, #c8171f);
  background: -webkit-gradient(radial, 40% 40%, 0, 40% 40%, 50, from(#f9d0be), to(#c8171f));
  }

  .blue-bauble
  {
  background: #00a1ee; /* Fallback */
  background: -moz-radial-gradient(center 45deg,circle cover, #cde6f9, #00a1ee);
  background: -webkit-gradient(radial, 40% 40%, 0, 40% 40%, 50, from(#cde6f9), to(#00a1ee));
  }

  .yellow-bauble
  {
  background: #fcb83d; /* Fallback */
  background: -moz-radial-gradient(center 45deg,circle cover, #fcf3a6, #fcb83d);
  background: -webkit-gradient(radial, 40% 40%, 0, 40% 40%, 50, from(#fcf3a6), to(#fcb83d));
  }

  .green-bauble
  {
  background: #4d8d00; /* Fallback */
  background: -moz-radial-gradient(center 45deg,circle cover, #d1e5b2, #4d8d00);
  background: -webkit-gradient(radial, 40% 40%, 0, 40% 40%, 50, from(#d1e5b2), to(#4d8d00));
  }
</pre>
</p>
<p><a href="http://www.610design.com/sandbox/css3-christmas.html">View Demo</a></p>
<p>IE6 and IE7 couldn’t join our Christmas party for well-known reasons: they lack more than just CSS3 specifications support, but also the :before and :after pseudo-elements; so we would just have four squares with different colors in these two browsers.</p>
<p>I hope you were inspired to learn about CSS3 in this guide and that you have discovered a trick or two that you can use in your projects. I wish you a Merry Christmas and Happy Holidays!</p>
<p class="source">Soucre <a href="http://sixrevisions.com" target="_blank">Six Revisions</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.610design.com/coding/how-to-create-css3-christmas-tree-ornaments/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSS3 Media Queries</title>
		<link>http://www.610design.com/coding/css3-media-queries/</link>
		<comments>http://www.610design.com/coding/css3-media-queries/#comments</comments>
		<pubDate>Thu, 19 Aug 2010 11:25:28 +0000</pubDate>
		<dc:creator>schoey</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[ipad]]></category>

		<guid isPermaLink="false">http://www.610design.com/?p=412</guid>
		<description><![CDATA[CSS2 allows you to specify stylesheet for specific media type such as screen or print. Now CSS3 makes it even more efficient by adding media queries. You can add expressions to media type to check for certain conditions and apply different stylesheets. For example, you can have one stylesheet for large displays and a different [...]]]></description>
			<content:encoded><![CDATA[<p>CSS2 allows you to specify stylesheet for specific media type such as screen or print.   Now CSS3 makes it even more efficient by adding media queries. You can   add expressions to media type to check for certain conditions and apply   different stylesheets. For example, you can have one stylesheet for   large displays and a different stylesheet specifically for mobile   devices. It is quite powerful because it allows you to tailor to   different resolutions and devices without changing the content. Continue   on this post to read the tutorial and see some websites that make good   use of media queries.</p>
<h3>CSS3 Media Queries (<a href="http://www.610design.com/sandbox/mediaquery.html">demo</a>)</h3>
<p>Check my <a href="http://www.610design.com/sandbox/mediaquery.html">demo</a> and resize your browser window to see it in action.</p>
<h4>Max Width</h4>
<p>The following CSS will apply if the viewing area is smaller than 600px.</p>
<pre class="brush: css; title: ; notranslate">
@media screen and (max-width: 600px) {
  .class {
    background: #ccc;
  }
}
</pre>
<p>If you want to link to a separate stylesheet, put the following line of code in between the <code>&lt;head&gt;</code> tag.</p>
<pre class="brush: xml; title: ; notranslate">&lt;link rel=&quot;stylesheet&quot; media=&quot;screen and (max-width: 600px)&quot; href=&quot;small.css&quot; /&gt;
</pre>
<h4>Min Width</h4>
<p>The following CSS will apply if the viewing area is greater than 900px.</p>
<pre class="brush: css; title: ; notranslate">
@media screen and (min-width: 900px) {
  .class {
    background: #666;
  }
}
</pre>
<h4>Multiple Media Queries</h4>
<p>You can  combine multiple media queries. The following code will apply if the viewing area is between 600px and 900px.</p>
<pre class="brush: css; title: ; notranslate">
@media screen and (min-width: 600px) and (max-width: 900px) {
  .class {
    background: #333;
  }
}
</pre>
<h4>Device Width</h4>
<p>The following code will apply if the max-device-width is 480px (eg.   iPhone display). Note: max-device-width means the actual resolution of   the device and max-width means the viewing area resolution.</p>
<pre class="brush: css; title: ; notranslate">
@media screen and (max-device-width: 480px) {
  .class {
    background: #000;
  }
}
</pre>
<h4>For iPhone 4</h4>
<p>The following stylesheet is specifically for iPhone 4 <em>(credits: <a href="http://thomasmaier.me/2010/06/css-for-iphone-4-retina-display/">Thomas Maier</a>)</em>.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;link rel=&quot;stylesheet&quot; media=&quot;only screen and (-webkit-min-device-pixel-ratio: 2)&quot; type=&quot;text/css&quot; href=&quot;iphone4.css&quot; /&gt;
</pre>
<h4>For iPad</h4>
<p>You can also use media query to detect orientation (portrait or landscapse)  on the iPad <em>(credits: <a href="http://www.cloudfour.com/ipad-css/">Cloud Four</a>)</em>.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;link rel=&quot;stylesheet&quot; media=&quot;all and (orientation:portrait)&quot; href=&quot;portrait.css&quot;&gt;
&lt;link rel=&quot;stylesheet&quot; media=&quot;all and (orientation:landscape)&quot; href=&quot;landscape.css&quot;&gt;
</pre>
<h3>Media Queries for Internet Explorer</h3>
<p>Unfortunately, media query is not supported in Internet Explorer 8 or   older. You can use Javascript to hack around. Below are some solutions:</p>
<ul>
<li><a href="http://css-tricks.com/resolution-specific-stylesheets/">CSS Tricks &#8211; using jQuery to detect browser size</a></li>
<li><a href="http://www.themaninblue.com/experiment/ResolutionLayout/">The Man in Blue &#8211; using Javascript</a> (this article is written 6 years ago)</li>
<li><a href="http://plugins.jquery.com/project/MediaQueries">jQuery Media Queries Plugin</a></li>
</ul>
<h3>Sample Sites</h3>
<p>You need to view the following sites with a browser that supports   media queries such as Firefox, Chrome, and Safari. Go to each site and   see how the layout responds base on the size of your browser winow.</p>
<h4><a href="http://hicksdesign.co.uk" target="_blank">Hicksdesign</a></h4>
<ul>
<li><strong>Large size:</strong> 3 columns sidebar</li>
<li><strong>Smaller:</strong> 2 columns sidebar (the middle column drops to the left column)</li>
<li><strong>Even smaller:</strong> 1 column sidebar (the right column shift up below the logo)</li>
<li><strong>Smallest:</strong> no sidebar (logo &amp; right column shift up and the other sidebar columns move below)</li>
</ul>
<h4><a href="http://colly.com" target="_blank">Colly</a></h4>
<p>The layout switches between one column, 2 columns, and 4 columns depend on the viewing area of your browser.</p>
<h4><a href="http://www.alistapart.com/d/responsive-web-design/ex/ex-site-FINAL.html" target="_blank">A List Apart</a></h4>
<ul>
<li><strong>Large size:</strong> navigation at the top, 1 row of pictures</li>
<li><strong>Medium size:</strong> navigation on the left side, 3 columns of pictures</li>
<li><strong>Small size:</strong> navigation at the top, no background image on logo, 3 columns of pictures</li>
</ul>
<h4><a href="http://teegallery.com" target="_blank">Tee Gallery</a></h4>
<p>This one is very similar to previous example Colly, but the   difference is the images of TeeGallery resize as the layout stretchs.   The trick here is use relative percentage value instead of fixed pixel   (ie. width=100%).</p>
<h3>Conclusion</h3>
<p>Keep in mind: having an optimized stylesheet for mobile devices   doesn&rsquo;t mean your site is optimized for mobile. To be truly optimized   for mobile devices, your images and markups need to cut on the load size   as well. Media queries are meant for design presentation, not   optimization.</p>
<p class="source"><em>Source: <a href="http://www.webdesignerwall.com" target="_blank">Web Designer Wall</a></em><a href="http://www.webdesignerwall.com"></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.610design.com/coding/css3-media-queries/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Useful CSS3 Tools</title>
		<link>http://www.610design.com/coding/useful-css3-tools/</link>
		<comments>http://www.610design.com/coding/useful-css3-tools/#comments</comments>
		<pubDate>Tue, 10 Aug 2010 10:41:05 +0000</pubDate>
		<dc:creator>schoey</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[resources]]></category>

		<guid isPermaLink="false">http://www.610design.com/?p=407</guid>
		<description><![CDATA[CSS3 continues to gain popularity as we’re seeing it used in more and more websites. However, there are still those out there that are holding out on learning it and using it. This is probably due to the fact that it’s not fully supported yet in all browsers. Nevertheless, if you’re one of those that [...]]]></description>
			<content:encoded><![CDATA[<p>CSS3 continues to gain popularity as we’re seeing it used in more and more websites. However, there are still those out there that are holding out on learning it and using it. This is probably due to the fact that it’s not fully supported yet in all browsers. Nevertheless, if you’re one of those that haven’t started using CSS3 or you’re a CSS3 pro just looking to speed up your work flow, here are six CSS3 tools that you should find useful.</p>
<h3><a href="http://css-tricks.com/examples/ButtonMaker/" target="_blank">CSS3 Button Maker</a></h3>
<p>The CSS3 Button Maker gives you a number of sliders and color pickers to style your own CSS3 button. Then you can grab the code to use in your own project.</p>
<h3><a href="http://www.css3generator.com/" target="_blank">CSS3 Generator</a></h3>
<p>Select from a list of CSS3 properties, fill in a few parameters to fit your needs, and it spits out the generated code along with a live preview.</p>
<h3><a href="http://css3please.com/" target="_blank">CSS3 Please!</a></h3>
<p>CSS3 Please! is a CSS3 rule generator that acts as a sort of playground. It allows you make various CSS3 tweaks and see a live preview. Then you can copy and paste into your own file.</p>
<h3><a href="http://gradients.glrzad.com/" target="_blank">CSS3 Gradient Generator</a></h3>
<p>The CSS3 Gradient Generator was created as a showcase of the power of CSS based gradients as well as a tool for developers and designers to generate a gradient in CSS.</p>
<h3><a href="http://westciv.com/tools/transforms/index.html" target="_blank">CSS3 Transforms</a></h3>
<p>CSS3 Transforms gives you a set of sliders to experiment with various transforms such as position, rotation, skew and more. It also generates the corresponding code on the fly.</p>
<h3><a href="http://tools.css3.info/selectors-test/test.html" target="_blank">CSS3 Selectors Test</a></h3>
<p>CSS3 Selectors Test automatically runs a large number of small tests which determines if your browser is compatible with a large number of CSS selectors. If it is not compatible with a particular selector it is marked as such. You can click on each CSS selector to see the results, including a small example and explanation for each of tests.</p>
<p class="source">Source: <a href="http://webdesignledger.com">Web Design Ledger</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.610design.com/coding/useful-css3-tools/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IE-only Styles: Where Should They Be Placed?</title>
		<link>http://www.610design.com/coding/ie-only-styles-where-should-they-be-placed/</link>
		<comments>http://www.610design.com/coding/ie-only-styles-where-should-they-be-placed/#comments</comments>
		<pubDate>Wed, 07 Jul 2010 10:30:34 +0000</pubDate>
		<dc:creator>schoey</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[ie]]></category>

		<guid isPermaLink="false">http://www.610design.com/?p=405</guid>
		<description><![CDATA[Dealing with Internet Explorer is a fact of web design, and it isn’t going to go away anytime soon. If not for some of the differences in the way IE6 and IE7 handle certain areas of CSS (whether it be margins bugs, float bugs, or other problems), CSS development would be so much easier. Of [...]]]></description>
			<content:encoded><![CDATA[<p>Dealing with Internet Explorer is a fact of web design, and it isn’t   going to go away anytime soon.</p>
<p>If not for some of the differences in the way IE6 and IE7 handle   certain areas of CSS (whether it be margins bugs, float bugs, or other   problems), CSS development would be so much easier.</p>
<p>Of course, as I’ve said in past articles on this website and others, I   believe IE-only styles can be kept to a bare minimum, and in some cases   you may not need any, but it’s unlikely that developers will end up so   fortunate. So how do you divide your IE-only CSS styles? The options we   have are as follows:</p>
<h2>Option #1</h2>
<p>A single IE-only stylesheet inside of a conditional comment; inside   that file, different versions of IE are targeted with hacks.</p>
<p><strong>Drawbacks to #1</strong></p>
<ul>
<li>Every version of IE will load the extra styles, even the unused ones</li>
<li>Potentially adds an extra HTTP request</li>
<li>Changing something in the main stylesheet may require that you hunt   down IE-only styles in a separate file</li>
</ul>
<p><strong>Benefits to #1</strong></p>
<ul>
<li>IE styles are in one file, so they’re easy to maintain</li>
</ul>
<h2>Option #2</h2>
<p>Multiple IE-only stylesheets inside conditionals, each targeting a   different version of IE.</p>
<p><strong>Drawbacks to #2</strong></p>
<ul>
<li>Changing something in the main stylesheet may require that you hunt   down IE-only styles in as many as 2 or more extra files</li>
</ul>
<p><strong>Benefits to #2</strong></p>
<ul>
<li>No unnecessary HTTP requests</li>
<li>No unnecessary lines of code loaded in the main stylesheet</li>
</ul>
<h2>Option #3</h2>
<p>A single stylesheet that targets all browser, but within that   stylesheet, IE-only hacks are present.</p>
<p><strong>Drawbacks to #3</strong></p>
<ul>
<li>Unnecessary lines of code are loaded for all browsers</li>
</ul>
<p><strong>Benefits to #3</strong></p>
<ul>
<li>No extra HTTP requests</li>
<li>No need to open multiple CSS files to adjust something that’s hacked   for IE</li>
</ul>
<h2>Option #4</h2>
<p>One or more JavaScript files inside of conditional comments that   target different versions of IE, dynamically adding or removing styles   and/or class names.</p>
<p><strong>Drawbacks to #4</strong></p>
<ul>
<li>IE Browsers without scripting enabled will not see the corrected CSS</li>
<li>A slow loading script could cause the styles to be applied late,   making the layout temporarily look awkward</li>
<li>Will be complicated to maintain, and could also require extra   IE-only stylesheets, adding to the page bloat and slowness</li>
</ul>
<p><strong>Benefits to #4</strong></p>
<ul>
<li>Could work on buggy elements that won’t behave with pure CSS (I’ve   seen this happen and have used this method when time/budget was limited   and the CSS was too messy to deal with normally)</li>
</ul>
<h2>Option #5</h2>
<p>Ignore IE.</p>
<p><strong>Drawbacks to #5</strong></p>
<ul>
<li>Locking out a significant portion of your potential traffic/sales</li>
<li>Client screaming at you because the website looks like crap in IE</li>
</ul>
<p><strong>Benefits to #5</strong></p>
<ul>
<li>Only one hack-less stylesheet to maintain</li>
<li>Peace of mind (but short-lived because of the screaming client)</li>
</ul>
<h2>Conclusion</h2>
<p>In most cases, you’ll be using option #2 (multiple conditionals that   target different versions of IE). But don’t rule out using #3. In   situations where you’ve only got 2 or 3 lines of CSS to target a single   version of IE, I think the best option is to just put those extra styles   in the main stylesheet and allow it to load for every browser.</p>
<p>Remember that for most client projects, Internet Explorer is the most   used browser. If you’re adding multiple extra files for all those   users, that’s more HTTP requests, and so you’re making the pages   unnecessarily slow for most of your users. I think a few lines of CSS in   the main stylesheet is much better than adding one or more extra HTTP   requests.</p>
<p>Feel free to offer your thoughts if there are any benefits/drawbacks   (or even methods) I haven’t mentioned.</p>
<p class="source">Source: <a href="http://www.impressivewebs.com">impressivewebs</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.610design.com/coding/ie-only-styles-where-should-they-be-placed/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>HTML5 Showcase &#8211; Flash Killing Demos?</title>
		<link>http://www.610design.com/technology/html5-showcase-flash-killing-demos/</link>
		<comments>http://www.610design.com/technology/html5-showcase-flash-killing-demos/#comments</comments>
		<pubDate>Tue, 08 Jun 2010 17:22:25 +0000</pubDate>
		<dc:creator>schoey</dc:creator>
				<category><![CDATA[technology]]></category>
		<category><![CDATA[tutorials]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[resources]]></category>

		<guid isPermaLink="false">http://www.610design.com/?p=399</guid>
		<description><![CDATA[So you&#8217;ve heard all rumors about HTML5 would take over Adobe Flash. While most web community argues that it&#8217;s possible or not, you must be wandering what makes HTML5 so powerful that even giant company Apple wants to use it to replace Flash. That&#8217;s why this post exists, we&#8217;re not going to talk about what [...]]]></description>
			<content:encoded><![CDATA[<p>So you&#8217;ve heard all rumors about HTML5 would take over Adobe Flash. While most web community argues that it&#8217;s possible or not, you must be wandering what makes HTML5 so powerful that even giant company Apple wants to use it to replace Flash.</p>
<p>That&#8217;s why this post exists, we&#8217;re not going to talk about what HTML5 can do, but show live demos of magical things that HTML5 can achieve with other language like JavaScript, so get ready to be inspired.</p>
<p>Note: As HTML5 is not fully supported by certain web browser like Internet Explorer, you&#8217;re strongly recommended to use <a href="http://www.getfirefox.com/">Firefox browser</a> to view all HTML5 demos below.</p>
<h3>Animation</h3>
<p>The HTML5&#8217;s canvas element is the deciding factor for HTML5 to replace certain Flash animation. It allows you to build dynamic, scriptable rendering of 2D shapes and bitmap images with Javascript, which by other mean is, controllable animation.</p>
<h4><a href="http://9elements.com/io/projects/html5/canvas/">Audioburst Animation</a></h4>
<p>A comfortable and fantastic animation created with HTML5&#8217;s canvas and audio tag.</p>
<h4><a href="http://mrdoob.com/projects/chromeexperiments/ball_pool/">Ball Pool</a></h4>
<p>Being showcased in the last Google I/O event, this demo shows you how dynamic can HTML5 be.</p>
<h4><a href="http://www.blobsallad.se/">Blob Sallad</a></h4>
<p>A HTML5-spawned creature that would please you.</p>
<h4><a href="http://bomomo.com/">Bomomo</a></h4>
<p>With Bomomo, you can observe different atomic movement simulated with HTML5.</p>
<h4><a href="http://experiments.instrum3nt.com/markmahoney/ball/">Browser Ball</a></h4>
<p>Get amazed with this &#8216;cross-browser&#8217; HTML5 ball.</p>
<h4><a href="http://3.paulhamill.com/node/39">Bubbles</a></h4>
<p>Have fun by create endless floating bubbles with different color.</p>
<h4><a href="http://cs.helsinki.fi/u/ilmarihe/canvas_animation_demo/mozcampeu09.html">Canvas Cartoon Animation</a></h4>
<p>A simple and funny HTML5 cartoon that helps you to understand what HTML5&#8217;s canvas element can do.</p>
<h4><a href="http://randomibis.com/coolclock/">Coolclock</a></h4>
<p>A nice, customizable analog clock built by HTML5 and JavaScript.</p>
<h4><a href="http://www.lo2k.net/v7/lab/flickr/login">Flickr PS3 Slideshow</a></h4>
<p>View your Flickr&#8217;s photos with PS3 style slideshow in the web browser.</p>
<h4><a href="http://www.addyosmani.com/resources/canvasphoto/">Interactive Polaroid</a></h4>
<p>An interactive demo that works pretty similar to multi touch interface.</p>
<h4><a href="http://js-fireworks.appspot.com/">JS Fireworks</a></h4>
<p>Enjoy the fireworks moment with your preferred gravity and speed, powered by HTML5 and Javascript.</p>
<h4><a href="http://www.chiptune.com/kaleidoscope/">Kaleidoscope</a></h4>
<p>A very beatiful and futuristic HTML5 kaleidoscope.</p>
<h4><a href="http://spielzeugz.de/html5/liquid-particles.html">Liquid Particles</a></h4>
<p>Sensitive particle animation that reacts based upon your mouse movement.</p>
<h4><a href="http://danforys.com/mesmerizer/">Mesmerizer</a></h4>
<p>Another sensitive and outstanding HTML5 demo that shows how nearby elements react with you mouse movement.</p>
<h4><a href="http://www.professorcloud.com/mainsite/canvas-nebula.htm">Nebula Cloud</a></h4>
<p>Get lost with this wondrous HTML5 nebula.</p>
<h4><a href="http://webdev.stephband.info/parallax_demos.html">Parallax</a></h4>
<p>View all 2D shapes in parallel perspective.</p>
<h4><a href="http://www.feedtank.com/labs/html_canvas/">Particle Animation</a></h4>
<p>An elegant HTML5 particle animation that can form into your preferred message.</p>
<h4><a href="http://tomtheisen.com/spread/">Spread</a></h4>
<p>Get lost with this endless spread animation.</p>
<h4><a href="http://www.chiptune.com/starfield/starfield.html">Starfield</a></h4>
<p>A very cool HTML5 starfield animation that would change direction and speed based on your mouse movement.</p>
<h4><a href="http://craftymind.com/factory/html5video/CanvasVideo.html">Video Destruction</a></h4>
<p>One click to boom a playing video.</p>
<h4><a href="http://modern-carpentry.com/workshop/html5/waveform/">Waveform</a></h4>
<p>Observe how HTML5&#8217;s canvas wave moves by altering its amplitude, wavelength, width, etc.</p>
<h3>3D Effect</h3>
<p>Impressed by canvas animation? That&#8217;s more HTML5&#8217;s canvas element can do, and it&#8217;s called 3D effect. Developer can rely on canvas element, DOM and JavaScript to create 3D effect, which can later be developed into 3D animation or game.</p>
<h4><a href="http://www.xs4all.nl/~peterned/3d/">Canvas3D and Flickr</a></h4>
<p>Have a whole new 3D experience with Flickr&#8217;s photostream.</p>
<h4><a href="http://www.andrew-hoyer.com/experiments/cloth">Cloth Simulation</a></h4>
<p>A realistic, HTML5-based cloth simulation.</p>
<h4><a href="http://deanm.github.com/pre3d/monster.html">Evolving Monster</a></h4>
<p>Observe a monster evolving into a complicated creature, one of its creator is HTML5.</p>
<h4><a href="http://www.addyosmani.com/resources/googlebox/">Google Giftbox</a></h4>
<p>Giant search engine Google is presented in 3D, playable view.</p>
<h4><a href="http://gyu.que.jp/jscloth/touch.html">JS Touch</a></h4>
<p>A high quality and realistic &#8216;3D on 2D Canvas&#8217; showcase.</p>
<h3>Data Presentation</h3>
<p>While HTML5&#8217;s canvas element can be used to create animation and 3D effect, it can also be implemented to present mathematical data.</p>
<h4><a href="http://gnuplot.sourceforge.net/demo_canvas/surface1.html">Gnuplot</a></h4>
<p>Gnuplot, a data plotting application in HTML5 version.</p>
<h4><a href="http://www.rgraph.net/">RGraph</a></h4>
<p>RGraph provides a wide range of data presentation like bar chart, progress bar and traditional radar chart.</p>
<h3>Web Application</h3>
<p>Ultimately, using all possibilities combined by HTML5 and other langauge, one can create interactive application or game that&#8217;s close to Flash application.</p>
<h4><a href="http://canvaspaint.org/">CanvasPaint</a></h4>
<p>Witness the brother of Microsoft Paint comes into your web browser, and his father is HTML5.</p>
<h4><a href="http://alteredqualia.com/canvasmol/">CanvasMol</a></h4>
<p>A scientific application which is built to help you to understand certain earth element&#8217;s structure.</p>
<h4><a href="http://www.hanovsolutions.com/webdraw/">Cartoon Builder</a></h4>
<p>Draw interesting cartoon image with this minimal and interactive cartoon builder.</p>
<h4><a href="http://html5demos.com/drag-anything">Drag Anything Here</a></h4>
<p>Drag anything you can drag in the demo to show details.</p>
<h4><a href="http://www.gartic.com/sketch/">Gartic Sketch</a></h4>
<p>An original HTML5 application that allows you to make some basic drawings that can be saved into different image format like jpeg or png.</p>
<h4><a href="http://physicsketch.appspot.com/">PhysicSketch</a></h4>
<p>Draw whatever you like and see how they react with simulated gravity.</p>
<h4><a href="http://mugtug.com/sketchpad/">Sketchpad</a></h4>
<p>A powerful HTML5 drawing application that enables you to draw and edit your image in the precise manner.</p>
<h4><a href="http://smalltalkapp.com/">Smalltalk</a></h4>
<p>A web application that confirms geographical position of weather-related message acquired from Twitter, thus forming them into a canvas-based &#8217;social weather&#8217; map, quite trivial (as stated by author) but interesting.</p>
<h3>Game</h3>
<h4><a href="http://upsidedownturtle.com/boredboredbored/">3Bored</a></h4>
<p>You would never get bored if you can keep evading hundreds of HTML5 bullets in next second.</p>
<h4><a href="http://billmill.org/static/canvastutorial/">Breakout</a></h4>
<p>Rebound the ball to break all bricks.</p>
<h4><a href="http://www.benjoffe.com/code/demos/canvascape/textures">Canvascape</a></h4>
<p>Not quite a game, but it demonstrates how HTML5 can be used to develop First Person Shooting browser game.</p>
<h4><a href="http://www.xarg.org/project/chrome-experiment/">Catch It</a></h4>
<p>How many balls can you dodge to get your winning HTML5 square?</p>
<h4><a href="http://www.yvoschaap.com/chainrxn/">Chain Reaction</a></h4>
<p>Chain the explosion to achieve the goal, don&#8217;t get addicted.</p>
<h4><a href="http://alteredqualia.com/cubeout/">Cubeout</a></h4>
<p>Play Tetris in 3D, top-down view.</p>
<h4><a href="http://fokistudios.com/etchaphysics/">etchaPhysics</a></h4>
<p>Draw item to move the ball to the star, don&#8217;t forget about the gravity.</p>
<h4><a href="http://www.raymondhill.net/puzzle-rhill/jigsawpuzzle-rhill.php">Jigsaw Puzzle</a></h4>
<p>Click, rotate and drop puzzle pieces to solve this HTML5-based jigsaw puzzle.</p>
<h4><a href="http://nic-nac-project.de/~jcm/index.php?nav=puzzle">Slide Puzzle</a></h4>
<p>Slide to the victory, another HTML5 game that&#8217;s built to squeeze your mind juice.</p>
<h4><a href="http://grenlibre.fr/demo/same/">Same Game</a></h4>
<p>Remove certain group to get another group paired in same color and you would eventually be awarded a victory.</p>
<h4><a href="http://aduros.emufarmers.com/easel/">Tetris</a></h4>
<p>One of the most classic game brought back to life by HTML5.</p>
<h4><a href="http://www.benjoffe.com/code/games/torus/">Torus</a></h4>
<p>Yet another Tetris game in pseudo-3D version.</p>
<h3>Conclusion</h3>
<p>What is the limitation of HTML5? At this point we cannot decide, but with the impressive video below we can know how far the HTML5 has been pushed:</p>
<p>
  <object width="560" height="340"><param name="movie" value="http://www.youtube.com/v/fyfu4OwjUEI&#038;hl=en_US&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param>
    <embed src="http://www.youtube.com/v/fyfu4OwjUEI&#038;hl=en_US&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"></embed></object>
</p>
<p>Yes, it&#8217;s Quake II in web browser, so now it&#8217;s very clear that with HTML5, more groundbreaking web application would be born to serve billions of internet users. It&#8217;s fast, it&#8217;s evolving, and it&#8217;s changing the world wide web. The question is, how would you use this game-changing HTML5?</p>
<p><strong>We do like to hear your idea!</strong></p>
<p class="source"><a href="http://www.hongkiat.com/blog/48-excellent-html5-demos/"><em>Source: hongkiat</em></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.610design.com/technology/html5-showcase-flash-killing-demos/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Everything you Know about Clearfix is Wrong</title>
		<link>http://www.610design.com/coding/everything-you-know-about-clearfix-is-wrong/</link>
		<comments>http://www.610design.com/coding/everything-you-know-about-clearfix-is-wrong/#comments</comments>
		<pubDate>Wed, 14 Apr 2010 11:38:27 +0000</pubDate>
		<dc:creator>schoey</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[ie]]></category>

		<guid isPermaLink="false">http://www.610design.com/?p=362</guid>
		<description><![CDATA[What is clearfix? clearfix is a CSS technique used to contain floats with no structural markup. What Does it Do? clearfix works like this: In browsers that support the pseudo-element :after, it generates content (placed after the content in the element) that is styled to clear floats. In short, it works more or less the [...]]]></description>
			<content:encoded><![CDATA[<h3>What is clearfix?</h3>
<p><a href="http://www.positioniseverything.net/easyclearing.html" target="_top">clearfix</a> is a CSS technique used to contain floats with no structural markup.</p>
<h3>What Does it Do?</h3>
<p>clearfix  works like this:</p>
<ul>
<li>In browsers that support the  pseudo-element :after, it  generates content (placed after the content in the element) that is  styled to clear floats. In short, it works more or less the same as if  you were inserting &lt;div style=&quot;clear:both&quot;&gt;&lt;/div&gt; before the element&#8217;s closing tag.</li>
<li>In <abbr title="Internet Explorer">IE</abbr>, it gives the element a <a href="http://www.satzansatz.de/cssd/onhavinglayout.html" title="On having layout" target="_blank">layout</a>, hence it establishes a new block formatting context which  will contain floats (see below).</li>
</ul>
<h3><span id="more-5381"> </span>So What?</h3>
<p>The latter means that in IE,<em> and in IE only</em>, clearfix will trigger a different construct. This is because a &quot;<em>block formatting context</em>&quot;:</p>
<ul>
<li>contains float</li>
<li>prevent collapsing margins</li>
<li>does not overlap any floats in the same block formatting context (see <a href="http://www.w3.org/TR/CSS2/visuren.html#bfc-next-to-float" target="_blank">9.5</a>)</li>
</ul>
<h3>How Bad is That?</h3>
<p>It really depends on the layout and the styling of elements. You might go from &quot;uh oh!&quot; to &quot;WTF sacrebleu!&quot;?. For example, in this <a href="http://tjkdesign.com/lab/clearfix/demo-1.html" target="_blank">simple demo</a> (meant to illustrate #1 and #2 above) there are a few display issues between IE and so-called modern browsers:</p>
<ul>
<li><strong>In Mozilla, WebKit, etc.: </strong>
<ul>
<li>The three headings are not vertically aligned,</li>
<li>The gap above the wrapper (which contains the background image) is more than 20px high.</li>
<li>The floated box appears outside of the wrapper.</li>
</ul>
</li>
<li><strong>In IE: </strong>
<ul>
<li>The three headings are vertically aligned,</li>
<li>The gap above the wrapper is half the size  it is in modern browsers.</li>
<li>The background image is painted behind the floated box.</li>
</ul>
</li>
</ul>
<h3>What Gives?</h3>
<p>The explanation is  simple:</p>
<ul>
<li><strong>In IE: </strong>
<ul>
<li>The wrapper has a layout (because of its width), so it creates a new block formatting context. This prevents the margin of the &lt;p&gt;  (the black box) from collapsing with the margin of the heading in the  last container. In short, the gap above the wrapper is the bottom  margin of the black box (the &lt;p&gt;).</li>
<li>The wrapper contains the float because &ndash; as per the spec &ndash; block formatting contexts always contain floats.</li>
</ul>
</li>
<li><strong>In modern browsers: </strong>
<ul>
<li>All elements belong to the same block formatting context so  adjacent margins collapse. The heading&#8217;s margin &quot;sticks out&quot; of the  wrapper to butt against the P. Unlike in IE, it is that margin (not the one on the black box) that creates the gap above the wrapper.</li>
<li>For the same reason, the  floated box is not contained inside the wrapper.</li>
</ul>
</li>
</ul>
<p>There is no bug involved here. If the visual rendering is different between IE and modern browsers it is simply because <strong>we</strong> are styling the wrapper differently across the board.</p>
<p>If you check this <a href="http://tjkdesign.com/lab/clearfix/demo-2.html" target="_blank">new demo</a> page, where the wrapper creates a new block formatting context in IE as  well as in modern browsers, things look much better (yes, the space in  IE below the floated box <em>is</em> a bug, it is there because the wrapper has a layout).</p>
<h3>What has this got to do with clearfix?</h3>
<p>Let&#8217;s assume we do not know much about block formatting contexts and instead of styling the wrapper as we did in the <a href="http://tjkdesign.com/lab/clearfix/demo-2.html" target="_blank">previous demo</a> page  we apply the clearfix method to the div that contains the floated box.</p>
<p>As I write this, I wonder if you would be able to guess what  clearfix is about to do to our layout. Anyway, the result can be seen  in this <a href="http://tjkdesign.com/lab/clearfix/demo-3.html" target="_blank" onclick="javascript:pageTracker._trackPageview('/outbound/article/tjkdesign.com');">demo page</a> where clearfix is applied.</p>
<h3>What Happened?</h3>
<p>The floated box is contained, but the layout breaks in IE, the  middle column is now below the side bars. This is because as per  section <a href="http://www.w3.org/TR/CSS2/visuren.html#bfc-next-to-float" target="_blank">9.5</a> of the spec (see above), a block formatting context does not overlap floats in the same block formatting context.</p>
<p>The middle column gained layout (via clearfix), hence it creates a new block formatting context which <em>cannot fit</em> between the two floats, so it drops below them.</p>
<p>At this point, most authors find out that removing the padding  declarations fixes what they believe is a bug, so they use a  Conditional Comment and reset the padding values for IE.</p>
<p>Not once have they questioned clearfix, and as far as they know  their construct is more or less the same across browsers (apart the  padding they had to zero out and the collapsing margin they had to fix  somehow).</p>
<h3>What can I Do?</h3>
<p>Making sure that elements are styled the same across browsers is  styling 101. It is the first step toward achieving cross-browser  compatibility.</p>
<p>Styling both the wrapper and the middle column to create  block formatting contexts (e.g.: styling the wrapper with &quot;display:inline-block&quot; and the middle column with &quot;overflow:hidden&quot;) does the trick, as this <a href="http://tjkdesign.com/lab/clearfix/demo-4.html" target="_blank">last demo</a> shows.</p>
<h3>Wrap Up</h3>
<p>Weak constructs are most often due to the fact that  people do not know what block formatting contexts are and what they do.</p>
<p>Too often, authors trigger hasLayout without thinking of adding the  necessary styling to create the same rendering across all browsers. Because of this, they end up adding IE specific declarations to &quot;patch&quot; their styling.</p>
<p>This does not mean we should avoid clearfix at all costs though. It <em>is</em> a great tool which is safe to use as long as we remember that besides  containing floats, it may also prevent collapsing margins and will  &quot;escape&quot; surrounding floats in IE.</p>
<p>I&#8217;ve been using clearfix myself to style modal windows and the like,  usuallly when I know there is no float in the same block formatting  context as the element I am styling. Hey, I even rely on it for my <a href="http://www.ez-css.org" title="ez-css is a light CSS framework" target="_blank">CSS framework</a>.</p>
<p>Note: throughout this article, when I use the term &quot;IE&quot;, it means IE version 5, 6, and 7.</p>
<p class="source"><a href="http://carsonified.com" target="_blank">Source: Think Vitamin</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.610design.com/coding/everything-you-know-about-clearfix-is-wrong/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>CSS Techniques I Wish I Knew When I Started Designing Websites</title>
		<link>http://www.610design.com/coding/css-techniques-i-wish-i-knew-when-i-started-designing-websites/</link>
		<comments>http://www.610design.com/coding/css-techniques-i-wish-i-knew-when-i-started-designing-websites/#comments</comments>
		<pubDate>Thu, 08 Apr 2010 11:26:16 +0000</pubDate>
		<dc:creator>schoey</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[resources]]></category>

		<guid isPermaLink="false">http://www.610design.com/?p=343</guid>
		<description><![CDATA[CSS is the best thing to happen to the web since Tim Berners-Lee. It’s simple, powerful, and easy to use. But even with all its simplicity, it hides some important capabilities. Ask any designer, and they’ll tell you that the majority of their code headaches are caused and ultimately solved by CSS. All designers at [...]]]></description>
			<content:encoded><![CDATA[<p><strong>CSS</strong> is the best thing to happen to the web since  Tim Berners-Lee. It’s simple, powerful, and easy to use. But even with  all its simplicity, it hides some important capabilities. Ask any  designer, and they’ll tell you that the majority of their code  headaches are caused and ultimately solved by CSS.</p>
<p>All designers  at some point in their career go through the process of encountering a  weird display issue, searching for a resolution, and discovering a  trick, technique, or hack could have saved them hours of frustration—<em>if they had only known when they started.</em></p>
<p>We’ve  put together a list of the most frustrating and time-consuming CSS  headaches and, more importantly, their solutions (along with examples  and further resources). I hope this list will help you save some gray  hairs. As for me, I think I feel some coming in right now…</p>
<h3>Resets &amp; Browser Inconsistencies</h3>
<p>Not all browsers are created equal. In fact, every browser is different. What is the default margin, padding, or font-size of a &lt;p&gt;  element? You might be surprised at the wide range of values. To handle  the differences between browsers, many of us want to level the playing  field and start from scratch, by using <strong>CSS reset styles</strong>.</p>
<p>The early stages of resets, designers dealt with differing margin and padding values, using a global reset:</p>
<pre class="brush: css; title: ; notranslate">
* { margin: 0; padding: 0; }
</pre>
<p>But,  as more people used and discussed resets, it became clear that  resetting only margin &amp; padding wasn’t enough (and, applying the  above rule to <strong>every element</strong> is taxing on the rendering engine). Thanks to <a target="_blank" href="http://meyerweb.com/eric/thoughts/2007/05/01/reset-reloaded/">the work of Eric Meyer</a> and other CSS pioneers, a better, more complete collection of reset rules was created:</p>
<pre class="brush: css; title: ; notranslate">
html, body, div, span, applet, object, iframe,  h1, h2, h3, h4, h5, h6, p, blockquote, pre,  a, abbr, acronym, address, big, cite, code,  del, dfn, em, font, img, ins, kbd, q, s, samp,  small, strike, strong, sub, sup, tt, var,  dl, dt, dd, ol, ul, li,  fieldset, form, label, legend,  table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-weight: inherit;
	font-style: inherit;
	font-size: 100%;
	font-family: inherit;
	vertical-align: baseline;
}

/* remember to define focus styles! */
  :focus {
	outline: 0;
}

body {
	line-height: 1;
	color: black;
	background: white;
}

ol, ul {
	list-style: none;
}

/* tables still need 'cellspacing=&quot;0&quot;' in the markup */
  table {
	border-collapse: separate;
	border-spacing: 0;
}

caption, th, td {
	text-align: left;
	font-weight: normal;
}

blockquote:before, blockquote:after,  q:before, q:after {
	content: &quot;&quot;;
}

blockquote, q {
	quotes: &quot;&quot; &quot;&quot;;
}
  </pre>
<p>As important as it is to note which elements are included in the  most popular CSS reset available today .It’s also important to note  some of the elements that are deliberately excluded from this list:</p>
<ul>
<li>input</li>
<li>button</li>
<li>hr</li>
</ul>
<p>These  elements were excluded because their cross-browser differences are so  vast that you would have to completely unstyle them to create a  &quot;bulletproof&quot; element. They’re so weird, that even then, there’s no  guarantee.</p>
<h4>Resources for Resets</h4>
<ul>
<li><a target="_blank" href="http://meyerweb.com/eric/thoughts/2007/05/01/reset-reloaded/">Eric Meyer’s Resets</a> and the <a target="_blank" href="http://meyerweb.com/eric/thoughts/2007/04/18/reset-reasoning/">reasoning behind them</a></li>
<li><a target="_blank" href="http://www.smashingmagazine.com/2007/09/21/css-frameworks-css-reset-design-from-scratch/">Smashing article: “Design from Scratch”</a></li>
<li><a target="_blank" href="http://code.google.com/p/blueprintcss/">Google BluePrint CSS &amp; Resets</a></li>
<li><a target="_blank" href="http://developer.yahoo.com/yui/reset/">Yahoo YUI CSS Resets</a></li>
</ul>
<h3>Box Model — Margin, Padding &amp; Borders</h3>
<p>The box model is the basis for all layouts. It governs the  dimensions &amp; spacing of the elements on a page. To understand it,  we have to understand the difference between <strong>block-level</strong> elements and <strong>inline</strong> elements.</p>
<p><strong>Block-level</strong> elements, by default, take up the entire width of their containing element and the height of the default <em>line-height</em>.  They will stack up underneath each other, top-to-bottom. Therefore, by  default, they will take up their own line on a page. Some block-level  elements are: &lt;div&gt;, &lt;pre&gt;, &lt;p&gt;, &lt;ul&gt;, &lt;ol&gt;, &lt;li&gt;, etc.</p>
<p><strong>Inline</strong> elements are, just as their name implies, in-line. They will stack up  next to each other, left-to-right. When given content, they will take  up the exact width and height of that content. Given no content, they  will collapse down and have no width or height. Some in-line elements  are: &lt;img&gt;, &lt;em&gt;, &lt;strong&gt;, &lt;a&gt;, &lt;span&gt;, etc.</p>
<p>All HTML <em>block-level elements</em> have five spacing properties: <strong>height</strong>, <strong>width</strong>, <strong>margin</strong>, <strong>padding</strong>, and <strong>border</strong> (inline elements have them too, they just work a bit differently).  Width and height are tricky attributes, as they require a bit of  calculation. When measuring an element’s width, designers must consider <strong>the entire box</strong>.</p>
<p>In the example below, the box  has a total width of 260px. The margin, padding, and border are 30px  each (remember, that’s 30px on top, 30 on bottom, 30 right, and 30  left). So, in this example, the margin takes up 60 pixels of the box’s  width. Likewise, the border and padding consume 60px each. All  together, the margin, border, and padding amount to 180 pixels of the  box’s total width.</p>
<p><a href="http://www.610design.com/wp-content/uploads/2010/04/box-model.png"><img class="aligncenter size-full wp-image-342" title="box-model" src="http://www.610design.com/wp-content/uploads/2010/04/box-model.png" alt="box-model" width="260" height="260" /></a></p>
<p>We know that the box’s total width is 260px, but in CSS the width attribute refers to the <strong>content area</strong> on the inside of the box. So, for this example, we have to subtract 180  pixels (for margin, border, and padding) from 260 (total box width),  leaving us with a content area of 80px. Therefore, our CSS looks like  this:</p>
<pre class="brush: css; title: ; notranslate">
div {
	margin:30px;
	border:30px solid yellow;
	padding:30px;
	width:80px;
	height:80px;
    }
</pre>
<h4>Extras</h4>
<ol>
<li>All of the examples and rules we’re discussed for the width property also apply to height.</li>
<li>margin can support <strong>negative</strong> values. Use them cautiously but they can prove to be very strong design elements.</li>
<li>Don’t forget the <strong>units</strong> with the box model. Only a zero-value (margin:0;) can be written without a unit specified.</li>
</ol>
<h4>Resources for CSS Box Model</h4>
<ul>
<li><a target="_blank" href="http://www.w3.org/TR/CSS2/box.html">W3C CSS Specifications</a></li>
<li><a target="_blank" href="http://www.yourhtmlsource.com/stylesheets/cssspacing.html">HTMLsource Box Model tutorial</a> by Ross Shannon</li>
<li><a target="_blank" href="http://webdesignernotebook.com/css/guide-to-margins-and-paddings/">“Beginner’s Guide to Margins and Paddings”</a> at Web Designer Notebook</li>
</ul>
<h3>Dimensions — Width, Height, Min &amp; Max</h3>
<p>Now  that we understand how to use width and height in unison with the box  model, let’s look at some of the flexibility of CSS dimensions. Modern  browsers support min- and max-width (and the same for height), allowing  us to get creative with dimensions and create flexible layouts.</p>
<p><strong>Width/height</strong> specify the space an object should occupy. They can be measured in pixels (10px), ems (10em) and percentages (10%), as well as <a target="_blank" href="http://htmlhelp.com/reference/css/units.html">a few other units</a>.  Defining a width or height for an element will force that element to  keep those dimensions, regardless of the content inside it. So, if our  content is too big for its container, it will be cut off, hiding the  bottom of our content (or just look really messed up).</p>
<h4>Min-width &amp; min-height</h4>
<p>Giving  an element a min-width or min-height will set the element to our exact  dimension by default. But, since we only provided a minimum dimension,  as the content grows, the containing element will allowed to stretch  and all of our content will remain visible.</p>
<p>Min-width &amp; min-height can he useful for form elements like &lt;input /&gt; and &lt;textarea&gt;. We can define them with a minimum width/height and let them expand as the user types.</p>
<p>In  IE6, &quot;height&quot; acts the same way &quot;min-height&quot; does in modern browsers as  a container will grow with content (something to be aware of when using  building for IE6).</p>
<h4>Max-width &amp; max-height</h4>
<p>If we give  an element a max-width or max-height, it will collapse down to the size  of our content by default. As our content grows, the container will  stretch—until it reaches our maximum. Then our remaining content will  be cut off or look really weird hanging of the bottom of a content  block.</p>
<p>Max-width &amp; max-height can be useful for browsing long lists (if you correctly manage your <strong>overflow</strong> – create scrolling if the list goes too long).</p>
<h4>Using Max &amp; Min width in IE6</h4>
<p><strong>Min &amp; Max width</strong> are both great tools to have in your design arsenal, but unfortunately  they don’t work in IE6, so what do we do? We usually lock down the  width of our site instead of creating the ideal fluid layout we want,  sacrificing user experience for out of date browsers.</p>
<p>Luckily, we can use a short <strong>JavaScript command targetting IE</strong> to accomplish a nice fluid layout with max &amp; min widths in IE6:</p>
<pre class="brush: css; title: ; notranslate">
#page-wrap{
	min-width:800px;
	max-width:1000px;
	width:expression(document.body.clientWidth &lt; 800? &quot;800px&quot; : document.body.clientWidth &gt; 1000? &quot;1000px&quot; : &quot;auto&quot;);
}
</pre>
<p>In the above example, you can see that the smallest width for this  page is 800px, and the largest is 1000px; not much of a flex, but the  concept can be applied to any element.</p>
<p>And if you only wanted to use min-width:</p>
<pre class="brush: css; title: ; notranslate">
#page-wrap{
	min-width:800px;
	width:expression(document.body.clientWidth &lt; 800? &quot;800px&quot;: &quot;auto&quot; );
}
</pre>
<h4>Resources for dimensions</h4>
<ul>
<li><a target="_blank" href="http://articles.sitepoint.com/article/top-ten-css-tricks">Top 10 CSS Tricks from SitePoint</a></li>
<li><a target="_blank" href="http://www.adamkparker.com/2009-04-23/cross-browser-minimum-height-css/">Cross Browser Min-height</a></li>
<li><a target="_blank" href="http://www.cssplay.co.uk/boxes/minwidth.html">Min-width for Internet Explorer</a></li>
<li><a target="_blank" href="http://www.w3schools.com/Css/css_dimension.asp">CSS Dimension Properties</a></li>
</ul>
<h3>Floats &amp; Clearing</h3>
<p>A  float will place an element outside the normal flow of elements and  moves the element right or left until it reaches the margin or padding  of another block-level element. Float and clear are some of the most  powerful—and the most misunderstood—properties in CSS. To understand  it, we must refer back to <strong>block-level</strong> vs. <strong>inline</strong> elements.</p>
<p><strong>Applying float to an element will automatically make it a block-level element.</strong> This means two things: 1) by default, all floated elements (even &lt;span&gt; and &lt;strong&gt;) will behave like block-level elements, 2) Giving an element both float:left; and display:block; is redundant and unnecessary. Also, using display:inline on a floated image is actually a very popular method of fixing many cross-browser quirks.</p>
<h4>Floating a div to clear a div</h4>
<p>Floating  a div to clear a div is one of those things you stumble upon with some  experimenting and frustration. What basically happens is that you can  apply a float to a parent element that contains other floated elements  and they will all equalize and clear properly:</p>
<h5>HTML</h5>
<pre class="brush: xml; title: ; notranslate">
&lt;div class=&quot;parent-element&quot;&gt;
     &lt;div class=&quot;floating-element&quot;&gt;&lt;/div&gt;&lt;!--/.floating-element--&gt;
     &lt;div class=&quot;floating-element&quot;&gt;&lt;/div&gt;&lt;!--/.floating-element--&gt;
     &lt;div class=&quot;floating-element&quot;&gt;&lt;/div&gt;&lt;!--/.floating-element--&gt;
&lt;/div&gt;&lt;!--/.parent-element--&gt;
</pre>
<h5>CSS</h5>
<pre class="brush: css; title: ; notranslate">
.floating-element   { float:left;width:33%; }
.parent-element     { float:left; }
</pre>
<p>And, of course you’ll need some content in there to fill out the divs.</p>
<p>There  are a lot of clearing techniques you can use to clear floated divs.  Some require extra markup, some don’t work in IE 6 and some are great,  but don’t apply to every situation. What did I wish I knew about  clearing floats when I started? <strong>Everything</strong>.</p>
<h4>Resources for clear and float</h4>
<ul>
<li><a target="_blank" href="http://www.smashingmagazine.com/2007/05/01/css-float-theory-things-you-should-know/">CSS Float Theory</a></li>
<li><a target="_blank" href="http://www.w3schools.com/css/pr_class_float.asp">CSS Float Property</a></li>
<li><a target="_blank" href="http://www.quirksmode.org/css/clearing.html">Clearing Floats</a></li>
<li><a target="_blank" href="http://webdesign.about.com/od/advancedcss/a/aa010107.htm">Using Floats for Layout</a></li>
</ul>
<h3>Conditional Comments</h3>
<p>Back in 2004, when I really got into full-time Web design I used a lot of <strong>IE hacks</strong> and techniques to patch together sites in an attempt to achieve some  level of cross browser compatibility. This can cause very bloated and  slow loading style sheets. Everyone was doing it, heck, there were even  articles about how to best organize your IE hacks.</p>
<p>Little by  little the design community discovered a hidden gem buried within the  functionality of the Triton rendering engine (Internet Explorer). You  could use IE specific HTML to target specific versions of the browser  and then load a special style sheet just to deal with those issues.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;!--[if IE]&gt;
Target all versions of IE
&lt;![endif]--&gt;

&lt;!--[if lte IE 7]&gt;
Target all versions of IE that are less than or equal to &quot;7&quot;
&lt;![endif]--&gt;

&lt;!--[if IE 6]&gt;
Target IE 6
&lt;![endif]--&gt;
</pre>
<p>Using conditional comments to target IE and cut out your hacks, will  slim down your main style sheet, and help load the page quicker in  browsers that don’t need the correction code.</p>
<h4>Resources for Conditional Comments</h4>
<ul>
<li><a target="_blank" href="http://www.quirksmode.org/css/condcom.html">Conditional Comments</a></li>
<li><a target="_blank" href="http://www.dedestruct.com/2008/04/03/how-to-css-conditional-comments/">How to: CSS Conditional Comments</a></li>
<li><a target="_blank" href="http://msdn.microsoft.com/en-us/library/ms537512%28VS.85%29.aspx">About Conditional Comments from Microsoft</a></li>
</ul>
<h3>Overflow &amp; Zoom</h3>
<p>Like  many designers, if there’s time to be wasted on a project, it usually  gets wasted dealing with IE 6 and some of it’s weirder quirks. This is  where <strong>overflow</strong> and <strong>zoom</strong> have helped me a great deal.</p>
<h4>Overflow</h4>
<p>Many-a-times when I’ve encountered a serious layout issue, a simple application of overflow:hidden on the offensive div would solve the problem. It’s difficult to pin  point specific issues for this, but it can happen in any browser (I  just had it happen in Safari a couple weeks ago) and the overflow  property can provide a quick solution to your cross browser woes.</p>
<h4>Zoom</h4>
<p>To  my surprise, the zoom property is not very well know, but a very  powerful tool in dealing with cross browser issues; particularly IE  6/7. Zoom is a proprietary IE property that actually does effect the  zoom level of a page (if you set the zoom to 2 you’ll see everything  get bigger). As a site effect it also triggers hasLayout on the  offending element, and fixes a lot of layout issues. Try it out, it  actually saves a lot of time.</p>
<pre class="brush: css; title: ; notranslate">
body { zoom:1; }
</pre>
<p>Since hasLayout won’t trigger in any other browser, it’s generally  thought to be safe to put zoom in your main style sheet, but it you’re  doing IE specific work anyway, I’d advise putting it in with the rest  of the IE CSS just in case there are any problems in the future,  &quot;future proofing&quot;.</p>
<h4>Resources for Overflow &amp; Zoom</h4>
<ul>
<li><a target="_blank" href="http://www.webmasterworld.com/css/3637301.htm">Web Master World Forum</a></li>
<li><a target="_blank" href="http://www.bennadel.com/blog/1354-The-Power-Of-ZOOM-Fixing-CSS-Issues-In-Internet-Explorer.htm">The Power of Zoom</a></li>
<li><a target="_blank" href="http://www.quirksmode.org/css/overflow.html">About Overflow from QuirksMode</a></li>
</ul>
<h3>When CSS isn’t the Answer</h3>
<p>Believe  it or not, CSS is not always the answer. Especially now when we live on  a Web that is in the middle of the biggest browser war to date.  Sometimes CSS just doesn’t do everything we want on as many platforms  as we need it to.</p>
<p>Spending hours searching for a CSS solution to  a non-critical element that can be easily fixed with JavaScript usually  just isn’t worth it. Now that we have great libraries like <a target="_blank" href="http://jquery.com">jQuery</a> readily available to us, anyone well versed in CSS can quickly pick up  JavaScript. And let me tell you… if I new more about JavaScript when I  started it would have saved me a lot of time and frustration.</p>
<h3>Conclusion</h3>
<p>There  are a lot of little idiosyncrasies with CSS that you’ll encounter over  time with experience and frustration, but we’re looking for ways to  minimize that frustration. The best advice I can give someone in  dealing with CSS is the same advice someone gave me when I was in  college: <strong>go to class</strong>. If you read the blogs, keep up  with all the information and learn everything you can you’ll save a lot  of time when you do encounter the inevitable rendering problem. To be  honest, half the battle is knowing what a bug is called so you can <a target="_blank" href="http://www.google.com/search?q=css">Google it</a>.</p>
<p>But of course an article like this always poses the question: <strong>What do you YOU wish you knew when you started?</strong></p>
<p class="source">Source: <a target="_blank" href="http://www.noupe.com">Noupe</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.610design.com/coding/css-techniques-i-wish-i-knew-when-i-started-designing-websites/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTML5 &amp; CSS3 Tools, Resources And Guides</title>
		<link>http://www.610design.com/design/html5-css3-tools-resources-and-guides/</link>
		<comments>http://www.610design.com/design/html5-css3-tools-resources-and-guides/#comments</comments>
		<pubDate>Thu, 25 Mar 2010 12:00:32 +0000</pubDate>
		<dc:creator>schoey</dc:creator>
				<category><![CDATA[design]]></category>
		<category><![CDATA[tutorials]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[resources]]></category>

		<guid isPermaLink="false">http://www.610design.com/?p=296</guid>
		<description><![CDATA[HTML5 and CSS3 are bringing new features to us and in this article you’ll be able to find some great tools, cheat sheets and much more you could need to master these new features. Maybe those new features aren&#8217;t yet supported fully, but it&#8217;s a very good thinking to learn new technologies now so you [...]]]></description>
			<content:encoded><![CDATA[<p>HTML5 and CSS3 are bringing new features to us and in this article you’ll be able to find some great tools, cheat sheets and much more you could need to master these new features.</p>
<p>Maybe those new features aren&#8217;t yet supported fully, but it&#8217;s a very good thinking to learn new technologies now so you would be able to use them fully when they are supported. Be modern designer!</p>
<h3>1. <a href="http://tools.css3.info/selectors-test/test.html" target="_blank">CSS3 Selectors Test</a></h3>
<p>After starting the testsuite it will automatically run a large number of small tests which will determine if your browser is compatible with a large number of CSS selectors. If it is not compatible with a particular selector it is marked as such. You can click on each selector to see the results, including a small example and explaination for each of tests.</p>
<h3>2. <a href="http://css3please.com/" target="_blank">CSS3 Please!</a></h3>
<p>CSS3 Please!, produced by Paul Irish and Jonathon Neal, aims to simplify the design process by allowing designers to enter one value, and have this instantly synced and normalised for each vendor-specific prefix, with the corresponding code generated automatically.</p>
<h3>3. <a href="http://www.css3generator.com/" target="_blank">CSS3 Generator</a></h3>
<p>Allows you to create and costumize multiple CSS3 effects.</p>
<h3>4. <a href="http://westciv.com/tools/transforms/index.html" target="_blank">CSS3 Transforms</a></h3>
<p>You can rotate, scale, skew, and otherwise transform HTML elements with CSS 3. Explore CSS3 CSS Transforms  (supported in Opera 10.5, Firefox 3.5 and Safari 4 and higher).</p>
<h3>5. <a href="http://gradients.glrzad.com/" target="_blank">CSS3 Gradient Generator</a></h3>
<p>The CSS3 Gradient Generator was created as showcase of the power of CSS based gradients as well as a tool for developers and designers to generate a gradient in CSS. CSS gradients generate an image result, meaning the result of a CSS gradient can be used anywhere an image can be used, be it a background-image, mask,border, or list item bullet.</p>
<h3>6. <a href="http://border-radius.com/" target="_blank">Border Radius</a></h3>
<p>Allows you to create rounded edge rectangles.</p>
<h3>7. <a href="http://www.modernizr.com/" target="_blank">Modernizr</a></h3>
<p>Modernizr is a small and simple JavaScript library that helps you take advantage of emerging web technologies (CSS3, HTML 5) while still maintaining a fine level of control over older browsers that may not yet support these new technologies.</p>
<h3>8. <a href="http://www.widgetpad.com/694/" target="_blank">CSS3 Generator</a></h3>
<p>This simple CSS generator helps you to understand capabilities of CSS3 introduced by WebKit.</p>
<h3>9. <a href="http://www.css3.info/preview/" target="_blank">CSS3 Previews</a></h3>
<p>Many new CSS3 feature previews and demos.</p>
<h3>10. <a href="http://www.w3.org/TR/css3-layout/#introduction" target="_blank">CSS Template Layout Module</a></h3>
<p>Learn about popular CSS3 modules and opportunities CSS3 offers.</p>
<h3>11. <a href="http://net.tutsplus.com/tutorials/html-css-techniques/5-techniques-to-acquaint-you-with-css-3/" target="_blank">5 Techniques to Acquaint You With CSS 3</a></h3>
<p>Learn some of the most popular new CSS3 features.</p>
<h3>12. <a href="http://www.webdevout.net/browser-support-css" target="_blank">Web Browser CSS Support</a></h3>
<p>This document is a section of the web browser standards support document. It includes detailed information about CSS support in major web browsers.</p>
<h3>13. <a href="http://labs.thecssninja.com/font_dragr/" target="_blank">Font Drag</a></h3>
<p>Font Dragr is a HTML5/CSS3 powered web app for testing custom web fonts. The app allows you to drag and drop your truetype (ttf), opentype (otf), scalable vector graphics (svg) or Web Open Font Format (WOFF) fonts into the webpage for an instant preview of how the font will be rendered in the browser, you can even edit the example text.</p>
<h3>14. <a href="http://www.smashingmagazine.com/2009/07/13/css-3-cheat-sheet-pdf/" target="_blank">CSS3 Cheat Sheet </a></h3>
<p>Downloadable PDF file containing complete listing of all the properties, selectors types and allowed values in the current CSS 3 specification from the W3C.</p>
<h3>15. <a href="http://sizzlejs.com/" target="_blank">Sizzle</a></h3>
<p>A pure-JavaScript CSS selector engine designed to be easily dropped in to a host library.</p>
<h3>16. <a href="http://www.findmebyip.com/litmus/#target-selector" target="_blank">Web Designers&#8217; Browser Support Checklist</a></h3>
<p>Displays web browser support on HTML5 and CSS3.</p>
<h3>17. <a href="http://www.codenique.com/web_color/css3_color_names.php" target="_blank">CSS3 Color Names</a></h3>
<p>CSS3 supports 147 different colors by name (the 17 standard colors plus 130 more). This lists them all, along with their RGB and hexadecimal values.</p>
<h3>18. <a href="http://woork.blogspot.com/2009/09/html-5-visual-cheat-sheet-by-woork.html" target="_blank">HTML5 Visual Cheat Sheet</a></h3>
<p>HTML 5 Visual Cheat Sheet is an useful cheat sheet for web designers and developers designed by Woork. This cheat sheet is essentially a simple visual grid with a list of all HTML tags and of their related attributes supported by HTML versions 4.01 and/or 5.</p>
<h3>19. <a href="http://html5demos.com/" target="_blank">HTML5 Demos And Previews</a></h3>
<p>You can watch HTML5 demos, new features and check out browser support.</p>
<h3>20. <a href="http://perishablepress.com/press/2009/07/19/power-of-html5-css3/" target="_blank">The Power Of HTML5 and CSS3</a></h3>
<p>Article covering HTML5 and CSS3 combination advantages.</p>
<h3>21. <a href="http://www.smashingmagazine.com/2009/07/06/html-5-cheat-sheet-pdf/" target="_blank">HTML5 Cheat Sheet</a></h3>
<p>HTML5 features and useful info at one place.</p>
<h3>22. <a href="http://html5gallery.com/" target="_blank">HTML5 Gallery</a></h3>
<p>A showcase of sites using HTML5 markup</p>
<p class="source"><a href="http://www.1stwebdesigner.com" target="_blank">Source: 1stwebdesigner</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.610design.com/design/html5-css3-tools-resources-and-guides/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>CSS: The Box Model, Margin, &amp; Padding</title>
		<link>http://www.610design.com/coding/css-the-box-model-margin-padding/</link>
		<comments>http://www.610design.com/coding/css-the-box-model-margin-padding/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 18:29:08 +0000</pubDate>
		<dc:creator>schoey</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[ie]]></category>
		<category><![CDATA[user experience]]></category>

		<guid isPermaLink="false">http://www.610design.com/?p=225</guid>
		<description><![CDATA[In the first of the CSS In depth series, we’ll be talking about margins, padding and the box model. Margins and padding are some of the most widely used styles in CSS, but are often the source of frustration in cross-browser compatibility. In this post, we’ll explain the difference between padding and margins, how the [...]]]></description>
			<content:encoded><![CDATA[<p><strong>In the first of the CSS In depth series, we’ll be talking about margins, padding and the box model. Margins and padding are some of the most widely used styles in CSS, but are often the source of frustration in cross-browser compatibility.</strong></p>
<p>In this post, we’ll explain the difference between padding and  margins, how the box model effects browsers and some tips and tricks  dealing with cross-browser issues.</p>
<h3>What are margins?</h3>
<p>Beginning developers often use margins and padding interchangeably, but there’s actually a difference between the two.</p>
<p>Margins are the spaces around an element. In order for margins to  work properly, the element must be floated or positioned relative. This  style is often used to move the element it’s applied to, or to move  other elements around it.</p>
<p>An element can have equal margins on all sides of it, which is simply written as:</p>
<pre class="brush: css; title: ; notranslate">
element { margin: 5px; }
</pre>
<p>This gives an equal 5px to every side of an element. (Every element is a “block” or 4 sided square or rectable, regardless of it’s visible shape.) An element can also have different margins, or no margins at all on some or all of its sides. This can be written in the short-hand or long-hand style:</p>
<pre class="brush: css; title: ; notranslate">
element {margin: 5px 10px 2px 4px;}
/*margin: Top, Right, Bottom, Left*/

element {
	margin-left: 4px;
	margin-right: 10px;
	margin-top: 5px;
	margin-bottom: 2px;
} /*if you don't want margins on a side, just leave it out of your CSS*/
</pre>
<p>There are a few IE issues with margins that probably cause most of all IE layout problems.</p>
<ul>
<li><strong>Double margins</strong> – The double margin bug in IE6 is probably <strong>the</strong> hardest bug developers struggle with. If any element is floated and has a margin in the same direction, IE6 will double that margin. So if you have an element that is floated left and also has a margin of 5px to the left, IE6 will give it a left margin of 10px.</li>
<li><strong>Bottom margins</strong> – All IE versions like to ignore bottom margins, so it’s better to use padding for bottom spacing instead.</li>
</ul>
<h3>What is Padding?</h3>
<p>Like <code>margins</code>, <code>padding </code>is the space around an element. However unlike margins, which deal with the space around the outside of an element, padding can effect either the outside or inside of an element.</p>
<p>Padding can also be written in the shorthand or longhand version of CSS:</p>
<pre class="brush: css; title: ; notranslate">
element {padding: 10px;}

element {padding: 5px 10px 2px 4px;} /*padding: Top, Right, Bottom, Left*/

element {
	padding-left: 4px;
	padding-right: 10px;
	padding-top: 5px;
	padding-bottom: 2px;
} /*if you don't want padding on a side, just leave it out of your CSS*/
</pre>
<p>The way padding is handled in the browser is called the box model. IE6+ (in standards mode), Firefox, Safari and Chrome all handle the calculations of padding the same, while versions of IE5 and lower calculate it completely different.</p>
<p>So how does the box model and padding work? Let’s say the element below is 100px in width and height.</p>
<p>Now, let’s say we give it an equal padding of 10px because we have some nice text inside of it and we don’t want it touching the element’s edges. However as you can see below, the padding didn’t push the text inside the element, it just made the element itself bigger! This is when padding is most similar to margins, as it affects the outside of the element.</p>
<p>This is where the idea of the box model comes in. Adding 10px of padding to an 100px element will increase it’s dimensions to 120px. (100px element + 10px top + 10px bottom = 120px).</p>
<p>So if we wanted to keep the element only 100px in height and width, but push the contents inside the element by 10px, we’d need to adjust the actual dimensions to 80px in height and width. Then our element would look like:</p>
<p>Unlike margins, an element with padding does not need to be floated or positioned relatively for it to work, if it’s dealing with padding on the inside of the element. However, if you’re using padding to move the element (or another element around it), it does need to be floated or positioned.</p>
<p>IE5 and below calculate padding opposite of the rest of the browsers. IE5 simply assumes that when you apply padding, you want it affect the inside of the element. Therefor, if you gave an element of 100px a padding of 10px, it would simply push the inside contents 10px in, so there’s no need to adjust dimensions.</p>
<h3>Plenty of space</h3>
<p>Margins and padding can be tricky when dealing with cross-browser compatibility, but once you get the hang of it, it becomes much easier to anticipate the reactions of browsers.</p>
<p class="source"><a href="http://spyrestudios.com">spy restudios</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.610design.com/coding/css-the-box-model-margin-padding/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

