<?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>Programming Blog &#187; property</title>
	<atom:link href="http://www.neurosoftware.ro/programming-blog/tag/property/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.neurosoftware.ro/programming-blog</link>
	<description>Web development , php , ajax , symfony, framework, zend</description>
	<lastBuildDate>Thu, 18 Aug 2011 08:11:19 +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>CSS Transitions 101</title>
		<link>http://www.neurosoftware.ro/programming-blog/facebook-web-design/tutorial/css-transitions-101/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/facebook-web-design/tutorial/css-transitions-101/#comments</comments>
		<pubDate>Tue, 19 Jan 2010 06:26:26 +0000</pubDate>
		<dc:creator>Facebook-Web-Design</dc:creator>
				<category><![CDATA[tutorial]]></category>
		<category><![CDATA[Apple Safari]]></category>
		<category><![CDATA[color]]></category>
		<category><![CDATA[couple of lines]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[css level]]></category>
		<category><![CDATA[css property]]></category>
		<category><![CDATA[length]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[property]]></category>
		<category><![CDATA[Tex.]]></category>
		<category><![CDATA[transition]]></category>
		<category><![CDATA[w3c css]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/facebook-web-design/tutorial/css-transitions-101/</guid>
		<description><![CDATA[Despite people&#8217;s expectation of change and movement on the screen, CSS and HTML have few controls that allow you to design interactivity, and those that exist are binary. A link is either one color or another. A text field is either one size or another. A photo is either transparent or opaque. No in-betweens from [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.webdesignerdepot.com/2010/01/css-transitions-101/"><img class="alignleft" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/241c8_thumb2.jpg" alt="" width="200" height="160" /></a>Despite people&#8217;s expectation of change and movement on the screen, <strong>CSS</strong> and <strong>HTML</strong> have few controls that allow you to design interactivity, and those that exist are binary.</p>
<p>A link is either one color or another. A text field is either one size or another. A photo is either transparent or opaque. No in-betweens from one state to the next. <strong>No</strong> <strong>transitions</strong>.</p>
<p>This has led to most web pages feeling abrupt, with elements shifting and changing ungracefully.</p>
<p>Yes, we can use DHTML and leverage the jQuery library for transitions, but this requires a lot of code for something that should be very simple.</p>
<p>What we need is a quick and easy way to add simple transitions to the page and in this article you&#8217;ll find useful information about <strong>CSS transitions </strong>and how to use them.<span></span></p>
<p>A few months back, I stuck my foot in my mouth by <a href="http://www.webdesignerdepot.com/2009/08/5-css3-design-enhancements-that-you-can-use-today/">suggesting that designers should start using the new CSS 3 techniques</a> that allow them to do some of the basic styling that they’ve been pleading for. The only issue: none of them worked in Internet Explorer. Nope, not even IE8.</p>
<p>Some readers felt that suggesting techniques that around 75% of audiences would not be able to see was imprudent.</p>
<p>To those readers I say, <em>&#8216;Hold onto your hats&#8217;</em>, because I’m going to introduce you to another new CSS property that allows you to add transitions to any element with only a couple of lines of code.</p>
<p>CSS transitions are being introduced right now in CSS Level 3 but have already been added as an extension to Webkit. Right now that means they work only in browsers based on Webkit, including Apple Safari and Google Chrome.</p>
<p><br class="spacer_" /></p>
<h1>Where CSS Transitions Come From</h1>
<p>Transitions have been a part of Webkit for a while and are the basis of a lot of the cool things that the Safari UI can do that other browsers cannot.</p>
<p>But the W3C CSS Workgroup resisted adding transitions to its official specs, some members arguing that transitions are not style properties and would be better handled by a scripting language.</p>
<p>But many designers and developers, myself included, argued that these are in fact styles— only <strong><em>dynamic</em></strong> styles, rather than the traditional static styles that so many of us are used to.</p>
<p>Fortunately, the argument for dynamic styles held the day. Last March, representatives from Apple and Mozilla began adding the <a href="http://www.w3.org/TR/css3-transitions/">CSS Transitions Module to the CSS Level 3 specification</a>, closely modeled on what Apple had already added to Webkit.</p>
<p><br class="spacer_" /></p>
<h1>A Brief Note on Design Enhancements</h1>
<p>Before we continue, let me emphasize one point: never rely on styles for website functionality if the styles are not browser interoperable (i.e. available on all common browsers).</p>
<p>One more time for those who missed it: <strong>never rely on styles for website functionality if the styles are not browser interoperable</strong>.</p>
<p>That said, you can use styles, such as transitions, as <em>design enhancements</em> to improve the user experience, without sacrificing usability for those who cannot see them. This is okay as long as you could otherwise live without the transitions and users can still complete their tasks.</p>
<p><br class="spacer_" /></p>
<h1>First, a Few Transition Ideas</h1>
<p>CSS transitions will not replace all uses of DHTML, but here are a few ways to enhance your design in browsers that support transitions, without ruining it for the rest of your audience.</p>
<p>You will need to view this page in <a href="http://www.apple.com/safari/" target="_self">Apple Safari 3+</a> or <a href="http://www.google.com/chrome" target="_self">Google Chrome</a> to see these transitions work. Both browsers are available in Mac and PC flavors.</p>
<h2>Roll-Overs</h2>
<p>The most obvious use for transitions is to highlight elements (whether links, tables, form fields, buttons or something else) when the user’s mouse hovers over them. Transitions are a great way to give the page a smoother look.</p>
<p><strong>Example #1</strong></p>
<div>
<p><a href="http://www.webdesignerdepot.com">Link</a></p>
<p><br class="spacer_" /></p>
</div>
<h2>Drop-Down Menus</h2>
<p>Pure CSS menus are easy to accomplish, and transitions let you give menus slide-down and highlighting effects.</p>
<p><strong>Example #2</strong></p>
<div>
<ul>
<li>About Us</li>
<ul>
<li><a href="http://www.webdesignerdepot.com">Our Team</a></li>
<li><a href="http://www.webdesignerdepot.com">News</a></li>
<li><a href="http://www.webdesignerdepot.com">Reviews</a></li>
<li><a href="http://www.webdesignerdepot.com">Contact</a></li>
</ul>
</ul>
</div>
<p><br class="spacer_" /></p>
<h2>Animation</h2>
<p>You can move an object between two points on the page and use transitions to animate its movement.</p>
<div>
<div>
<p><strong>Example #3</strong></p>
<p>Click &amp; Hold!</p>
<div><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/28b4e_astro-127531.png" alt="" /></div>
<p><br class="spacer_" /></p>
</div>
</div>
<p><br class="spacer_" /></p>
<h1>Transitions, States and Actions</h1>
<p>But hold on a minute there, Tex. Before diving into transitions, we have to understand the various states to which an element can transition.</p>
<p>States define how a particular element currently interacts with the user or the page, and they are specified in CSS using the pseudo-classes. For example, when the user hovers over an element, that element would be styled with the <code>hover</code> pseudo-class.</p>
<table border="0" cellpadding="3" width="100%">
<tbody>
<tr>
<td>
<p><strong>Dynamic Pseudo Class</strong></p>
</td>
<td>
<p><strong>Elements Affected</strong></p>
</td>
<td>
<p><strong>Description</strong></p>
</td>
</tr>
<tr>
<td>
<p>:link</p>
</td>
<td>
<p>Links only</p>
</td>
<td>
<p>Unvisited links</p>
</td>
</tr>
<tr>
<td>
<p>:visited</p>
</td>
<td>
<p>Links only</p>
</td>
<td>
<p>Visited links</p>
</td>
</tr>
<tr>
<td>
<p>:hover</p>
</td>
<td>
<p>All elements</p>
</td>
<td>
<p>Mouse cursor over element</p>
</td>
</tr>
<tr>
<td>
<p>:active</p>
</td>
<td>
<p>All elements</p>
</td>
<td>
<p>Mouse clicks element</p>
</td>
</tr>
<tr>
<td>
<p>:focus</p>
</td>
<td>
<p>All elements that can be selected</p>
</td>
<td>
<p>Element is selected</p>
</td>
</tr>
<tr>
<td>
<p>None</p>
</td>
<td>
<p>All elements</p>
</td>
<td>
<p>Default state of all elements</p>
</td>
</tr>
</tbody>
</table>
<p>Transitions work by changing a style over a period of time between different element states. For example, the color value of the default state of an element will pass through intermediate colors in the spectrum before appearing as the color value for the hover state.</p>
<p><br class="spacer_" /></p>
<h1>A Simple Transition</h1>
<p>Let’s consider a simple transition from one color to another when the user hovers over a link. Like any other CSS property, transitions are added directly to the selector that it is to be applied to. The property can then take one of following four values.</p>
<p><strong>CSS property</strong><br />
 The property that is to be altered (for example, color). See the table below for a list of all of the CSS properties that can be transitioned.</p>
<p><strong>Duration</strong><br />
 How long the transition will last, generally in seconds (for example, <code>.25s</code>).</p>
<p><strong>Timing function</strong><br />
 Allows you to control how the duration is timed. Rather than using a simple linear count, you can speed up or slow down the transition or even specify a beat or count (for example, <code>linear</code>). More on this later in the article.</p>
<p><strong>Delay</strong><br />
 How long to wait between the action and the beginning of the transition, usually expressed in seconds (for example, <code>.1s</code>). This value can be omitted if you don’t want a delay.</p>
<p>Because the transition property started out as a Webkit extension, we have to include both the <code>transition</code> and <code>-webkit-transition</code> properties for backwards compatibility.</p>
<p>Let&#8217;s first add both of these properties to the <code>:hover</code> pseudo-class:</p>
<pre><span>a:hover {
   color: red;
   -webkit-transition: color .25s linear;
   transition: color .25s linear;
}</span></pre>
<p>Now, when a link is hovered over, rather than jumping from blue to red, it will transition for a quarter of a second through the intermediate colors.</p>
<p><img class="image-border alignnone" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/28b4e_CSStransition.jpg" alt="" width="615" height="381" /></p>
<p>Of course, we also want to transition back to the default link color, so we&#8217;ll add a transition to the <code>:link</code> (and probably <code>:visited</code>) pseudo-classes, with just a very brief delay (one-tenth of a second) before it fades:</p>
<pre><span>a:link, a:visited {
   color: blue;
   -webkit-transition: color .25s linear .1s;
   transition: color .25s linear .1s;
}</span></pre>
<p><br class="spacer_" /></p>
<h1><strong>Adding Multiple Transitions</strong></h1>
<p>Because a transition is a CSS property, if you add multiple instances of the transition property in the same rule, then the last one will override previous ones, rather than add to them. So in the following rule, the only transition would be the background color:</p>
<pre><span>a:hover {
  color: red;
  background-color: rgb(235,235,185);
  -webkit-transition: color .25s linear;
  transition: color .25s linear;
  transition: background-color .15s linear .1;
}</span></pre>
<p>Multiple transitions are added as a comma-separated list in the same transition property definition:</p>
<pre><span>a:hover {
  color: red;
  background-color: rgb(235,235,185);
   -webkit-transition: color .25s linear, background-color .15s linear .1s;
  transition: color .25s linear, background-color .15s linear .1s;
 }</span></pre>
<p>This will create both a color and background-color transition.</p>
<p><br class="spacer_" /></p>
<h1>What Can Be Transitioned?</h1>
<p>Almost any CSS property that has a color, length or position component, including many of the new CSS 3 properties, can be given a transition. One notable exception seems to be box-shadow.</p>
<p>Straight from the W3C’s Transitions spec, here is a list of CSS properties that can be given a transition, along with the aspects that are transformed. I’ve highlighted a few of the more useful properties.</p>
<table border="0" cellpadding="5" width="80%">
<tbody>
<tr>
<td>
<p><strong>CSS Property</strong></p>
</td>
<td>
<p><strong>What Changes</strong></p>
</td>
</tr>
<tr>
<td>
<p><strong>background-color</strong></p>
</td>
<td>
<p><strong>Color</strong></p>
</td>
</tr>
<tr>
<td>
<p>background-image</p>
</td>
<td>
<p>Only gradients</p>
</td>
</tr>
<tr>
<td>
<p>background-position</p>
</td>
<td>
<p>Percentage, length</p>
</td>
</tr>
<tr>
<td>
<p>border-bottom-color</p>
</td>
<td>
<p>Color</p>
</td>
</tr>
<tr>
<td>
<p>border-bottom-width</p>
</td>
<td>
<p>Length</p>
</td>
</tr>
<tr>
<td>
<p><strong>border-color</strong></p>
</td>
<td>
<p><strong>Color</strong></p>
</td>
</tr>
<tr>
<td>
<p>border-left-color</p>
</td>
<td>
<p>Color</p>
</td>
</tr>
<tr>
<td>
<p>border-left-width</p>
</td>
<td>
<p>Length</p>
</td>
</tr>
<tr>
<td>
<p>border-right-color</p>
</td>
<td>
<p>Color</p>
</td>
</tr>
<tr>
<td>
<p>border-right-width</p>
</td>
<td>
<p>Length</p>
</td>
</tr>
<tr>
<td>
<p>border-spacing</p>
</td>
<td>
<p>Length</p>
</td>
</tr>
<tr>
<td>
<p>border-top-color</p>
</td>
<td>
<p>Color</p>
</td>
</tr>
<tr>
<td>
<p>border-top-width</p>
</td>
<td>
<p>Length</p>
</td>
</tr>
<tr>
<td>
<p>border-width</p>
</td>
<td>
<p>Length</p>
</td>
</tr>
<tr>
<td>
<p><strong>bottom</strong></p>
</td>
<td>
<p><strong>Length, percentage</strong></p>
</td>
</tr>
<tr>
<td>
<p><strong>color</strong></p>
</td>
<td>
<p><strong>Color</strong></p>
</td>
</tr>
<tr>
<td>
<p>crop</p>
</td>
<td>
<p>Rectangle</p>
</td>
</tr>
<tr>
<td>
<p><strong>font-size</strong></p>
</td>
<td>
<p><strong>Length, percentage</strong></p>
</td>
</tr>
<tr>
<td>
<p><strong>font-weight</strong></p>
</td>
<td>
<p><strong>Number</strong></p>
</td>
</tr>
<tr>
<td>
<p>grid-*</p>
</td>
<td>
<p>Various</p>
</td>
</tr>
<tr>
<td>
<p><strong>height</strong></p>
</td>
<td>
<p><strong>Length, percentage</strong></p>
</td>
</tr>
<tr>
<td>
<p><strong>left</strong></p>
</td>
<td>
<p><strong>Length, percentage</strong></p>
</td>
</tr>
<tr>
<td>
<p><strong>letter-spacing</strong></p>
</td>
<td>
<p><strong>Length</strong></p>
</td>
</tr>
<tr>
<td>
<p>line-height</p>
</td>
<td>
<p>Number, length, percentage</p>
</td>
</tr>
<tr>
<td>
<p>margin-bottom</p>
</td>
<td>
<p>Length</p>
</td>
</tr>
<tr>
<td>
<p>margin-left</p>
</td>
<td>
<p>Length</p>
</td>
</tr>
<tr>
<td>
<p>margin-right</p>
</td>
<td>
<p>Length</p>
</td>
</tr>
<tr>
<td>
<p>margin-top</p>
</td>
<td>
<p>Length</p>
</td>
</tr>
<tr>
<td>
<p>max-height</p>
</td>
<td>
<p>Length, percentage</p>
</td>
</tr>
<tr>
<td>
<p>max-width</p>
</td>
<td>
<p>Length, percentage</p>
</td>
</tr>
<tr>
<td>
<p>min-height</p>
</td>
<td>
<p>Length, percentage</p>
</td>
</tr>
<tr>
<td>
<p>min-width</p>
</td>
<td>
<p>Length, percentage</p>
</td>
</tr>
<tr>
<td>
<p><strong>opacity</strong></p>
</td>
<td>
<p><strong>Number</strong></p>
</td>
</tr>
<tr>
<td>
<p>outline-color</p>
</td>
<td>
<p>Color</p>
</td>
</tr>
<tr>
<td>
<p>outline-offset</p>
</td>
<td>
<p>Integer</p>
</td>
</tr>
<tr>
<td>
<p>outline-width</p>
</td>
<td>
<p>Length</p>
</td>
</tr>
<tr>
<td>
<p>padding-bottom</p>
</td>
<td>
<p>Length</p>
</td>
</tr>
<tr>
<td>
<p>padding-left</p>
</td>
<td>
<p>Length</p>
</td>
</tr>
<tr>
<td>
<p>padding-right</p>
</td>
<td>
<p>Length</p>
</td>
</tr>
<tr>
<td>
<p>padding-top</p>
</td>
<td>
<p>Length</p>
</td>
</tr>
<tr>
<td>
<p><strong>right</strong></p>
</td>
<td>
<p><strong>Length, percentage</strong></p>
</td>
</tr>
<tr>
<td>
<p>text-indent</p>
</td>
<td>
<p>Length, percentage</p>
</td>
</tr>
<tr>
<td>
<p><strong>text-shadow</strong></p>
</td>
<td>
<p><strong>Shadow</strong></p>
</td>
</tr>
<tr>
<td>
<p><strong>top</strong></p>
</td>
<td>
<p><strong>Length, percentage</strong></p>
</td>
</tr>
<tr>
<td>
<p>vertical-align</p>
</td>
<td>
<p>Keywords, length, percentage</p>
</td>
</tr>
<tr>
<td>
<p>visibility</p>
</td>
<td>
<p>Visibility</p>
</td>
</tr>
<tr>
<td>
<p><strong>width</strong></p>
</td>
<td>
<p><strong>Length, percentage</strong></p>
</td>
</tr>
<tr>
<td>
<p>word-spacing</p>
</td>
<td>
<p>Length, percentage</p>
</td>
</tr>
<tr>
<td>
<p>z-index</p>
</td>
<td>
<p>Integer</p>
</td>
</tr>
<tr>
<td>
<p>zoom</p>
</td>
<td>
<p>Number</p>
</td>
</tr>
</tbody>
</table>
<p><br class="spacer_" /></p>
<h1>Transition Timing and Delay</h1>
<p>With transitions, you can vary the count rate, counting slower at the beginning and speeding up at the end, vice versa, or anything in between. CSS transitions come with five keywords for transition timing and allow you to specify values for your own timing curve.</p>
<table border="0">
<tbody>
<tr>
<td>
<p><strong>Name</strong></p>
</td>
<td>
<p><strong>How It Works</strong></p>
</td>
</tr>
<tr>
<td>
<p>cubic-bezier(x1, y1, x2, y2)</p>
</td>
<td>
<p>X and Y values are between 0 and 1 to define the shape of a bezier curve used for the timing function.</p>
</td>
</tr>
<tr>
<td>
<p>linear</p>
</td>
<td>
<p>Constant speed</p>
</td>
</tr>
<tr>
<td>
<p>ease</p>
</td>
<td>
<p>Gradual slowdown</p>
</td>
</tr>
<tr>
<td>
<p>ease-in</p>
</td>
<td>
<p>Speed up</p>
</td>
</tr>
<tr>
<td>
<p>ease-out</p>
</td>
<td>
<p>Slow down</p>
</td>
</tr>
<tr>
<td>
<p>ease-in-out</p>
</td>
<td>
<p>Speed up and then slow down</p>
</td>
</tr>
</tbody>
</table>
<p><br class="spacer_" /></p>
<h1>A Universal Transition?</h1>
<p>Transitions will quickly become standard operating procedure for all websites, 	enhancing user interface feedback.</p>
<p>To add ubiquitious transitions across your entire website, one option is to add a transition to the universal selector, similar to a CSS reset. This applies a default transition to all elements on the page, allowing you to keep a consistent transition:</p>
<pre><span>*:link, *:visited, *:hover, *:active, *:focus {
   -webkit-transition:
     color .25s linear,
      background-color .25s linear,
     border-color .25s linear;
   transition:
     color .25s linear,
     background-color .25s linear,
     border-color .25s linear;
}</span></pre>
<p>One argument against a universal transition, and indeed against using the universal selector for CSS resets in general, is that applying a style to <em>every</em> element on the page may slow down page rendering. However, I&#8217;ve never found any evidence that this is the case. Anyone know different?</p>
<p><br class="spacer_" /></p>
<p><em><a href="http://www.brighteyemedia.com">Jason Cranford Teague</a> is the author of more than 13 books on digital media, including <a href="http://www.speaking-in-styles.com/index.php/the-book/">Speaking In Styles: The Fundamentals of CSS for Web Designers</a>. For more information on CSS and web typography, check out Jason’s new book, <a href="http://www.fluidwebtype.com">Fluid Web Typography</a>. Follow Jason on Twitter: <a rel="nofollow" href="http://twitter.com/jasonspeaking" target="_blank">@jasonspeaking</a>.</em></p>
<p><em><br />
 </em></p>
<p>If you find an exclusive RSS freebie on this feed or on the live WDD website, please use the following code to download it: f2cc9y</p>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/28b4e_8C6pVIjK_Fk" height="1" width="1" /><br />
<a href="http://www.webdesignerdepot.com/feed/">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/facebook-web-design/tutorial/css-transitions-101/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Realtor.com Launches iPhone App</title>
		<link>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/realtor-com-launches-iphone-app/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/realtor-com-launches-iphone-app/#comments</comments>
		<pubDate>Thu, 14 Jan 2010 04:41:41 +0000</pubDate>
		<dc:creator>Facebook-Web-Design</dc:creator>
				<category><![CDATA[web resources]]></category>
		<category><![CDATA[apple fans]]></category>
		<category><![CDATA[com]]></category>
		<category><![CDATA[Errol Samuelson]]></category>
		<category><![CDATA[google maps]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[mobile consumers]]></category>
		<category><![CDATA[national association of realtors]]></category>
		<category><![CDATA[open house events]]></category>
		<category><![CDATA[property]]></category>
		<category><![CDATA[quot]]></category>
		<category><![CDATA[real estate search]]></category>
		<category><![CDATA[Realtor]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/realtor-com-launches-iphone-app/</guid>
		<description><![CDATA[Realtor.com, the website for the National Association of Realtors, has launched a Real Estate Search iPhone app. Users can search for every property listed on Realtor.com by price, location, property type, MLS ID number, square foot, lot size, open house events, distance from a user&#8217;s current location and age. The real estate iPhone app allows [...]]]></description>
			<content:encoded><![CDATA[<p>Realtor.com, the website for the National Association of Realtors, has launched a Real Estate Search iPhone app.</p>
<p>Users can search for every property listed on Realtor.com by price, location, property type, MLS ID number, square foot, lot size, open house events, distance from a user&#8217;s current location and age.</p>
<p>The real estate <a title="realtor.com iphone app" href="http://www.realtor.com/iphone?source=a27508">iPhone app</a> allows users to send a link of a specific property via email, Twitter or Facebook to family, friends or a realtor.</p>
<p> &quot;The Realtor.com iPhone app places the power of Realtor.com in the hands of millions of highly mobile consumers that depend on us to deliver the largest collection of properties with the freshest and most accurate information available on the market,&quot; said Errol Samuelson, president of Realtor.com. </p>
<p>&quot;By combining our unmatched search power with the ability to instantly share listings and feedback by email, Twitter or Facebook from an iPhone, millions now have mobile access to a phenomenal property search experience superior to other apps already on the market. We expect Realtors and their clients will appreciate the ease and convenience that our app brings to their experience as they work together to find the ideal property.&quot;<br />
&nbsp;</p>
<p><strong>Related Articles:</strong></p>
<p><span><span>&gt; </span></span><a href="http://www.webpronews.com/topnews/2009/12/14/new-google-phone-has-tech-community-licking-chops"><span><span>New Google Phone Has Tech Community Licking Chops</span></span></a></p>
<p><span><span>&gt; </span></span><a href="http://www.webpronews.com/topnews/2009/12/07/new-google-maps-for-android-gets-experimental"><span><span>New Google Maps For Android Gets Experimental</span></span></a></p>
<p><span><span>&gt; </span></span><a href="http://www.webpronews.com/topnews/2009/10/21/apple-fans-respond-to-the-droid-does-advertising-campaign"><span><span>Apple Fans Respond To The &quot;Droid Does&quot; Advertising Campaign</span></span></a></p>
<p><a href="http://aj.600z.com/aj/63590/0/cc?z=1"><img src="http://aj.600z.com/aj/63590/0/vc?z=1&amp;dim=9392" width="500" height="75" border="0"></a>
<div>
<a href="http://feeds.feedburner.com/~ff/webpronews/all?a=2A4zcnPea5w:X0DFyXMH924:yIl2AUoC8zA"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/b7142_all?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/webpronews/all?a=2A4zcnPea5w:X0DFyXMH924:wF9xT3WuBAs"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/b7142_all?i=2A4zcnPea5w:X0DFyXMH924:wF9xT3WuBAs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/webpronews/all?a=2A4zcnPea5w:X0DFyXMH924:7Q72WNTAKBA"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/b7142_all?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/webpronews/all?a=2A4zcnPea5w:X0DFyXMH924:V_sGLiPBpWU"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/b7142_all?i=2A4zcnPea5w:X0DFyXMH924:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/webpronews/all?a=2A4zcnPea5w:X0DFyXMH924:qj6IDK7rITs"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/e0dd1_all?d=qj6IDK7rITs" border="0"></img></a>
</div>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/e0dd1_2A4zcnPea5w" height="1" width="1" /><br />
<a href="http://feeds2.feedburner.com/webpronews/all">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/realtor-com-launches-iphone-app/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>AT&amp;T Sued by Washington DC Over Unused Calling Cards</title>
		<link>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/att-sued-by-washington-dc-over-unused-calling-cards/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/att-sued-by-washington-dc-over-unused-calling-cards/#comments</comments>
		<pubDate>Mon, 04 Jan 2010 05:54:50 +0000</pubDate>
		<dc:creator>Facebook-Web-Design</dc:creator>
				<category><![CDATA[web resources]]></category>
		<category><![CDATA[calling]]></category>
		<category><![CDATA[card]]></category>
		<category><![CDATA[card balances]]></category>
		<category><![CDATA[D.C.]]></category>
		<category><![CDATA[last known address]]></category>
		<category><![CDATA[lawsuit]]></category>
		<category><![CDATA[prepaid calling cards]]></category>
		<category><![CDATA[property]]></category>
		<category><![CDATA[Telecom]]></category>
		<category><![CDATA[telecom company]]></category>
		<category><![CDATA[unused balances]]></category>
		<category><![CDATA[Washington]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/att-sued-by-washington-dc-over-unused-calling-cards/</guid>
		<description><![CDATA[Washington D.C. has filed a lawsuit against AT&#38;T claiming that the telecom company should turn over unused calling card balances. The attorney general&#8217;s office argues that &#8220;AT&#38;T&#8217;s prepaid calling cards must be treated as unclaimed property under district law&#8221;, and thus the AT&#38;T balances are Washington D.C.&#8217;s property if they have not been used for [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://api.tweetmeme.com/share?url=http://mashable.com/2010/01/03/att-sued-by-washington-dc/&amp;service=bit.ly"><img width="51" height="61" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/5e172_att-sued-by-washington-dc" align="right" /></a>
<p><img align="right" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/5e172_att.gif" alt="at&amp;t logo" />Washington D.C. has filed a lawsuit against AT&#38;T claiming that the telecom company should turn over unused calling card balances.</p>
<p>The attorney general&#8217;s office argues that &#8220;AT&#38;T&#8217;s prepaid calling cards must be treated as unclaimed property under district law&#8221;, and thus the AT&#38;T balances are Washington D.C.&#8217;s property if they have not been used for 3 years and the customer&#8217;s last known address was in Washington D.C.</p>
<p><strong>If the case is won, it would be a major blow to AT&#38;T:</strong> unused balances account for perhaps 5 to 20 percent of the calling card market, according to <a href="http://www.reuters.com/article/idUSTRE5BU3NF20091231">Reuters</a>, which broke the news.</p>
<p>Tags: <a href="http://mashable.com/tag/att/">att</a>, <a href="http://mashable.com/tag/washington-dc/">Washington DC</a></p>
<p><a href="http://feedads.g.doubleclick.net/~at/zjcHCbhrE365DJX9N55XrZ36Za8/0/da"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/12096_di" border="0"></img></a><br />
<a href="http://feedads.g.doubleclick.net/~at/zjcHCbhrE365DJX9N55XrZ36Za8/1/da"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/12096_di" border="0"></img></a></p>
<div>
<a href="http://feeds.feedburner.com/~ff/Mashable?a=08AkLrcQ5vw:taZZIrXURdQ:D7DqB2pKExk"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/12096_Mashable?i=08AkLrcQ5vw:taZZIrXURdQ:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=08AkLrcQ5vw:taZZIrXURdQ:V_sGLiPBpWU"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/12096_Mashable?i=08AkLrcQ5vw:taZZIrXURdQ:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=08AkLrcQ5vw:taZZIrXURdQ:F7zBnMyn0Lo"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/8892d_Mashable?i=08AkLrcQ5vw:taZZIrXURdQ:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=08AkLrcQ5vw:taZZIrXURdQ:qj6IDK7rITs"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/8892d_Mashable?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=08AkLrcQ5vw:taZZIrXURdQ:_e0tkf89iUM"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/50a8f_Mashable?d=_e0tkf89iUM" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=08AkLrcQ5vw:taZZIrXURdQ:gIN9vFwOqvQ"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/50a8f_Mashable?i=08AkLrcQ5vw:taZZIrXURdQ:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=08AkLrcQ5vw:taZZIrXURdQ:yIl2AUoC8zA"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/50a8f_Mashable?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=08AkLrcQ5vw:taZZIrXURdQ:P0ZAIrC63Ok"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/bad6d_Mashable?d=P0ZAIrC63Ok" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=08AkLrcQ5vw:taZZIrXURdQ:I9og5sOYxJI"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/b7584_Mashable?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=08AkLrcQ5vw:taZZIrXURdQ:CC-BsrAYo0A"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/b7584_Mashable?d=CC-BsrAYo0A" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=08AkLrcQ5vw:taZZIrXURdQ:_cyp7NeR2Rw"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/b7584_Mashable?i=08AkLrcQ5vw:taZZIrXURdQ:_cyp7NeR2Rw" border="0"></img></a>
</div>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/617e1_08AkLrcQ5vw" height="1" width="1" /><br />
<a href="http://feeds2.feedburner.com/Mashable">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/att-sued-by-washington-dc-over-unused-calling-cards/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Text Shadow in CSS3 with the text-shadow property</title>
		<link>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/text-shadow-in-css3-with-the-text-shadow-property/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/text-shadow-in-css3-with-the-text-shadow-property/#comments</comments>
		<pubDate>Sat, 02 Jan 2010 14:32:04 +0000</pubDate>
		<dc:creator>Facebook-Web-Design</dc:creator>
				<category><![CDATA[web resources]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[drop shadow effect]]></category>
		<category><![CDATA[effect]]></category>
		<category><![CDATA[feature]]></category>
		<category><![CDATA[photo manipulation software]]></category>
		<category><![CDATA[property]]></category>
		<category><![CDATA[Shadow]]></category>
		<category><![CDATA[software photoshop]]></category>
		<category><![CDATA[text shadow]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/text-shadow-in-css3-with-the-text-shadow-property/</guid>
		<description><![CDATA[Another exciting new feature of CSS3 is the text-shadow property. If your a user of the photo manipulation software Photoshop, you might have used the drop shadow effect within blending options on a layer, the text-shadow property creates a similar effect. While this text-shadow property is being implemented in CSS3 it is not actually new. [...]]]></description>
			<content:encoded><![CDATA[<p>Another exciting new feature of CSS3 is the text-shadow property. If your a user of the photo manipulation software Photoshop, you might have used the drop shadow effect within blending options on a layer, the text-shadow property creates a similar effect. While this text-shadow property is being implemented in CSS3 it is not actually new. It was orginally proposed in CSS2 but was not fully implemented and therefore could not be used on a wide scale. This CSS3 article will show you how to create text shadow in CSS3 as well as the different effects you get using CSS3 only!</p>
<p><a href="http://feeds2.feedburner.com/Devsnippets">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/text-shadow-in-css3-with-the-text-shadow-property/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>RentLizard.com</title>
		<link>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/rentlizard-com/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/rentlizard-com/#comments</comments>
		<pubDate>Mon, 14 Dec 2009 17:55:20 +0000</pubDate>
		<dc:creator>Facebook-Web-Design</dc:creator>
				<category><![CDATA[web resources]]></category>
		<category><![CDATA[landlord]]></category>
		<category><![CDATA[landlords]]></category>
		<category><![CDATA[Listing]]></category>
		<category><![CDATA[property]]></category>
		<category><![CDATA[property managers]]></category>
		<category><![CDATA[related services]]></category>
		<category><![CDATA[rental property]]></category>
		<category><![CDATA[RentLizard]]></category>
		<category><![CDATA[site]]></category>
		<category><![CDATA[source]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/rentlizard-com/</guid>
		<description><![CDATA[RentLizard is a comprehensive rental property listing service for both the landlord and the rental seeker. The site is free to search for rental seekers. Property managers have the ability to create and manage listings from one source, while those listings are syndicated to over 30 other sites to maximize exposure. More than just a [...]]]></description>
			<content:encoded><![CDATA[<p>RentLizard is a comprehensive rental property listing service for both the landlord and the rental seeker. The site is free to search for rental seekers.  Property managers have the ability to create and manage listings from one source, while those listings are syndicated to over 30 other sites to maximize exposure. More than just a simple rental listing site, RentLizard provides additional related services to assist in connecting landlords and renters.<img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/9fdb9_J_w0ViZUFAc" height="1" width="1" /><br />
<a href="http://feeds2.feedburner.com/Listio-web20-directory-popular">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/rentlizard-com/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>33 Must Read CSS3 Tips, Tricks, Tutorial Sites and Articles</title>
		<link>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/33-must-read-css3-tips-tricks-tutorial-sites-and-articles/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/33-must-read-css3-tips-tricks-tutorial-sites-and-articles/#comments</comments>
		<pubDate>Fri, 11 Dec 2009 17:26:25 +0000</pubDate>
		<dc:creator>BlogPoster</dc:creator>
				<category><![CDATA[web resources]]></category>
		<category><![CDATA[article]]></category>
		<category><![CDATA[Bert Bos]]></category>
		<category><![CDATA[C. Each]]></category>
		<category><![CDATA[Chris Coyier]]></category>
		<category><![CDATA[Craig Grannell]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[css text]]></category>
		<category><![CDATA[eric meyer]]></category>
		<category><![CDATA[future]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[jeffrey zeldman]]></category>
		<category><![CDATA[property]]></category>
		<category><![CDATA[Russell Grant]]></category>
		<category><![CDATA[sheet pdf]]></category>
		<category><![CDATA[showing pros]]></category>
		<category><![CDATA[w3c specification]]></category>
		<category><![CDATA[web designers]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/33-must-read-css3-tips-tricks-tutorial-sites-and-articles/</guid>
		<description><![CDATA[Since previous article about CSS text effects got really big attention I decided to research and find more interesting articles and websites just focused on CSS3, teaching you how to use it, showing pros and cons and much more. To be honest it&#8217;s hard for me to keep up with technologies myself, but we really [...]]]></description>
			<content:encoded><![CDATA[<div><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.1stwebdesigner.com%2Fcss%2Fmust-read-css3-tips-tricks-tutorial-sites%2F" rel="nofollow"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/8a653_imagebutton.gif?url=http%3A%2F%2Fwww.1stwebdesigner.com%2Fcss%2Fmust-read-css3-tips-tricks-tutorial-sites%2F" height="61" width="51" /></a></div>
<p><a href="http://www.1stwebdesigner.com/css/must-read-css3-tips-tricks-tutorial-sites/" target="_self"><img class="alignleft" height="150" alt="title-css3-useful-webdev-webdesign-resources" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/d1baa_title-css3-useful-webdev-webdesign-resources.jpg" width="150" /></a>Since previous article about CSS text effects got really big attention I decided to research and find more interesting articles and websites just focused on CSS3, teaching you how to use it, showing pros and cons and much more. To be honest it&#8217;s hard for me to keep up with technologies myself, but we really cannot not to use those new great selectors to make our designs even more beautiful, user-friendly and lightweighted. However since HTML5 is sort of tied with CSS3, I will soon continue with HTML5 article as well, so don&#8217;t miss it and keep coming back! Enjoy!<span></span></p>
</p>
<h2>1. <a href="http://www.smashingmagazine.com/2009/06/15/take-your-design-to-the-next-level-with-css3/" target="_blank">Take Your Design To The Next Level With CSS3</a></h2>
<p>In this article you&#8217;ll learn why CSS3 should be used and how web designers use it already in good way. Great article for getting you started with CSS3.</p>
<p><a href="http://www.smashingmagazine.com/2009/06/15/take-your-design-to-the-next-level-with-css3/" target="_blank"><img height="328" alt="next-level-sm-css3-useful-webdev-webdesign-resources" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/ec485_next-level-sm-css3-useful-webdev-webdesign-resources.jpg" width="570" /></a></p>
</p>
<h2>2. <a href="http://www.smashingmagazine.com/2009/01/08/push-your-web-design-into-the-future-with-css3/" target="_blank">Push Your Web Design Into The Future With CSS3</a></h2>
<p>Here are five CSS3 techniques snatched from the future that you can put into practice in your website designs today.</p>
<p><a href="http://www.smashingmagazine.com/2009/01/08/push-your-web-design-into-the-future-with-css3/" target="_blank"><img height="240" alt="future-sm-css3-useful-webdev-webdesign-resources" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/9e915_future-sm-css3-useful-webdev-webdesign-resources.jpg" width="570" /></a></p>
</p>
<h2>3. <a href="http://www.zurb.com/article/266/super-awesome-buttons-with-css3-and-rgba" target="_blank">Super Awesome Buttons with CSS3 and RGBA</a></h2>
<p>Learn how to create super cool, scalable buttons with CSS3.</p>
<p><a href="http://www.zurb.com/article/266/super-awesome-buttons-with-css3-and-rgba" target="_blank"><img height="222" alt="buttons-css3-useful-webdev-webdesign-resources" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/aeb28_buttons-css3-useful-webdev-webdesign-resources.jpg" width="570" /></a></p>
<p><a href="http://www.zurb.com/blog_uploads/0000/0617/buttons-03.html" target="_blank">View Demo</a></p>
</p>
<h2>4. <a href="http://inspectelement.com/tutorials/a-look-at-some-of-the-new-selectors-introduced-in-css3/" target="_blank">A Look at Some of the New Selectors Introduced in CSS3</a></h2>
<p><a href="http://inspectelement.com/tutorials/a-look-at-some-of-the-new-selectors-introduced-in-css3/" target="_blank"><img height="214" alt="selectors-css3-useful-webdev-webdesign-resources" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/77af2_selectors-css3-useful-webdev-webdesign-resources.jpg" width="570" /></a></p>
</p>
<h2>5. <a href="http://www.smashingmagazine.com/2009/07/13/css-3-cheat-sheet-pdf/" target="_blank">CSS 3 Cheat Sheet (PDF)</a></h2>
<p>This is printable CSS 3 Cheat Sheet (PDF), a complete listing of all the properties, selectors types and allowed values in the current CSS 3 specification from the W3C. Each property is provided in a section that attempts to match it with the section (module) that it is most actively associated within the W3C specification.(<a href="http://media.smashingmagazine.com/wp-content/uploads/images/css3-cheat-sheet/css3-cheat-sheet.pdf" target="_blank">Download *pdf</a>)</p>
<p><a href="http://www.smashingmagazine.com/2009/07/13/css-3-cheat-sheet-pdf/" target="_blank"><img height="315" alt="cheat-sheet-css3-useful-webdev-webdesign-resources" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/2fc50_cheat-sheet-css3-useful-webdev-webdesign-resources.jpg" width="570" /></a></p>
</p>
<h2>6. <a href="http://www.css3.info/" target="_blank">CSS3.Info</a></h2>
<p>CSS3 is the new kid in the stylesheet family. It offers exciting new possibilities to create an impact with your designs, allows you to use more diverse style sheets for a variety of occasions and lots more. Also check excellent <a href="http://www.css3.info/preview/" target="_blank">CSS3 Preview page</a> there, which shows demos of new features.</p>
<p><a href="http://www.css3.info/" target="_blank"><img height="352" alt="info-all-css3-useful-webdev-webdesign-resources" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/75e90_info-all-css3-useful-webdev-webdesign-resources.jpg" width="570" /></a></p>
</p>
<h2>7. <a href="http://www.webmonkey.com/tutorial/Get_Started_with_CSS_3" target="_blank">Get Started with CSS 3</a></h2>
<p>Beautiful CSS3 tutorial article explaining several new CSS3 features and giving solutions how to create them actually.</p>
<p><a href="http://www.webmonkey.com/tutorial/Get_Started_with_CSS_3" target="_blank"><img height="233" alt="webmonkey-css3-useful-webdev-webdesign-resources" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/5fef2_webmonkey-css3-useful-webdev-webdesign-resources.jpg" width="570" /></a></p>
</p>
<h2>8. <a href="http://designshack.co.uk/tutorials/introduction-to-css3-part-1-what-is-it" target="_blank">Introduction to CSS3 – Part 1: What Is It?</a></h2>
<p>These six part series are providing an introduction to the new CSS3 standard which is set to take over from CSS2 from DesignShack.</p>
<p><a href="http://designshack.co.uk/tutorials/introduction-to-css3-part-1-what-is-it" target="_blank"><img height="136" alt="designshack-css3-useful-webdev-webdesign-resources" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/cf146_designshack-css3-useful-webdev-webdesign-resources.jpg" width="570" /></a></p>
</p>
<h2>9. <a href="http://www.w3.org/TR/CSS-access" target="_blank">Accessibility Features of CSS from W3</a></h2>
<p>This document summarizes the features of the Cascading Style Sheets (CSS), level 2 Recommendation ([CSS2]) known to directly affect the accessibility of Web documents. Some of the accessibility features described in this document were available in CSS1 ([CSS1]) as well. This document has been written so that other documents may refer in a consistent manner to the accessibility features of CSS.</p>
<p><a href="http://www.w3.org/TR/CSS-access" target="_blank"><img height="220" alt="w3-css3-useful-webdev-webdesign-resources" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/43019_w3-css3-useful-webdev-webdesign-resources.jpg" width="570" /></a></p>
</p>
<h2>10. <a href="http://dev.opera.com/articles/view/progressive-enhancement-with-css-3-a-be/" target="_blank">Progressive Enhancement with CSS 3: A better experience for modern browsers</a></h2>
<p>In this article you will look at how you can use graceful (or, progressive) enhancement techniques to make use of CSS3 features in browsers that support them, while ensuring that your code will still provide a satisfactory user experience in older browsers that do not yet support those features.</p>
</p>
<p><a href="http://sixrevisions.com/interviews/six-questions-eric-meyer-on-css3/http:/sixrevisions.com/interviews/six-questions-eric-meyer-on-css3/" target="_blank"></a></p>
<h2>11. <a href="http://xhtml.com/en/css/conversation-with-css-3-team/" target="_blank">Conversation with CSS 3 team</a></h2>
<p>In this article, xhtml.com interviews Bert Bos, chair of the CSS Working Group at W3C, about the next release of the CSS specification and how past design decisions are influencing the future of CSS. This interview offers a rare opportunity to learn more about the inner workings and thought processes of the CSS Working Group at W3C.</p>
<p><a href="http://xhtml.com/en/css/conversation-with-css-3-team/" target="_blank"><img height="181" alt="conversation-css3-useful-webdev-webdesign-resources" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/fe81c_conversation-css3-useful-webdev-webdesign-resources.jpg" width="570" /></a></p>
</p>
<h2>12. <a href="http://sixrevisions.com/interviews/six-questions-eric-meyer-on-css3/http:/sixrevisions.com/interviews/six-questions-eric-meyer-on-css3/" target="_blank">Six Questions: Eric Meyer on CSS3</a></h2>
<p>Great interview with Eric Meyer about CSS3.</p>
<p><a href="http://sixrevisions.com/interviews/six-questions-eric-meyer-on-css3/http:/sixrevisions.com/interviews/six-questions-eric-meyer-on-css3/" target="_blank"><img height="238" alt="eric-meyer-css3-useful-webdev-webdesign-resources" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/f13db_eric-meyer-css3-useful-webdev-webdesign-resources.jpg" width="570" /></a></p>
</p>
<h2>13. <a href="http://mattwilcox.net/archive/entry/id/1031/" target="_blank">The fundamental problems with CSS3</a></h2>
<p>This article brings up several problems and issues with CSS3, interesting reading.</p>
<p><a href="http://mattwilcox.net/archive/entry/id/1031/" target="_blank"><img height="135" alt="problems-css3-useful-webdev-webdesign-resources" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/97d43_problems-css3-useful-webdev-webdesign-resources.jpg" width="570" /></a></p>
</p>
<h2>14. <a href="http://www.noupe.com/css3/css3-exciting-functions-and-features-30-useful-tutorials.html" target="_blank">CSS3 Exciting Functions and Features: 30+ Useful Tutorials</a></h2>
<p>In this post you will take a look at some interesting properties of CSS3 that you can put into practice in your website designs today.</p>
<p><a href="http://www.noupe.com/css3/css3-exciting-functions-and-features-30-useful-tutorials.html" target="_blank"><img height="201" alt="exciting-functions-css3-useful-webdev-webdesign-resources" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/4f761_exciting-functions-css3-useful-webdev-webdesign-resources.jpg" width="570" /></a></p>
</p>
<h2>15. <a href="http://css-tricks.com/css3-clock/" target="_blank">Old School Clock with CSS3 and jQuery</a></h2>
<p><a href="http://css-tricks.com/css3-clock/" target="_blank"><img height="192" alt="old-school-clock-css3-useful-webdev-webdesign-resources" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/9225e_old-school-clock-css3-useful-webdev-webdesign-resources.jpg" width="570" /></a></p>
</p>
<p><a href="http://24ways.org/2006/rounded-corner-boxes-the-css3-way" target="_blank"></a></p>
<h2>16. <a href="http://www.bloggingcss.com/en/tutorials/the-css3-border-radius-property/" target="_blank">The CSS3 border-radius property</a></h2>
<p>One of the CSS3 properties designers have been longing the most for is undoubtedly the border-radius property. With CSS3 border-radius property it’s possible to create the so popular rectangles with rounded corners exclusively via CSS &#8211; no images needed.</p>
<p><a href="http://www.bloggingcss.com/en/tutorials/the-css3-border-radius-property/" target="_blank"><img height="304" alt="border-radius-css3-useful-webdev-webdesign-resources" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/700aa_border-radius-css3-useful-webdev-webdesign-resources.jpg" width="570" /></a></p>
</p>
<h2>17. <a href="http://www.netmag.co.uk/zine/develop-css/get-the-best-out-of-css3" target="_blank">Get the best out of CSS3</a></h2>
<p>Craig Grannell turns into a cross between Jeffrey Zeldman and Russell Grant, taking a peek at what the future of CSS has to offer – with a little help from Opera, Safari and Firefox</p>
<p><a href="http://www.netmag.co.uk/zine/develop-css/get-the-best-out-of-css3" target="_blank"><img height="128" alt="craig-grannell-css3-useful-webdev-webdesign-resources" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/f264e_craig-grannell-css3-useful-webdev-webdesign-resources.jpg" width="570" /></a></p>
</p>
<h2>18. <a href="http://spyrestudios.com/how-to-create-a-sexy-vertical-sliding-panel-using-jquery-and-css3/" target="_blank">How To Create A Sexy Vertical Sliding Panel Using jQuery And CSS3</a></h2>
<p><a href="http://spyrestudios.com/how-to-create-a-sexy-vertical-sliding-panel-using-jquery-and-css3/" target="_blank"><img height="221" alt="sliding-jquery-css3-useful-webdev-webdesign-resources" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/bc533_sliding-jquery-css3-useful-webdev-webdesign-resources.jpg" width="570" /></a></p>
<p><a href="http://spyrestudios.com/demos/sliding-panel-left/" target="_blank">View Demo</a></p>
</p>
<h2>19. <a href="http://24ways.org/2006/rounded-corner-boxes-the-css3-way" target="_blank">Rounded Corner Boxes the CSS3 Way</a></h2>
<p><a href="http://24ways.org/2006/rounded-corner-boxes-the-css3-way" target="_blank"><img height="206" alt="rounded-css3-useful-webdev-webdesign-resources" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/67781_rounded-css3-useful-webdev-webdesign-resources.jpg" width="570" /></a></p>
</p>
<p><a href="http://www.zurb.com/blog_uploads/0000/0617/buttons-03.html" target="_blank"></a></p>
<h2>20. <a href="http://css-tricks.com/video-screencasts/57-using-css3/" target="_blank">#57: Using CSS3 by Chris Coyier</a></h2>
<p>This screencast covers many of CSS3 techniques now possible, focusing on the ones that can be used for progressive visual enhancement. Border radius, @font-face, animations/transitions, text-shadow, box-shadow, multiple backgrounds, RGBa, gradients, border image.</p>
<p><a href="http://css-tricks.com/video-screencasts/57-using-css3/" target="_blank"><img height="423" alt="chris-coyier-css3-useful-webdev-webdesign-resources" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/99591_chris-coyier-css3-useful-webdev-webdesign-resources.jpg" width="570" /></a></p>
</p>
<h2>21. <a href="http://net.tutsplus.com/tutorials/html-css-techniques/html-5-and-css-3-the-techniques-youll-soon-be-using/" target="_blank">HTML 5 and CSS 3: The Techniques You’ll Soon Be Using</a></h2>
<p>In this tutorial, your are going to build a blog page using next-generation techniques from HTML 5 and CSS 3. The tutorial aims to demonstrate how we will be building websites when the specifications are finalized and the browser vendors have implemented them.</p>
<p><a href="http://net.tutsplus.com/tutorials/html-css-techniques/html-5-and-css-3-the-techniques-youll-soon-be-using/" target="_blank"><img height="398" alt="layout-html5-css3-useful-webdev-webdesign-resources" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/f2606_layout-html5-css3-useful-webdev-webdesign-resources.jpg" width="570" /></a></p>
<p><a href="http://nettuts.s3.amazonaws.com/373_html5/final/index.html" target="_blank">View Demo</a></p>
</p>
<h2>22. <a href="http://net.tutsplus.com/tutorials/html-css-techniques/11-classic-css-techniques-made-simple-with-css3/" target="_blank">11 Classic CSS Techniques Made Simple with CSS3</a></h2>
<p>In this tutorial from Nettuts you will learn eleven different time-consuming effects that can be achieved quite easily with CSS3.</p>
<p><a href="http://net.tutsplus.com/tutorials/html-css-techniques/11-classic-css-techniques-made-simple-with-css3/" target="_blank"><img height="201" alt="11-simple-css3-useful-webdev-webdesign-resources" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/43ab8_11-simple-css3-useful-webdev-webdesign-resources.jpg" width="570" /></a></p>
</p>
<p><a href="http://www.noupe.com/css3/css3-exciting-functions-and-features-30-useful-tutorials.html" target="_blank"></a></p>
<h2>23. <a href="http://www.456bereastreet.com/archive/200601/css_3_selectors_explained/" target="_blank">CSS 3 selectors explained &#8211; Overview of CSS 3 selector syntax</a></h2>
<h2><a href="http://www.456bereastreet.com/archive/200601/css_3_selectors_explained/" target="_blank"><img height="218" alt="explained-selectors-css3-useful-webdev-webdesign-resources" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/57912_explained-selectors-css3-useful-webdev-webdesign-resources.jpg" width="570" /></a></h2>
</p>
<h2>24. <a href="http://cssglobe.com/post/6089/3-easy-and-fast-css-techniques-for-faux-image" target="_blank">3 Easy and Fast CSS Techniques for Faux Image Cropping</a></h2>
<p><a href="http://cssglobe.com/post/6089/3-easy-and-fast-css-techniques-for-faux-image" target="_blank"><img height="322" alt="faux-image-css3-useful-webdev-webdesign-resources" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/a9ce8_faux-image-css3-useful-webdev-webdesign-resources.jpg" width="570" /></a></p>
</p>
<h2>25. <a href="http://www.cssportal.com/css3-preview/borders.htm" target="_blank">CSS3 Borders Preview</a></h2>
<p>CSS3 takes borders to a new level with the ability to use gradients, rounded corners, shadows and border images. Mozila, Firefox and Safari 3 have implemented this function, which allows you to create round corners on box-items.</p>
<p><a href="http://www.cssportal.com/css3-preview/borders.htm" target="_blank"><img height="247" alt="borders-css3-useful-webdev-webdesign-resources" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/8cb1b_borders-css3-useful-webdev-webdesign-resources.jpg" width="570" /></a></p>
</p>
<h2>26. <a href="http://westciv.com/iphonetests/" target="_blank">CSS3 property tests</a></h2>
<p><a href="http://westciv.com/iphonetests/" target="_blank"><img height="331" alt="browser-support-css3-useful-webdev-webdesign-resources" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/48e8d_browser-support-css3-useful-webdev-webdesign-resources.jpg" width="570" /></a></p>
</p>
<h2>27. <a href="http://www.zenelements.com/blog/css3-background-images/" target="_blank">CSS3 Background Images (Sizing &amp; Multiple Imgs)</a></h2>
<p>Background images / textures are being used and implemented in many ways, often adding the nicest of finishing touches to a website. It is now proposed that in CSS 3, we can apply background image dimensions as well as use multiple background images. Along with the +/- quick list of compatible browsers, here is how</p>
<p><a href="http://www.zenelements.com/blog/css3-background-images/" target="_blank"><img height="348" alt="bg-images-css3-useful-webdev-webdesign-resources" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/3aac2_bg-images-css3-useful-webdev-webdesign-resources.jpg" width="570" /></a></p>
</p>
<h2>28. <a href="http://www.javascriptkit.com/dhtmltutors/structuralcss.shtml" target="_blank">Overview of CSS3 Structural pseudo-classes</a></h2>
<p><a href="http://www.javascriptkit.com/dhtmltutors/structuralcss.shtml" target="_blank"><img height="275" alt="structural-pesudo-css3-useful-webdev-webdesign-resources" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/6377f_structural-pesudo-css3-useful-webdev-webdesign-resources.jpg" width="570" /></a></p>
</p>
<h2>29. <a href="http://www.noupe.com/jquery/5-css3-techniques-for-major-browsers-using-the-power-of-jquery.html" target="_blank">5 CSS3 Techniques For Major Browsers using the Power of jQuery</a></h2>
<p><a href="http://www.noupe.com/jquery/5-css3-techniques-for-major-browsers-using-the-power-of-jquery.html" target="_blank"><img height="252" alt="techniques-css3-useful-webdev-webdesign-resources" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/68e31_techniques-css3-useful-webdev-webdesign-resources.jpg" width="570" /></a></p>
</p>
<h2>30. <a href="http://www.marcofolio.net/webdesign/jslickmenu_a_jquery_plugin_for_slick_css3_menus.html" target="_blank">jSlickmenu: A jQuery plugin for slick CSS3 menus</a></h2>
<p><a href="http://www.marcofolio.net/webdesign/jslickmenu_a_jquery_plugin_for_slick_css3_menus.html" target="_blank"><img height="244" alt="slick-jquery-menu-css3-useful-webdev-webdesign-resources" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/48293_slick-jquery-menu-css3-useful-webdev-webdesign-resources.jpg" width="570" /></a></p>
<p><a href="http://demo.marcofolio.net/slick_jquery_css3_menu/default.html" target="_blank">View Demo</a></p>
</p>
<h2>31. <a href="http://group.mind-productions.com/articles/multiple_backgrounds__css3_/" target="_blank">Multiple Backgrounds (CSS3)</a></h2>
<p><a href="http://group.mind-productions.com/articles/multiple_backgrounds__css3_/" target="_blank"><img height="215" alt="multiple-backgrounds-css3-useful-webdev-webdesign-resources" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/f512e_multiple-backgrounds-css3-useful-webdev-webdesign-resources.jpg" width="570" /></a></p>
</p>
<p><a href="http://www.zenelements.com/blog/css3-background-images/" target="_blank"></a></p>
<h2>32. <a href="http://www.the-art-of-web.com/css/border-radius/" target="_blank">CSS: border-radius and -moz-border-radius</a></h2>
<p><a href="http://www.the-art-of-web.com/css/border-radius/" target="_blank"><img height="256" alt="border-radius-moz-css3-useful-webdev-webdesign-resources" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/8c999_border-radius-moz-css3-useful-webdev-webdesign-resources.jpg" width="570" /></a></p>
</p>
<h2>33. <a href="http://www.modernizr.com/" target="_blank">Modernizr</a></h2>
<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>
<p><a href="http://www.modernizr.com/" target="_blank"><img height="269" alt="modernizr-css3-useful-webdev-webdesign-resources" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/c0d58_modernizr-css3-useful-webdev-webdesign-resources.jpg" width="570" /></a></p>
<p>Related posts:
<ol>
<li><a href="http://www.1stwebdesigner.com/tutorials/53-jquery-tutorials-resources-tips-and-tricks-ultimate-collection/" rel="bookmark" title="Permanent Link: 55 Jquery Tutorials, Resources, Tips And Tricks: Ultimate Collection">55 Jquery Tutorials, Resources, Tips And Tricks: Ultimate Collection</a></li>
<li><a href="http://www.1stwebdesigner.com/css/advanced-css-text-effects-web-typography-tips/" rel="bookmark" title="Permanent Link: 22 Advanced CSS Text Effects And Web Typography Tips">22 Advanced CSS Text Effects And Web Typography Tips</a></li>
<li><a href="http://www.1stwebdesigner.com/development/google-adsense-monetizing-traffic-testing-tips-tricks-and-resources/" rel="bookmark" title="Permanent Link: Google Adsense Monetizing, Traffic, Testing Tips, Tricks And Resources">Google Adsense Monetizing, Traffic, Testing Tips, Tricks And Resources</a></li>
<li><a href="http://www.1stwebdesigner.com/css/35-websites-to-teach-you-how-to-use-css-effectively/" rel="bookmark" title="Permanent Link: 35 Websites To Teach You How To Use CSS Effectively">35 Websites To Teach You How To Use CSS Effectively</a></li>
<li><a href="http://www.1stwebdesigner.com/tutorials/easy-brush-text-nature-effect-tutorial/" rel="bookmark" title="Permanent Link: Easy Brush Text Nature Effect: Tutorial">Easy Brush Text Nature Effect: Tutorial</a></li>
</ol>
<div>
<a href="http://feeds.feedburner.com/~ff/1stwebdesigner?a=84amXDC_f2U:9byC6Bm_tG4:yIl2AUoC8zA"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/c0d58_1stwebdesigner?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/1stwebdesigner?a=84amXDC_f2U:9byC6Bm_tG4:7Q72WNTAKBA"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/dd660_1stwebdesigner?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/1stwebdesigner?a=84amXDC_f2U:9byC6Bm_tG4:F7zBnMyn0Lo"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/86a39_1stwebdesigner?i=84amXDC_f2U:9byC6Bm_tG4:F7zBnMyn0Lo" border="0"></img></a>
</div>
<p><a href="http://www.1stwebdesigner.com/feed/">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/33-must-read-css3-tips-tricks-tutorial-sites-and-articles/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>10 resources to get the most out of the CSS text-shadow property</title>
		<link>http://www.neurosoftware.ro/programming-blog/facebook-web-design/php/10-resources-to-get-the-most-out-of-the-css-text-shadow-property/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/facebook-web-design/php/10-resources-to-get-the-most-out-of-the-css-text-shadow-property/#comments</comments>
		<pubDate>Wed, 09 Dec 2009 11:26:30 +0000</pubDate>
		<dc:creator>Facebook-Web-Design</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[cross browser compatibility]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[experimental effects]]></category>
		<category><![CDATA[Mac OS]]></category>
		<category><![CDATA[mac os x]]></category>
		<category><![CDATA[property]]></category>
		<category><![CDATA[raquo]]></category>
		<category><![CDATA[Read]]></category>
		<category><![CDATA[text]]></category>
		<category><![CDATA[text shadow]]></category>
		<category><![CDATA[text shadows]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/facebook-web-design/php/10-resources-to-get-the-most-out-of-the-css-text-shadow-property/</guid>
		<description><![CDATA[Create a Letterpress Effect with CSS Text-Shadow Let&#8217;s start this list of tutorials with one that will definitely show you the potential of the text-shadow property. In this tutorial, you&#8217;ll learn how to create a stunning (and very popular theses days) text effect using CSS and the text-shadow property. &#187; Read tutorial Creating cross browser [...]]]></description>
			<content:encoded><![CDATA[<h2>Create a Letterpress Effect with CSS Text-Shadow</h2>
<p>Let&#8217;s start this list of tutorials with one that will definitely show you the potential of the <em>text-shadow</em> property. In this tutorial, you&#8217;ll learn how to create a stunning (and very popular theses days) text effect using CSS and the <em>text-shadow</em> property.<br />
<img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/7536d_1.jpg" alt="" /><br />
<strong>&raquo; <a href="http://line25.com/tutorials/create-a-letterpress-effect-with-css-text-shadow" target="blank">Read tutorial</a></strong></p>
<h2>Creating cross browser compatible CSS text shadows</h2>
<p>As <em>text-shadow</em> is a part of CSS3, some browsers (who said IE??) didn&#8217;t implemented it yet and you have to use some hacks to make it work properly.<br />
The following article will show you how to create cross browser text shadows.<br />
<img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/7536d_3.jpg" alt="" /><br />
<strong>&raquo; <a href="http://www.workingwith.me.uk/articles/css/cross-browser-drop-shadows" target="blank">Read tutorial</a></strong></p>
<h2>Improve the Quality of Bold Text in Safari with text-shadow</h2>
<p>Although Mac OS X have a pretty good font rendering engine, bold text in Safari is often a bit dirty. Did you know that using the <em>text-shadow</em> property you can create beautiful bolds? This article will show you how to do.<br />
<img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/371a9_2.jpg" alt="" /><br />
<strong>&raquo; <a href="http://www.usabilitypost.com/2008/08/10/improve-quality-of-bold-text-in-safari-with-text-shadow/" target="blank">Read tutorial</a></strong></p>
<h2>CSS text-shadow Fun: Realtime Lighting Demo</h2>
<p>Using the <em>text-shadow</em> CSS property as well as some JavaScript, funny experimental effects can be created. If you haven&#8217;t already, you can definitely say goodbye to Flash.<br />
<img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/d7db3_4.jpg" alt="" /><br />
<strong>&raquo; <a href="http://www.zachstronaut.com/posts/2009/06/22/css-text-shadow-lighting-demo.html" target="">Read tutorial</a></strong></p>
<h2>Cross browser text shadow</h2>
<p>The <em>filter</em> non-standard property, which have been created by Microsoft, can fix some compatibility issues of IE 6, 7 and 8.<br />
This interesting article will show you how to efficiently use the <em>filter</em> property to create text effects similar to those you can get with <em>text-shadow</em>.<br />
<img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/d7db3_5.jpg" alt="" /><br />
<strong>&raquo; <a href="http://kilianvalkhof.com/2008/design/almost-cross-browser-text-shadow/" target="blank">Read tutorial</a></strong></p>
<h2>Mootools text drop-shadow</h2>
<p>When you need a full cross-browser compatibility and still want to use CSS3 properties, JavaScript is always here to help. This tutorial will show you how to recreate the <em>text-shadow</em> CSS property using the MooTools JavaScript framework.<br />
<img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/d7db3_6.jpg" alt="" /><br />
<strong>&raquo; <a href="http://pr0digy.com/mootools/text-dropshadows/" target="blank">Read tutorial</a></strong></p>
<h2>Text embossing technique with CSS</h2>
<p>Text embossing is very popular in the world of web design and front-end web development. Indeed, even if I&#8217;m quite bored to see it on so many websites, it looks very nice.<br />
And it is also very easy to implement. Just read this tutorial and you&#8217;ll know how to do.<br />
<img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/052b7_7.jpg" alt="" /><br />
<strong>&raquo; <a href="http://www.reynoldsftw.com/2009/03/text-embossing-technique-with-css/" target="">Read tutorial</a></strong></p>
<h2>Photoshop like effects using CSS</h2>
<p>Some browsers allow multiple values to the <em>text-shadow</em> property, which allow you to create effects like this one. I don&#8217;t think I&#8217;ll implement that kind of effect on my websites, but I&#8217;m happy to know how I can do it.<br />
<img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/052b7_8.jpg" alt="" /><br />
<strong>&raquo; <a href="http://www.css3.info/preview/text-shadow/" target="">Read tutorial</a></strong></p>
<h2>&#8220;Acid&#8221; text effect using text-shadow</h2>
<p>Another nice text effect created using the <em>text-shadow</em> property. The page is in German, but happily everyone can understand the CSS code.<br />
<img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/052b7_9.jpg" alt="" /><br />
<strong>&raquo; <a href="http://webdemar.com/webdesign/xhtml-css/beeindruckende-effekte-mit-der-css-eigenschaft-text-shadow/" target="">Read tutorial</a></strong></p>
<h2>Super awesome buttons with CSS3</h2>
<p>CSS buttons are very cool and they are a nice way to use your CSS3 skills. In this very nice tutorial, you&#8217;ll learn how to create stunning buttons using <em>text-shadow</em> and a few other CSS3 properties.<br />
<img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/4f771_10.jpg" alt="" /><br />
<strong>&raquo; <a href="http://www.zurb.com/article/266/super-awesome-buttons-with-css3-and-rgba" target="">Read tutorial</a></strong></p>
<p><em>Get 20% off on the <a href="http://www.wprecipes.com/myhomepro.html">MyHomePro Premium WordPress Theme</a> by using this exclusive code: <strong>wpcats20</strong>.</em></p>
<p><a href="http://www.catswhocode.com/blog/10-resources-to-get-the-most-out-of-the-css-text-shadow-property">10 resources to get the most out of the CSS text-shadow property</a></p>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/4f771_0nS2-POcTFw" height="1" width="1" /><br />
<a href="http://feeds2.feedburner.com/Catswhocode">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/facebook-web-design/php/10-resources-to-get-the-most-out-of-the-css-text-shadow-property/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Access Javascript Object Variable&#160;Properties</title>
		<link>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/access-javascript-object-variableproperties/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/access-javascript-object-variableproperties/#comments</comments>
		<pubDate>Wed, 25 Nov 2009 14:50:04 +0000</pubDate>
		<dc:creator>Facebook-Web-Design</dc:creator>
				<category><![CDATA[web resources]]></category>
		<category><![CDATA[david walsh]]></category>
		<category><![CDATA[David Walsh Blog]]></category>
		<category><![CDATA[Don]]></category>
		<category><![CDATA[firebug]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[javascript object]]></category>
		<category><![CDATA[javascript objects]]></category>
		<category><![CDATA[MyObject]]></category>
		<category><![CDATA[property]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[var]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/access-javascript-object-variableproperties/</guid>
		<description><![CDATA[Not all javascript objects are as easy as MyObject.property. Sometimes you may want to access a property whose key is stored in a variable. Luckily accessing these properties is very easy. Javascript Object Property Accessing Example /* setting */ var myObject = { left : 30, top: 20 }; /* basic access */ var left [...]]]></description>
			<content:encoded><![CDATA[<p>Not all javascript objects are as easy as MyObject.property.  Sometimes you may want to access a property whose key is stored in a variable.  Luckily accessing these properties is very easy.</p>
<h2>Javascript Object Property Accessing Example</h2>
<pre>
/* setting */
var myObject = {
	left : 30,
	top: 20
};
/* basic access */
var left = myObject.left; //OR
var left = myObject['left'];

/* accessing it or variables */
var mode = 'vertical';
var value = myObject[mode == 'horizontal' ? 'left' : 'top'];
</pre>
<p>You may use array-style syntax to access an object&#8217;s properties.  The string within brackets returns the properties.</p>
<div>
                                <a href="http://davidwalsh.name/wp-content/plugins/as-pdf/generate.php?post=4252"><br />
                                    <span>Download PDF</span><br />
                                </a>
                            </div>
<p>Don&#8217;t forget to <a href="http://twitter.com/davidwalshblog">follow me on Twitter</a> and be sure to visit <a href="http://scriptandstyle.com">Script &amp; Style</a> for the best Javascript and CSS articles around!</p>
<p><a href="http://buysellads.com/buy/detail/1687">Sponsor the David Walsh Blog</a> and get your brand in front of several thousand users per day!</p>
<p><a href="http://davidwalsh.name/access-object-properties">Access Javascript Object Variable&nbsp;Properties</a></p>
<p>Related posts:
<ol>
<li><a href="http://davidwalsh.name/javascript-arrays-brackets-braces" rel="bookmark" title="Permanent Link: Javascript Arrays: The Difference Between [] and { }">Javascript Arrays: The Difference Between [] and {&nbsp;}</a></li>
<li><a href="http://davidwalsh.name/parse-code-regex" rel="bookmark" title="Permanent Link: Code-Parsing Regular Expressions via Lighter.js">Code-Parsing Regular Expressions via&nbsp;Lighter.js</a></li>
<li><a href="http://davidwalsh.name/implementing-array-count-method-javascript" rel="bookmark" title="Permanent Link: Implementing an Array.count() Method in Javascript">Implementing an Array.count() Method in&nbsp;Javascript</a></li>
<li><a href="http://davidwalsh.name/window-object-dump" rel="bookmark" title="Permanent Link: MooTools Window Object Dumping">MooTools Window Object&nbsp;Dumping</a></li>
<li><a href="http://davidwalsh.name/firebug-console-log" rel="bookmark" title="Permanent Link: Logging Information to the Firebug Javascript Console">Logging Information to the Firebug Javascript&nbsp;Console</a></li>
</ol>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/a8555_V_GeuV_NTEA" height="1" width="1" /><br />
<a href="http://davidwalsh.name/feed/atom">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/access-javascript-object-variableproperties/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rentate &#8211; Manage property yourself. Only better.</title>
		<link>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/rentate-manage-property-yourself-only-better/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/rentate-manage-property-yourself-only-better/#comments</comments>
		<pubDate>Wed, 18 Nov 2009 12:50:08 +0000</pubDate>
		<dc:creator>Facebook-Web-Design</dc:creator>
				<category><![CDATA[web resources]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[online]]></category>
		<category><![CDATA[property]]></category>
		<category><![CDATA[property management system]]></category>
		<category><![CDATA[property owner]]></category>
		<category><![CDATA[Rentate]]></category>
		<category><![CDATA[system]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/rentate-manage-property-yourself-only-better/</guid>
		<description><![CDATA[Rentate is the online property management system designed for any size property owner. It is too simple to manage, yet too sophisticated to rely. http://www.rentate.com/ Go to Source]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.rentate.com/" title="Rentate"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/6ebd4_www.rentate.com.jpg" alt="Rentate - Manage property yourself. Only better. " width="254px" height="173px" /></a></p>
<p>Rentate is the online property management system designed for any size property owner. It is too simple to manage, yet too sophisticated to rely.</p>
<p><a href="http://www.rentate.com/">http://www.rentate.com/</a></p>
<p><a href="http://feedads.g.doubleclick.net/~a/6Jp-qhZbP3Tl0s1xOH4OYjDry4Y/0/da"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/387ed_di" border="0"></img></a><br />
<a href="http://feedads.g.doubleclick.net/~a/6Jp-qhZbP3Tl0s1xOH4OYjDry4Y/1/da"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/387ed_di" border="0"></img></a></p>
<div>
<a href="http://feeds.feedburner.com/~ff/feedmyapp?a=UTywpmyzfnQ:4I_Yj61Cl2g:bcOpcFrp8Mo"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/387ed_feedmyapp?d=bcOpcFrp8Mo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/feedmyapp?a=UTywpmyzfnQ:4I_Yj61Cl2g:I9og5sOYxJI"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/387ed_feedmyapp?d=I9og5sOYxJI" border="0"></img></a>
</div>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/25fd4_UTywpmyzfnQ" height="1" width="1" /><br />
<a href="http://feeds2.feedburner.com/feedmyapp">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/rentate-manage-property-yourself-only-better/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Vendor-specific extensions are invalid CSS</title>
		<link>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/vendor-specific-extensions-are-invalid-css/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/vendor-specific-extensions-are-invalid-css/#comments</comments>
		<pubDate>Mon, 16 Nov 2009 22:55:26 +0000</pubDate>
		<dc:creator>BlogPoster</dc:creator>
				<category><![CDATA[web resources]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[css specification]]></category>
		<category><![CDATA[css web]]></category>
		<category><![CDATA[grammar]]></category>
		<category><![CDATA[property]]></category>
		<category><![CDATA[property names]]></category>
		<category><![CDATA[Read]]></category>
		<category><![CDATA[Use]]></category>
		<category><![CDATA[Vendor-specific]]></category>
		<category><![CDATA[web standards]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/vendor-specific-extensions-are-invalid-css/</guid>
		<description><![CDATA[Vendor-specific extensions, even if written according to the CSS 2.1 grammar, use property names and values that are not defined in the CSS specification and are invalid. Read full post Posted in CSS, Web Standards. Go to Source]]></description>
			<content:encoded><![CDATA[<p>Vendor-specific extensions, even if written according to the CSS 2.1 grammar, use property names and values that are not defined in the CSS specification and are invalid.
<p><a href="http://www.456bereastreet.com/archive/200911/vendor-specific_extensions_are_invalid_css/">Read full post</a></p>
<p>Posted in <a href="http://www.456bereastreet.com/archive/categories/css/" rel="tag">CSS</a>, <a href="http://www.456bereastreet.com/archive/categories/web_standards/" rel="tag">Web Standards</a>.</p>
<p><a href="http://feedads.g.doubleclick.net/~a/QeyVXx3azdrG0pMpZlBgg3hrkTg/0/da"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/86536_di" border="0"></img></a><br />
<a href="http://feedads.g.doubleclick.net/~a/QeyVXx3azdrG0pMpZlBgg3hrkTg/1/da"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/86536_di" border="0"></img></a></p>
<div>
<a href="http://feeds.feedburner.com/~ff/456bereastreet?a=wgbfrg9xL-o:qTrF2Ofl9pA:F7zBnMyn0Lo"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/86536_456bereastreet?i=wgbfrg9xL-o:qTrF2Ofl9pA:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/456bereastreet?a=wgbfrg9xL-o:qTrF2Ofl9pA:gIN9vFwOqvQ"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/e6353_456bereastreet?i=wgbfrg9xL-o:qTrF2Ofl9pA:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/456bereastreet?a=wgbfrg9xL-o:qTrF2Ofl9pA:dnMXMwOfBR0"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/e6353_456bereastreet?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/456bereastreet?a=wgbfrg9xL-o:qTrF2Ofl9pA:V_sGLiPBpWU"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/e6353_456bereastreet?i=wgbfrg9xL-o:qTrF2Ofl9pA:V_sGLiPBpWU" border="0"></img></a>
</div>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/e6353_wgbfrg9xL-o" height="1" width="1" /><br />
<a href="http://feeds2.feedburner.com/456bereastreet">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/vendor-specific-extensions-are-invalid-css/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>deCasa: A Premium WordPress Theme for Real Estate</title>
		<link>http://www.neurosoftware.ro/programming-blog/blogposter/design/decasa-a-premium-wordpress-theme-for-real-estate/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/blogposter/design/decasa-a-premium-wordpress-theme-for-real-estate/#comments</comments>
		<pubDate>Fri, 13 Nov 2009 13:45:11 +0000</pubDate>
		<dc:creator>BlogPoster</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[author template]]></category>
		<category><![CDATA[custom]]></category>
		<category><![CDATA[custom search results]]></category>
		<category><![CDATA[custom widgets]]></category>
		<category><![CDATA[deCasa]]></category>
		<category><![CDATA[form validation]]></category>
		<category><![CDATA[google map]]></category>
		<category><![CDATA[image]]></category>
		<category><![CDATA[Nice]]></category>
		<category><![CDATA[property]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[Simon Rimkus]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/blogposter/design/decasa-a-premium-wordpress-theme-for-real-estate/</guid>
		<description><![CDATA[Today we&#8217;re releasing another amazing premium WordPress theme from ThemeShift to our premium members. deCasa is a light and elegant real estate theme. A lot of handy features like a search panel, multi-agent support and a professional property exposée let you easily setup your real estate website. Be sure to check out the other great [...]]]></description>
			<content:encoded><![CDATA[<p>Today we&#8217;re releasing another amazing premium WordPress theme from <a href="http://themeshift.com">ThemeShift</a> to our <a href="http://webdesignledger.com/wdl-premium">premium members</a>. deCasa is a light and elegant real estate theme. A lot of handy features like a search panel, multi-agent support and a professional property exposée let you easily setup your real estate website. <span></span></p>
<p>Be sure to check out the other <a href="http://themeshift.com/themes/">great themes by ThemeShift</a>.</p>
<p><a href="http://themeshift.com/themes/"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/45540_themeshift_logo.jpg" /></a></p>
<p>Click the image for a live demo.</p>
<p><a href="http://demo.themeshift.com/decasa/" target="_blank"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/1b828_decasa_1.jpg" /></a></p>
<h3>Custom Search Panel</h3>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/a9e47_decasa_2.jpg" /></p>
<p>The most important feature of a real estate site is the search. deCasa comes with a custom search panel that lets your user easily browse your properties by keyword search or category select drop downs.</p>
<h3>Built-In Google Map</h3>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/3450d_decasa_3.jpg" /></p>
<p>Based on the address provided for the object details deCasa automatically generates a Google Map pointing at the location of the property. You can optionally hide the map on the entire site or for individual properties.</p>
<h3>Property Image Gallery</h3>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/bc236_decasa_4.jpg" /></p>
<p>Creating a professional image gallery for real estate objects is really easy with deCasa. Just provide the URLs of your property photos and deCasa generates a gallery with automatically resized images and a zoom view in a lightbox.</p>
<h3>Full Feature List</h3>
<ul>
<li>Customizable <a href="http://themeshift.com/wp-content/uploads/2009/10/decasa-header.jpg" rel="prettyPhoto[decasa]" title="Customizable Header Section">header section</a></li>
<li>Customizable <a href="http://themeshift.com/wp-content/uploads/2009/10/decasa-panel.jpg" rel="prettyPhoto[decasa]" title="Customizable Search Panel">search panel</a></li>
<li>Searchable custom fields</li>
<li><a href="http://themeshift.com/wp-content/uploads/2009/10/decasa-featured.jpg" rel="prettyPhoto[decasa]" title="Featured Properties">Featured properties</a> on home page</li>
<li>Custom <a href="http://themeshift.com/wp-content/uploads/2009/10/decasa-widgets.jpg" rel="prettyPhoto[decasa]" title="Custom Widgets">widgets</a> (recent properties, recent news)</li>
<li>Muli-level <a href="http://themeshift.com/wp-content/uploads/2009/10/decasa-dropdown.jpg" rel="prettyPhoto[decasa]" title="Multi-level Dropdown Menu">dropdown</a> menu</li>
<li>Menu control (exclude home link, categories and/or pages)</li>
<li>Layout options (background, <a href="http://themeshift.com/wp-content/uploads/2009/10/button-color1.jpg" rel="prettyPhoto[decasa]" title="Button Color">button color</a>)</li>
<li>Nice <a href="http://themeshift.com/wp-content/uploads/2009/10/decasa-exposee.jpg" rel="prettyPhoto[decasa]" title="Nice Property Exposée">property exposée</a></li>
<li>Automatic image resizing</li>
<li>Property <a href="http://themeshift.com/wp-content/uploads/2009/10/decasa-gallery.jpg" rel="prettyPhoto[decasa]" title="Property Image Gallery">image gallery</a></li>
<li>Built-in <a href="http://themeshift.com/wp-content/uploads/2009/10/decasa-contact.jpg" rel="prettyPhoto[decasa]" title="Built-in Contact Form">contact form</a></li>
<li>Built-in <a href="http://themeshift.com/wp-content/uploads/2009/10/decasa-map.jpg" rel="prettyPhoto[decasa]" title="Google Map">Google Map</a> to display porperty location</li>
<li>Custom <a href="http://themeshift.com/wp-content/uploads/2009/10/decasa-search-results.jpg" rel="prettyPhoto[decasa]" title="Custom Search Results">search results</a></li>
<li>Custom page template: <a href="http://themeshift.com/wp-content/uploads/2009/10/decasa-agents-list.jpg" rel="prettyPhoto[decasa]" title="Custom Page Template: Agents List">list all agents</a></li>
<li>Custom author template: <a href="http://themeshift.com/wp-content/uploads/2009/10/decasa-agent-listings.jpg" rel="prettyPhoto[decasa]" title="Custom Author Template: Agent's Listings">agents listings</a></li>
<li>Optional <a href="http://themeshift.com/wp-content/uploads/2009/10/decasa-news.jpg" rel="prettyPhoto[decasa]" title="Optional News / Blog Section">news / blog section</a></li>
<li><a href="http://themeshift.com/wp-content/uploads/2009/10/decasa-comments.jpg" rel="prettyPhoto[decasa]" title="Threaded Comments">Threaded comments</a></li>
<li><a href="http://themeshift.com/wp-content/uploads/2009/10/decasa-search-validation.jpg" rel="prettyPhoto[decasa]" title="Search Form Validation">Search form</a> validation</li>
<li><a href="http://themeshift.com/wp-content/uploads/2009/10/decasa-comment-validation.jpg" rel="prettyPhoto[decasa]" title="Comment Form Validation">Comment form</a> validation</li>
<li><a href="http://themeshift.com/wp-content/uploads/2009/10/decasa-paging.jpg" rel="prettyPhoto[decasa]" title="CSS Styles for WP-PageNavi Plugin">CSS styles</a> for WP-PageNavi plugin &#8211; activate and you&#8217;re done (see <a href="http://wordpress.org/extend/plugins/wp-pagenavi/">plugin page</a>)</li>
<li>Theme <a href="http://themeshift.com/wp-content/uploads/2009/10/decasa-theme-options.jpg" rel="prettyPhoto[decasa]" title="Theme Options Page">options page</a></li>
<li><a href="http://themeshift.com/wp-content/uploads/2009/10/decasa-post-settings.jpg" rel="prettyPhoto[decasa]" title="Post Settings Custom Meta Box">Post settings</a> custom meta box</li>
</ul>
<h3>Download deCasa</h3>
<p>
<div>
<h5>Premium Member</h5>
<p>You must be a WDL Premium member to accesss the rest of this article. </p>
<p><a href="http://webdesignledger.com/wdl-premium">Sign Up</a> <a href="http://webdesignledger.com/wp-login.php">Login</a></div>
</p>
<h3>About this Partner</h3>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/f62f5_ts.jpg" alt="ThemeShift" width="50" height="50" class="alignleft " style="float: left;margin: 0px 10px 5px 0" /><a href="http://themeshift.com">Themeshift</a> is a WordPress theme shop operated by Simon Rimkus. His themes are beautifully designed and of the highest quality.</p>
<p><a href="http://feeds.feedburner.com/WebDesignLedger">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/blogposter/design/decasa-a-premium-wordpress-theme-for-real-estate/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Basics of Object-Oriented JavaScript</title>
		<link>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/the-basics-of-object-oriented-javascript/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/the-basics-of-object-oriented-javascript/#comments</comments>
		<pubDate>Wed, 11 Nov 2009 14:32:12 +0000</pubDate>
		<dc:creator>BlogPoster</dc:creator>
				<category><![CDATA[web resources]]></category>
		<category><![CDATA[Constructor]]></category>
		<category><![CDATA[constructor function]]></category>
		<category><![CDATA[core language]]></category>
		<category><![CDATA[DOM]]></category>
		<category><![CDATA[function]]></category>
		<category><![CDATA[javascript object]]></category>
		<category><![CDATA[myProperty]]></category>
		<category><![CDATA[object orientated]]></category>
		<category><![CDATA[property]]></category>
		<category><![CDATA[real foundation]]></category>
		<category><![CDATA[var]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/the-basics-of-object-oriented-javascript/</guid>
		<description><![CDATA[Over recent years, JavaScript has increasingly gained popularity, partly due to libraries that are developed to make JavaScript apps/effects easier to create for those who may not have fully grasped the core language yet. While in the past it was a common argument that JavaScript was a basic language and was very &#8217;slap dash&#8217; with [...]]]></description>
			<content:encoded><![CDATA[<p>Over recent years, JavaScript has increasingly gained popularity, partly due to libraries that are developed to make JavaScript apps/effects easier to create for those who may not have fully grasped the core language yet. </p>
<p>While in the past it was a common argument that JavaScript was a basic language and was very &#8217;slap dash&#8217; with no real foundation; this is no longer the case, especially with the introduction of high scale web applications and &#8216;adaptations&#8217; such as JSON (JavaScript Object Notation). </p>
<p><span></span></p>
<p>JavaScript can have all that an Object-Orientated language has to offer, albeit with some extra effort outside of the scope of this article. </p>
<h3>Let&#8217;s Create an Object</h3>
<pre>
    function myObject(){

    };
</pre>
<p>Congratulations, you just created an object. There are two ways to<br />
create a JavaScript object: they are &#8216;Constructor functions&#8217; and<br />
&#8216;Literal notation&#8217;. The one above is a Constructor function,<br />
I&#8217;ll explain what the difference is shortly, but before I do, here<br />
is what an Object definition looks like using literal notation.</p>
<pre>
    var myObject = {

    };
</pre>
<p>Literal is a preferred option for name spacing so that your JavaScript<br />
code doesn&#8217;t interfere (or vice versa) with other scripts running on the<br />
page and also if you are using this object as a single object and not requiring<br />
more than one instance of the object, whereas Constructor function type<br />
notation is preferred if you need to do some initial work before the object<br />
is created or require multiple instances  of the object where each instance<br />
can be changed during the lifetime of the script. Let&#8217;s continue to build<br />
on both our objects simultaneously so we can observe what the differences are.</p>
<h3>Defining Methods and Properties</h3>
<h4>Constructor version:</h4>
<pre>
    function myObject(){
        this.iAm = 'an object';
        this.whatAmI = function(){
            alert('I am ' + this.iAm);
        };
    };
</pre>
<h4>Literal version:</h4>
<pre>
    var myObject = {
        iAm : 'an object',
        whatAmI : function(){
            alert('I am ' + this.iAm);
        }
    }
</pre>
<p>For each of the objects we have created a property &#8216;iAm&#8217; which contains a<br />
string value that is used in our objects method &#8216;whatAmI&#8217; which alerts a message. </p>
<blockquote>
<p>
Properties are variables created inside an object and methods are functions created inside an object.
</p>
</blockquote>
<p>Now is probably as good a time as any to explain how to use properties and<br />
methods (although you would already have done so if you are familiar with a library).</p>
<p>To use a property first you type what object it belongs to &#8211; so in this case it&#8217;s myObject &#8211;<br />
and then to reference its internal properties, you put a full stop and then the name of the<br />
property so it will eventually look like myObject.iAm (this will return &#8216;an object&#8217;).</p>
<p>For methods, it is the same except to execute the method, as with any function, you must<br />
put parenthesis after it; otherwise you will just be returning a reference to the function<br />
and not what the function actually returns. So it will look like myObject.whatAmI()<br />
(this will alert &#8216;I am an object&#8217;).</p>
<h4>Now for the differences:</h4>
<ul>
<li>The constructor object has its properties and methods defined with the<br />
    keyword &#8216;this&#8217; in front of it, whereas the literal version does not.</li>
<li>In the constructor object the properties/methods have their &#8216;values&#8217;<br />
    defined after an equal sign &#8216;=&#8217; whereas in the literal version, they are<br />
    defined after a colon &#8216;:&#8217;.</li>
<li>The constructor function can have (optional) semi-colons &#8216;;&#8217; at the<br />
    end of each property/method declaration whereas in the literal version<br />
    if you have more than one property or method, they MUST be separated with<br />
    a comma &#8216;,&#8217;, and they CANNOT have semi-colons after them, otherwise JavaScript will return an error.</li>
</ul>
<p>There is also a difference between the way these two types of object declarations are used.</p>
<p>To use a literally notated object, you simply use it by referencing its variable name,<br />
so wherever it is required you call it by typing;</p>
<pre>
    myObject.whatAmI();
</pre>
<p>With constructor functions you need to instantiate (create a new instance of)<br />
the object first; you do this by typing;</p>
<pre>
    var myNewObject = new myObject();
    myNewObject.whatAmI();
</pre>
<h3>Using a Constructor Function.</h3>
<p>Let&#8217;s use our previous constructor function and build upon it so it performs some basic<br />
(but dynamic) operations when we instantiate it.</p>
<pre>
    function myObject(){
        this.iAm = 'an object';
        this.whatAmI = function(){
            alert('I am ' + this.iAm);
        };
    };
</pre>
<p>Just like any JavaScript function, we can use arguments with our constructor function;</p>
<pre>
function myObject(what){
	this.iAm = what;
	this.whatAmI = function(language){
		alert('I am ' + this.iAm + ' of the ' + language + ' language');
	};
};
</pre>
<p>Now let&#8217;s instantiate our object and call its whatAmI method, filling in the required<br />
fields as we do so.</p>
<pre>
    var myNewObject = new myObject('an object');
    myNewObject.whatAmI('JavaScript');
</pre>
<p>This will alert &#8216;I am an object of the JavaScript language.&#8217;</p>
<h3>To Instantiate or not to Instantiate</h3>
<p>I mentioned earlier about the differences between Object Constructors and Object Literals and that<br />
when a change is made to an Object Literal it affects that object across the entire script, whereas when<br />
a Constructor function is instantiated and then a change is made to that instance, it won&#8217;t affect any<br />
other instances of that object. Let&#8217;s try an example;</p>
<p>First we will create an Object literal;</p>
<pre>
	var myObjectLiteral = {
    	myProperty : 'this is a property'
    }

    //alert current myProperty
    alert(myObjectLiteral.myProperty); //this will alert 'this is a property'

    //change myProperty
    myObjectLiteral.myProperty = 'this is a new property';

    //alert current myProperty
    alert(myObjectLiteral.myProperty); //this will alert 'this is a new property', as expected
</pre>
<p>Even if you create a new variable and point it towards the object, it will have the same effect.</p>
<pre>
	var myObjectLiteral = {
    	myProperty : 'this is a property'
    }

    //alert current myProperty
    alert(myObjectLiteral.myProperty); //this will alert 'this is a property'

    //define new variable with object as value
    var sameObject = myObjectLiteral;

    //change myProperty
    myObjectLiteral.myProperty = 'this is a new property';

    //alert current myProperty
    alert(sameObject.myProperty); //this will still alert 'this is a new property'
</pre>
<p>Now let&#8217;s try a similar exercise with a Constructor function.</p>
<pre>
	//this is one other way of creating a Constructor function
	var myObjectConstructor = function(){
    	this.myProperty = 'this is a property'
    }

    //instantiate our Constructor
    var constructorOne = new myObjectConstructor();

    //instantiate a second instance of our Constructor
    var constructorTwo = new myObjectConstructor();

    //alert current myProperty of constructorOne instance
    alert(constructorOne.myProperty); //this will alert 'this is a property'

     //alert current myProperty of constructorTwo instance
    alert(constructorTwo.myProperty); //this will alert 'this is a property'
</pre>
<p>So as expected, both return the correct value, but let&#8217;s change the myProperty for one of the instances.</p>
<pre>
	//this is one other way of creating a Constructor function
	var myObjectConstructor = function(){
    	this.myProperty = 'this is a property'
    }

    //instantiate our Constructor
    var constructorOne = new myObjectConstructor();

    //change myProperty of the first instance
    constructorOne.myProperty = 'this is a new property';

    //instantiate a second instance of our Constructor
    var constructorTwo = new myObjectConstructor();

    //alert current myProperty of constructorOne instance
    alert(constructorOne.myProperty); //this will alert 'this is a new property'

     //alert current myProperty of constructorTwo instance
    alert(constructorTwo.myProperty); //this will still alert 'this is a property'
</pre>
<p>As you can see from this example, even though we changed the property of constructorOne<br />
it didn&#8217;t affect myObjectConstructor and therefore didn&#8217;t affect constructorTwo. Even if<br />
constructorTwo was instantiated before we changed the myProperty property of constructorOne,<br />
it would still not affect the myProperty property of constructorTwo as it is a completely different<br />
instance of the object within JavaScript&#8217;s memory.</p>
<p>So which one should you use? Well it depends on the situation, if you only need one object of its kind for<br />
your script (as you will see in our example at the end of this article), then use an object literal, but if you need several instances of an object, where each instance<br />
is independent of the other and can have different properties or methods depending on the way it&#8217;s constructed, then use a constructor function.</p>
<h3>This and That</h3>
<p>While explaining constructor functions, there were a lot of &#8216;this&#8217; keywords being thrown around<br />
and I figure what better time to talk about scope!</p>
<p>Now you might be asking &#8216;what is this scope you speak of&#8217;?&#8217; Scope in JavaScript is function/object based, so that means if you&#8217;re outside<br />
of a function, you can&#8217;t use a variable that is defined inside a function (unless you use a closure).</p>
<p>There is however a scope chain, which means that a function inside another function can access a<br />
variable defined in its parent function. Let&#8217;s take a look at some example code.</p>
<pre>
&lt;script type="text/javascript"&gt;

var var1 = 'this is global and is available to everyone';

function function1(){

	var var2 = 'this is only available inside function1 and function2';	

	function function2(){

		var var3 = 'this is only available inside function2';

	}		

}

&lt;/script&gt;
</pre>
<p>As you can see in this example, <strong>var1</strong> is defined in the global object<br />
and is available to all functions and object, <strong>var2</strong> is defined inside function1<br />
and is available to function1 and function2, but if you try to reference it from the global object<br />
it will give you the error &#8216;var2 is undefined&#8217;, <strong>var3</strong> is only accessible to function2.</p>
<p>So what does &#8216;this&#8217; reference? Well in a browser, &#8216;this&#8217; references the window object, so technically<br />
the window is our global object. If we&#8217;re inside an object, &#8216;this&#8217; will refer to the object itself however<br />
if you&#8217;re inside a function, this will still refer to the window object and likewise if you&#8217;re inside a method<br />
that is within an object, &#8216;this&#8217; will refer to the object.</p>
<p>Due to our scope chain, if we&#8217;re inside a sub-object (an object inside an object), &#8216;this&#8217; will refer to<br />
the sub-object and not the parent object.</p>
<p>As a side note, it&#8217;s also worth adding that when using functions like setInterval, setTimeout and eval,<br />
when you execute a function or method via one of these, &#8216;this&#8217; refers to the window object as these are methods of window, so<br />
setInterval() and window.setInterval() are the same.</p>
<p>Ok now that we have that out of the way, let&#8217;s do a real world example and create a<br />
form validation object!</p>
<h3>Real world Usage: A Form Validation Object</h3>
<p>First I must introduce you to the addEvent function which we will create and is a<br />
combination of ECMAScript&#8217;s (Firefox, Safari, etc.. ) addEventListener() function and<br />
Microsoft ActiveX Script&#8217;s attachEvent() function.</p>
<pre>
    function addEvent(to, type, fn){
        if(document.addEventListener){
            to.addEventListener(type, fn, false);
        } else if(document.attachEvent){
            to.attachEvent('on'+type, fn);
        } else {
            to['on'+type] = fn;
        }
    };
</pre>
<p>This creates a new function with three arguments, <strong>to</strong> being the DOM object we are attaching<br />
the event to, <strong>type</strong> being the type of event and <strong>fn</strong> being the function run when<br />
the event is triggered. It first checks whether addEventListener is supported, if so it will use that, if not it will check<br />
for attachEvent and if all else fails you are probably using IE5 or something equally obsolete so<br />
we will add the event directly onto its event property (note: the third option will overwrite any<br />
existing function that may have been attached to the event property while the first two will add<br />
it as an additional function to its event property).</p>
<p>Now let&#8217;s set up our document so it is similar to what you might see when you develop jQuery stuff.</p>
<p>In jQuery you would have;</p>
<pre>
    $(document).ready(function(){
        //all our code that runs after the page is ready goes here
    });
</pre>
<p>Using our addEvent function we have;</p>
<pre>
    addEvent(window, 'load', function(){
		//all our code that runs after the page is ready goes here
	});
</pre>
<p>Now for our Form object.</p>
<pre>
var Form = {

	validClass : 'valid',

	fname : {
		minLength : 1,
		maxLength : 15,
		fieldName : 'First Name'
	},

	lname : {
		minLength : 1,
		maxLength : 25,
		fieldName : 'Last Name'
	},

	validateLength : function(formEl, type){
		if(formEl.value.length &gt; type.maxLength || formEl.value.length &lt; type.minLength ){
			formEl.className = formEl.className.replace(&#039; &#039;+Form.validClass, &#039;&#039;);
			return false;
		} else {
			if(formEl.className.indexOf(&#039; &#039;+Form.validClass) == -1)
			formEl.className += &#039; &#039;+Form.validClass;
			return true;
		}
	},

	validateEmail : function(formEl){
		var regEx = /^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$/;
		var emailTest = regEx.test(formEl.value);
		if (emailTest) {
			if(formEl.className.indexOf(&#039; &#039;+Form.validClass) == -1)
			formEl.className += &#039; &#039;+Form.validClass;
			return true;
		} else {
			formEl.className = formEl.className.replace(&#039; &#039;+Form.validClass, &#039;&#039;);
			return false;
		}
	},		

	getSubmit : function(formID){
		var inputs = document.getElementById(formID).getElementsByTagName(&#039;input&#039;);
		for(var i = 0; i &lt; inputs.length; i++){
			if(inputs[i].type == &#039;submit&#039;){
				return inputs[i];
			}
		}
		return false;
	}			

};
</pre>
<p>So this is quite basic but can easily be expanded upon.</p>
<p>To break this down first we create a new property which is just the string name of our &#8216;valid&#8217; css class<br />
that when applied to the form field, adds valid effects such as a green border. We also define our two sub-objects, <strong>fname</strong> and <strong>lname</strong>,<br />
so we can define their own properties that can be used by methods elsewhere, these properties are <strong>minLength</strong><br />
 which is the minimum amount of characters these fields can have, <strong>maxLength</strong> which is the max characters<br />
 the field can have and <strong>fieldName</strong> which doesn&#8217;t actually get used, but could be grabbed for<br />
 things like identifying the field with a user friendly string in an error message (eg. &#8216;First Name field is required.&#8217;).</p>
<p>Next we create a validateLength method that accepts two arguments: <strong>formEl</strong> the DOM element to validate<br />
and the <strong>type</strong> which refers to one of the sub-object to use (i.e. fname or lname).<br />
This function checks whether the length of the field is between the minLength and maxLength range, if it&#8217;s not<br />
then we remove our valid class (if it exists) from the element and return false, otherwise if it is then we add the valid class and return true.</p>
<p>Then we have a validateEmail method which accepts a DOM element as an arguement, we then test this DOM elements value against an<br />
email type regular expression; again if it passes we add our class and return true and vice versa.</p>
<p>Finally we have a getSubmit method. This method is given the id of the form and then loops through all input elements inside the specified form<br />
to find which one has a type of submit (type=&#8221;submit&#8221;). The reason for this method is to return the submit button so we can<br />
disable it until the form is ready to submit.</p>
<p>Let&#8217;s put this validator object to work on a real form. First we need our HTML.</p>
<pre>
    &lt;body&gt;

    &lt;form id="ourForm"&gt;
        &lt;label&gt;First Name&lt;/label&gt;&lt;input type="text" /&gt;&lt;br /&gt;
        &lt;label&gt;Last Name&lt;/label&gt;&lt;input type="text" /&gt;&lt;br /&gt;
        &lt;label&gt;Email&lt;/label&gt;&lt;input type="text" /&gt;&lt;br /&gt;
        &lt;input type="submit" value="submit" /&gt;
    &lt;/form&gt;

    &lt;/body&gt;
</pre>
<p>Now let&#8217;s access these input objects using JavaScript and validate them when the form submits.</p>
<pre>
addEvent(window, 'load', function(){

	var ourForm = document.getElementById('ourForm');
	var submit_button = Form.getSubmit('ourForm');
	submit_button.disabled = 'disabled';

	function checkForm(){
		var inputs = ourForm.getElementsByTagName('input');
		if(Form.validateLength(inputs[0], Form.fname)){
			if(Form.validateLength(inputs[1], Form.lname)){
				if(Form.validateEmail(inputs[2])){ 					 

						submit_button.disabled = false;
						return true;

				}
			}
		}

		submit_button.disabled = 'disabled';
		return false;

	};

	checkForm();
	addEvent(ourForm, 'keyup', checkForm);
	addEvent(ourForm, 'submit', checkForm);

});
</pre>
<p>Let&#8217;s break down this code.</p>
<p>We wrap our code in the addEvent function so when the window is loaded this script runs.<br />
Firstly we grab our form using its ID and put it in a variable named <strong>ourForm</strong>, then we grab<br />
our submit button (using our Form objects getSubmit method) and put it in a variable named <strong>submit_button</strong>,<br />
and then set the submit buttons disabled attribute to &#8216;disabled&#8217;.</p>
<p>Next we define a checkForm function. This stores all the inputs inside the form field as an array and we attach it to a<br />
variable named.. you guessed it.. <strong>inputs</strong>!<br />
Then it defines some nested if statements which test each of the fields inside the inputs array against our Form methods.<br />
This is the reason we returned true or false in our methods, so if it returns true, we pass that if statement and continue onto the next,<br />
but if it returns false, we exit the if statements.</p>
<p>Following our function definition, we execute the checkForm function when the page initially loads and also attach the function to a keyup event<br />
and a submit event.</p>
<p>You might be asking, why attach to submit if we disabled the submit button. Well if you are focused on an input field and hit the enter key, it will<br />
attempt to submit the form and we need to test for this, hence the reason our checkForm function returns true (submits the form) or false (doesn&#8217;t submit form).</p>
<h3>Conclusion</h3>
<p>So we learned how to define the different object types within JavaScript and create properties and methods within them. We also learned a nifty addEvent function and got to use our object in a basic real world example.</p>
<p>This concludes the basics of JavaScript Object Orientation. Hopefully, this may start you on your way to building your own JavaScript library! If you liked this article and are interested in other JavaScript related topics, post them in the comments as I&#8217;d be happy to continue writing them. Thanks for reading.</p>
<ul>
<li>Follow us on <a href="http://www.twitter.com/nettuts">Twitter</a>, or subscribe to the <a href="http://feeds.feedburner.com/nettuts" title="Nettuts+ RSS Feed">Nettuts+ RSS Feed</a> for the best web development tutorials on the web.</li>
</ul>
<p>

</p>
<p><a href="http://feedads.g.doubleclick.net/~a/phPpAVTNykPlLzqFvCyVCNQUlkY/0/da"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/14f79_di" border="0"></img></a><br />
<a href="http://feedads.g.doubleclick.net/~a/phPpAVTNykPlLzqFvCyVCNQUlkY/1/da"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/14f79_di" border="0"></img></a></p>
<div>
<a href="http://feeds.feedburner.com/~ff/nettuts?a=3BteVwljtmU:3tOHAKH3Wk8:yIl2AUoC8zA"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/14f79_nettuts?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/nettuts?a=3BteVwljtmU:3tOHAKH3Wk8:F7zBnMyn0Lo"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/14f79_nettuts?i=3BteVwljtmU:3tOHAKH3Wk8:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/nettuts?a=3BteVwljtmU:3tOHAKH3Wk8:V_sGLiPBpWU"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/70d24_nettuts?i=3BteVwljtmU:3tOHAKH3Wk8:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/nettuts?a=3BteVwljtmU:3tOHAKH3Wk8:gIN9vFwOqvQ"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/70d24_nettuts?i=3BteVwljtmU:3tOHAKH3Wk8:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/nettuts?a=3BteVwljtmU:3tOHAKH3Wk8:TzevzKxY174"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/70d24_nettuts?d=TzevzKxY174" border="0"></img></a>
</div>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/70d24_3BteVwljtmU" height="1" width="1" /><br />
<a href="http://feedproxy.google.com/nettuts">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/the-basics-of-object-oriented-javascript/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>CSS Backgrounds: 12 Solutions To Common Questions</title>
		<link>http://www.neurosoftware.ro/programming-blog/blogposter/web-design/css-backgrounds-12-solutions-to-common-questions/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/blogposter/web-design/css-backgrounds-12-solutions-to-common-questions/#comments</comments>
		<pubDate>Tue, 10 Nov 2009 23:18:46 +0000</pubDate>
		<dc:creator>BlogPoster</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[web design]]></category>
		<category><![CDATA[background]]></category>
		<category><![CDATA[background colors]]></category>
		<category><![CDATA[background properties]]></category>
		<category><![CDATA[css selector]]></category>
		<category><![CDATA[element]]></category>
		<category><![CDATA[hex value]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[image]]></category>
		<category><![CDATA[parent element]]></category>
		<category><![CDATA[property]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/blogposter/web-design/css-backgrounds-12-solutions-to-common-questions/</guid>
		<description><![CDATA[CSS backgrounds are an important part of web design. The property is where you add the colors and images that sit behind your content, which controls much of the aesthetics of your site. Remove your CSS backgrounds and your site will probably be text on a white background. While relatively easy to understand, CSS backgrounds [...]]]></description>
			<content:encoded><![CDATA[<p>CSS backgrounds are an <a href="http://www.vanseodesign.com/web-design/basic-design-principles/">important part of web design</a>. The property is where you add the colors and images that sit behind your content, which controls much of the aesthetics of your site. Remove your CSS backgrounds and your site will probably be text on a white background.</p>
<p>While relatively easy to understand, <a href="http://www.w3.org/TR/CSS2/colors.html#background">CSS backgrounds</a> often lead to some questions and confusion when it comes to pulling off specific techniques. Let&#8217;s see if we can clear up some of that confusion and then answer a few of those technique specific questions.<br />
<span></span></p>
<h2>What Are CSS Backgrounds?</h2>
<p><a href="http://www.digital-web.com/articles/web_design_101_backgrounds/">CSS backgrounds</a> are pretty much what the name implies. They&#8217;re something you add to the background of an element. More specifically they are colors and images that sit behind whatever content is added inside the element. When developing a css driven site these background colors and images are usually responsible for most of the design elements in your template.</p>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/f0743_box.png" alt="box.png" width="465" height="279" /></p>
<p>The background of the element is defined according to the css box model. Margins are not included as part of the background, but borders, paddings, and the width of the content are included.</p>
<p>There are <a href="http://www.w3schools.com/css/css_background.asp">5 background properties</a> you can apply to a css selector, 4 of which apply to background images:</p>
<ul>
<li><strong>background-color</strong> &#8212; sets the background color of an element. The color can be specified as a hex value, an rgb value, or by one of the limited color names. The background-color can also be set as transparent or it can be set to inherit the background-color of its parent element.</li>
<li><strong>background-image</strong> &#8212; sets an image as the background of an element and it&#8217;s value will look like url(&#8221;path-to-an-image&#8221;). The background-image property can also have values of none and inherit</li>
<li><strong>background-repeat</strong> &#8212; sets how a background-image is repeated. Values are repeat, no-repeat, repeat-x, repeat-y, and inherit</li>
<li><strong>background-attachment</strong> &#8212; set how the background image will move with the page. It can scroll (moves with the element as the page scrolls), remain fixed (stays in position even when the page is scrolled), or inherit from the parent element</li>
<li><strong>background-position</strong> &#8212; sets the starting position of the background image within the element. Images can be set to start vertically at the top, center, or bottom and horizontally at the left, center, or right. The background position can also be set to start a fixed amount or a % from the top left corner of the element.</li>
</ul>
<h2>CSS Background Shortcut</h2>
<p>While you can specify each <a href="http://csc.nmu.edu/~bkrent/CS101/CSS-Background-Property.pdf">background property (PDF)</a> individually, in practice you&#8217;ll want to use the shortcut. When using the shortcut you should specify properties in the following order: color, image, repeat, attachment, position.</p>
<pre>
div {background: #0088ff, url("path-to-an-image"), repeat-x, scroll, top left}
</pre>
<p>You don&#8217;t need to specify all the properties when using the shortcut, but you do want to use the right order. Any property you don&#8217;t specify will be assigned a default value as follows:</p>
<ul>
<li>background-color: transparent</li>
<li>background-image: none</li>
<li>background-repeat: repeat</li>
<li>background-attachment: scroll</li>
<li>background-position: 0% 0%</li>
</ul>
<p>You can for example use the shortcut as in the following</p>
<pre>
background: #0077ff
background: url("path-to-image") no-repeat
background: url("path-to-image") top left
</pre>
<p>In each of the above lines of code the default values will be used for the properties not specifically mentioned.</p>
<h2>CSS Background Images are not HTML Images</h2>
<p>One important concept to understand is that images you set with a css background do not behave the same way as an image you set using the html &lt;img&gt; tag.</p>
<p>An html img tag creates a new box. A <a href="http://dev.opera.com/articles/view/31-css-background-images/">css background image</a> is placed in an existing box. You can&#8217;t add padding or margins or a border to a css background image. You don&#8217;t set a width and height on a css background image.</p>
<p>Because an html image is a new box it has width and height, paddings and margins, and a border. It can also have a css background image applied to it. I&#8217;m not sure how often this is done in practice, but you can add a background image behind an html image if you&#8217;d like.</p>
<p><a href="http://www.flickr.com/photos/23408922@N07/3720718593/" title="Project 365 #195: 140709 Let's Get Jiggy With It" target="_blank"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/43276_3720718593_7f518bed4e_m.jpg" alt="Project 365 #195: 140709 Let's Get Jiggy With It" width="465" height="310" /></a><br /><a href="http://creativecommons.org/licenses/by/2.0/" title="Attribution License" target="_blank"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/d5692_cc.png" alt="Creative Commons License" border="0" width="16" height="16" align="absmiddle" /></a> <a href="http://www.photodropper.com/photos/" target="_blank">photo</a> credit: <a href="http://www.flickr.com/photos/23408922@N07/3720718593/" title="comedy_nose" target="_blank">comedy_nose</a></p>
<h2>Solutions to Common CSS Background Questions</h2>
<p>While the background property is fairly easy to understand and use there still arise a variety of questions around it.</p>
<h3>1. Why won&#8217;t my background image show?</h3>
<p>This is usually because the element has no width or height. Remember a background image doesn&#8217;t create a box. It fills the existing box. If that box has no width or height there&#8217;s nothing to fill. The solution is to give your element some dimensions. You can explicitly set a height and width on the element (not the background image) or fill the element with some content creating a height and width.</p>
<p>In some cases you do have content inside the element, but all that content has been <a href="http://www.vanseodesign.com/css/understanding-css-floats/">floated taking it out of the normal document flow</a>. When that happens the containing element (where you&#8217;re wanting to add the background) technically has no dimensions. You can add the overflow property to the element to force it to have dimensions as though the floated elements inside were still part of the normal document flow.</p>
<h3>2. Can I use multiple background images?</h3>
<p>Yes and no. The <a href="http://www.w3.org/TR/css3-background/#backgrounds">CSS3 spec allows for multiple background images</a>, but since all browsers haven&#8217;t quite adopted the CSS3 spec you&#8217;ll want to hold off on multiple background images for awhile.</p>
<p>However remember that all html elements can have a background applied. Say you have a div which contains an h2 element and a paragraph. You could apply background images to each and by controlling other css properties you can often achieve the same effect you want. You could also add more html divs and spans inside or outside your element to have more places to add a background. This does get somewhat clunky, but it can work.</p>
<h3>3. How do I swap background images when hovering over an element?</h3>
<p>You can do this in 2 ways. Add a new css rule for your element:hover and either change the background-image property to point to a new image or have your image be a css sprite and change it&#8217;s background-position to show a different part of your sprite image.</p>
<p>It&#8217;s important to note that older versions of IE only accept :hover on a link element so you&#8217;ll need a little javascript to make this magic happen for IE. My preference is the <a href="http://htmldog.com/articles/suckerfish/">suckerfish solution</a>, which is the same solution I use for drop down menus.</p>
<h3>4. How can I make my background images transparent?</h3>
<p>Unfortunately you can&#8217;t. You can set transparency on the element, but not specifically on the background image. If you do set transparency on the element know that everything inside the element will get that same transparency.</p>
<p>Depending on your situation you may find it best to add the transparency when creating the image in Photoshop. That way you can control the look of the image, though you still won&#8217;t be able to see through the image.</p>
<h3>5. Can I set a background image on my table, table row, or table cell?</h3>
<p>Yes. Each is an html element and so takes the background property. However tables have a complex way in which backgrounds are determined through the use of <a href="http://www.w3.org/TR/CSS21/tables.html#table-layers">layers and transparency</a>, which can be seen in the following image.</p>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/23676_tbl-layers.png" alt="tbl-layers.png" width="465" height="362" /></p>
<p>The background for an element in one layer is only visible if the layers above it have a transparent background. That can be a little confusing to get working right, which is why many people fall back on html attributes to set backgrounds on tables.</p>
<p>Fortunately transparent is the default so the layers above should already be transparent. Once you start adding backgrounds to one part of the table, though it can become more complex to work out.</p>
<h3>6. Can I add background images to borders?</h3>
<p>Not yet. This is another of those coming in CSS3 things. You can use it now if you don&#8217;t mind it not working across all browsers.</p>
<h3>7. Can I add background images to lists?</h3>
<p>Yes. Lists are html elements and so can take a background image. Here&#8217;s a simple way to <a href="http://css.maxdesign.com.au/listamatic/vertical05.htm">set the background-image property to use an image of your choice as the bullet in a list</a>.</p>
<h3>8. How do I add padding to a background image?</h3>
<p>As I mentioned above a background image doesn&#8217;t create a new css box so you can&#8217;t give it padding. What you want to do is use the background-position property to offset where the image appears.</p>
<h3>9. How do I align a background image to the right?</h3>
<p>Similar to the above question, this is a background-position thing. Use a value of right in your background-position and the image will be aligned to the right edge of the element.</p>
<h3>10. Why won&#8217;t my background image show when printing?</h3>
<p>You don&#8217;t have control over this for good reason. It takes a lot of ink to print an image and many people would prefer not to print them. Whether or not to print background images is set in the browser by the individual. I&#8217;d recommend not forcing the issue, but you can try this workaround to <a href="http://justaddwater.dk/2009/09/29/print-css-background-logo-hack/">sort of force printing on css background images</a>.</p>
<h3>11. How do I stretch a background image to fit an element?</h3>
<p>Once CSS3 is fully here you&#8217;ll be able to do this with the background-size property. Until then you can try to <a href="http://webdesign.about.com/od/css3/f/blfaqbgsize.htm">fake it</a>.</p>
<p>Another possible solution that may fit your needs is to create an image much wider than you need and set the background-position to 50% 50%. This will center your background image inside the element and as the element grows wider more of your image gets revealed, while the entire image remains centered.</p>
<p>Not exactly stretching, but useful for ensuring your image fills the space even as the space grows larger.</p>
<h3>12. Can I wrap a link around my background image</h3>
<p>No. Again background images do not create boxes. The solution is to add the link around all the content inside the html element or wrap the link around the element itself. Which you would use depends on the specific html element and the content inside that element.</p>
<h2>Summary</h2>
<p>Hopefully the above clears up some confusion you may have when it comes to working with the css background property or offers a solution to a problem you&#8217;ve had. The key point to remember is that css backgrounds do not create new boxes. They only fill existing html boxes. Understanding that point will help you see what you can and can&#8217;t do with background images.</p>
<p>CSS backgrounds are a vital part of giving your design its look and feel. Most of the images you&#8217;ll create for your site&#8217;s template will want to be set using the background property so it&#8217;s a good property to become familiar with and learn how to master.</p>
<p>If you have any questions or problems using the css background property please ask, and I&#8217;ll do my best to find a solution for you.</p>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/139fd_?ak_action=api_record_view&amp;id=1041&amp;type=feed" alt="" /></p>
<p><a href="http://feedads.g.doubleclick.net/~a/peoYXovTp5RO08RSCXtlXH0y5jA/0/da"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/139fd_di" border="0"></img></a><br />
<a href="http://feedads.g.doubleclick.net/~a/peoYXovTp5RO08RSCXtlXH0y5jA/1/da"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/139fd_di" border="0"></img></a></p>
<div>
<a href="http://feeds.feedburner.com/~ff/TheVanBlog?a=mWMpeik4qpA:LM08E-0I92E:V_sGLiPBpWU"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/139fd_TheVanBlog?i=mWMpeik4qpA:LM08E-0I92E:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TheVanBlog?a=mWMpeik4qpA:LM08E-0I92E:F7zBnMyn0Lo"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/139fd_TheVanBlog?i=mWMpeik4qpA:LM08E-0I92E:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TheVanBlog?a=mWMpeik4qpA:LM08E-0I92E:yIl2AUoC8zA"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/139fd_TheVanBlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TheVanBlog?a=mWMpeik4qpA:LM08E-0I92E:D7DqB2pKExk"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/16605_TheVanBlog?i=mWMpeik4qpA:LM08E-0I92E:D7DqB2pKExk" border="0"></img></a>
</div>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/16605_mWMpeik4qpA" height="1" width="1" /><br />
<a href="http://feeds2.feedburner.com/TheVanBlog">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/blogposter/web-design/css-backgrounds-12-solutions-to-common-questions/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Our Favorite Posts for the Week of October 19th 2009</title>
		<link>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/our-favorite-posts-for-the-week-of-october-19th-2009/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/our-favorite-posts-for-the-week-of-october-19th-2009/#comments</comments>
		<pubDate>Sat, 24 Oct 2009 22:44:12 +0000</pubDate>
		<dc:creator>BlogPoster</dc:creator>
				<category><![CDATA[web resources]]></category>
		<category><![CDATA[accordion style]]></category>
		<category><![CDATA[content]]></category>
		<category><![CDATA[content boxes]]></category>
		<category><![CDATA[css float]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Handy Photoshop]]></category>
		<category><![CDATA[majestic scenery]]></category>
		<category><![CDATA[profile]]></category>
		<category><![CDATA[property]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[very important role]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/our-favorite-posts-for-the-week-of-october-19th-2009/</guid>
		<description><![CDATA[Here&#8217;s a roundup of our top ten favorite design-related posts for the past week. Enjoy! Waterscape Photography: Beautiful Waterscapes and Tricks of the Trade Nature provides us with a never-ending supply of inspiration, look no further than the coast for an array of majestic scenery. This article focuses on the point where land and sea [...]]]></description>
			<content:encoded><![CDATA[</p>
<div><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fbrandfreeze.com%2Four-favorite-posts-for-the-week-of-october-19th-2009%2F"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/20bc9_imagebutton.gif?url=http%3A%2F%2Fbrandfreeze.com%2Four-favorite-posts-for-the-week-of-october-19th-2009%2F" height="61" width="51" /></a></div>
<p>Here&#8217;s a roundup of our top ten favorite design-related posts for the past week. Enjoy!</p>
<h3><a href="http://www.tutorial9.net/resources/waterscape-photography-beautiful-waterscapes-and-tricks-of-the-trade/">Waterscape Photography: Beautiful Waterscapes and Tricks of the Trade</a></h3>
<p><a href="http://www.tutorial9.net/resources/waterscape-photography-beautiful-waterscapes-and-tricks-of-the-trade/"><img src="http://brandfreeze.com/wp-content/uploads/2009/10/tutorial9.png" alt="Tutorial9" class="aligncenter" /></a><br />
Nature provides us with a never-ending supply of inspiration, look no further than the coast for an array of majestic scenery. This article focuses on the point where land and sea meet, with 24 stunning waterscapes, essential tools of the trade.</p>
<h3><a href="http://www.webdesignerdepot.com/2009/10/systematizing-the-graphic-design-process/">Systematizing the Graphic Design Process</a></h3>
<p><a href="http://www.webdesignerdepot.com/2009/10/systematizing-the-graphic-design-process/"><img src="http://brandfreeze.com/wp-content/uploads/2009/10/webdesignerdepot.png" alt="WebDesignerDepot" class="aligncenter" /></a><br />
Unlike other forms of art, graphic design is not just about taking paper and pen and letting the work flow. Graphic designers have to help viewers get the message and help sell a service or product. Creating a design for a client with little or no strategy just doesn’t work. Unlike traditional art, graphic design has to convey a very narrow message.</p>
<h3><a href="http://webdesignledger.com/resources/14-jquery-plugins-for-enhanced-content-viewing">14 jQuery Plugins for Enhanced Content Viewing</a></h3>
<p><a href="http://webdesignledger.com/resources/14-jquery-plugins-for-enhanced-content-viewing"><img src="http://brandfreeze.com/wp-content/uploads/2009/10/webdesignledger.png" alt="WebDesignLedger" class="aligncenter" /></a><br />
Whether you need to display content within a limited amount of space or you just want to make a section of your website more engaging, jQuery is an excellent solution. With jQuery you can easily create accordion style content boxes, image galleries, and content sliders. Here are 14 excellent jQuery plugins for adding this type of functionality to your site.</p>
<h3><a href="http://sixrevisions.com/design-showcase-inspiration/35-creative-twitter-user-profile-designs/">35 Creative Twitter User Profile Designs</a></h3>
<p><a href="http://sixrevisions.com/design-showcase-inspiration/35-creative-twitter-user-profile-designs/"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/33d33_sixrevisions.png" alt="SixRevisions" class="aligncenter" /></a><br />
One of the most important aspects of attracting followers on Twitter, in addition to quality tweets, is your Twitter page profile design; it has to be creative and attractive to show that you take tweeting seriously. This collection of Twitter user profile designs follows up on an earlier showcase that we published called 50 Beautiful &#38; Unique Twitter Profile Designs. In this collection, you’ll find some of the great Twitter user profile designs out there.</p>
<h3><a href="http://www.smashingmagazine.com/2009/10/19/the-mystery-of-css-float-property/">The Mystery Of The CSS Float Property</a></h3>
<p><a href="http://www.smashingmagazine.com/2009/10/19/the-mystery-of-css-float-property/"><img src="http://brandfreeze.com/wp-content/uploads/2009/10/smashingmag.png" alt="SmashingMagazine" class="aligncenter" /></a><br />
Years ago, when developers first started to make the transition to HTML layouts without tables, one CSS property that suddenly took on a very important role was the float property. The reason that the float property became so common was that, by default, block-level elements will not line up beside one another in a column-based format. Since columns are necessary in virtually every CSS layout, this property started to get used — and even overused — prolifically.</p>
<h3><a href="http://css-tricks.com/long-dropdowns-solution/">Solution For Very Long Dropdown Menus</a></h3>
<p><a href="http://css-tricks.com/long-dropdowns-solution/"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/78645_csstricks.png" alt="CSSTricks" class="aligncenter" /></a></p>
<p>I like to be confident with post titles, but the reality in this case is a *possible* solution for very long dropdowns. The problem with long dropdowns is that the dropdown itself can go below the “fold” of the website. That is, below the visible area of the browser window. So in order to access those menu items down below, you need to scroll your browser window. For those of us with scroll wheels of some kind on our mice (mouses?), it’s not a big deal. For those without, those lower menu items are totally inaccessible, because to use the browser scrollbar means mousing off the menu (and probably having it close).</p>
<h3><a href="http://www.blog.spoongraphics.co.uk/articles/20-handy-photoshop-tips-for-a-faster-workflow">20 Handy Photoshop Tips For a Faster Workflow</a></h3>
<p><a href="http://www.blog.spoongraphics.co.uk/articles/20-handy-photoshop-tips-for-a-faster-workflow"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/ea156_spoongraphics.png" alt="SpoonGraphics" class="aligncenter" /></a><br />
We all use Photoshop on a daily basis, but I bet there’s at least one tip in this post that will give you the old ‘Why didn’t I know of this before’ moment! It’s tips like these that make the most common of tasks quicker and easier than ever to help speed up your Photoshop workflow.</p>
<h3><a href="http://designm.ag/resources/site-search-options/">Top 10 Site Search Options</a></h3>
<p><a href="http://designm.ag/resources/site-search-options/"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/2953e_designmag.png" alt="DesignMag" class="aligncenter" /></a><br />
Part of having a user-friendly site involves making it possible for visitors to quickly find what they are looking for. A site-wide search is one of the best ways to accomplish this. In this post we’ll look at 10 of the leading options for helping visitors to find the content that they want. Of course, most CMSs come with a standard search functionality, but this may not always be the best options (as is the case with WordPress’ default search).</p>
<h3><a href="http://abduzeedo.com/daily-inspiration-335">Daily Inspiration #335</a></h3>
<p><a href="http://abduzeedo.com/daily-inspiration-335"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/d9634_abduzeedo.png" alt="Abduzeedo" class="aligncenter" /></a><br />
This post is part of our daily series of posts showing the most inspiring images selected by some of the Abduzeedo&#8217;s writers and users. If you want to participate and share your graphic design inspiration, just send us, via email, the image with the link from where you found it, also use &#8220;Daily Inspiration&#8221; in the subject, and don&#8217;t forget to send your Abduzeedo username; or via Twitter sending to <a href="http://twitter.com/abduzeedo">http://twitter.com/abduzeedo<br />
</a></p>
<h3><a href="http://naldzgraphics.net/freebies/200-truly-useful-free-halloween-icons-for-everyone/">200+ Truly Useful Free Halloween Icons for Everyone</a></h3>
<p><a href="http://naldzgraphics.net/freebies/200-truly-useful-free-halloween-icons-for-everyone/"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/1f0f4_naldzgraphics.png" alt="NaldzGraphics" class="aligncenter" /></a><br />
It’s only a week before we celebrate Halloween. As for our second collection of useful resources for the Halloween season, We compiled 200+ Truly Useful Free Halloween Icons for Everyone. These icons can be downloaded right into your desktop for FREE! Each set includes several icons that you can get for personal use. The following sets of icon were made by several of our creative graphics designers on the web to share their talents and uplift Halloween spirit.</p>
<p>No related posts.</p>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/49057_SI1UsB6MYOA" height="1" width="1" /></p>
<p><a href="http://feeds.feedburner.com/Brandfreeze">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/our-favorite-posts-for-the-week-of-october-19th-2009/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Nokia: iPhone Is Infringing on Our Patents</title>
		<link>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/nokia-iphone-is-infringing-on-our-patents/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/nokia-iphone-is-infringing-on-our-patents/#comments</comments>
		<pubDate>Thu, 22 Oct 2009 18:36:52 +0000</pubDate>
		<dc:creator>BlogPoster</dc:creator>
				<category><![CDATA[web resources]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[apple iphone]]></category>
		<category><![CDATA[G WCDMA]]></category>
		<category><![CDATA[GSM]]></category>
		<category><![CDATA[LAN]]></category>
		<category><![CDATA[lawsuit]]></category>
		<category><![CDATA[Nokia]]></category>
		<category><![CDATA[nokia 8220]]></category>
		<category><![CDATA[patent infringement]]></category>
		<category><![CDATA[property]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[wireless lan standards]]></category>
		<category><![CDATA[wlan standards]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/nokia-iphone-is-infringing-on-our-patents/</guid>
		<description><![CDATA[Nokia has filed a lawsuit against Apple in Delaware District Court. The Finish cellular giant claims that Apple is infringing on its wireless technologies patents. Nokia holds patents on GSM, UMTS and WLAN standards and licenses that technology to more than forty other companies. Nokia claims that Apple never paid to license this technology. From [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://api.tweetmeme.com/share?url=http://mashable.com/2009/10/22/nokia-apple-lawsuit/&amp;service=bit.ly"><img width="51" height="61" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/3d82b_nokia-apple-lawsuit" align="right" /></a>
<p><img class="alignright size-full wp-image-151415" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/9dc1b_iphone_3gs.jpg" alt="iphone_3gs" width="260" height="190" />Nokia has filed a <a href="http://www.pr-inside.com/nokia-sues-apple-in-delaware-district-r1541657.htm" target="_blank">lawsuit against</a> Apple in Delaware District Court. The Finish cellular giant claims that Apple is infringing on its wireless technologies patents.</p>
<p>Nokia holds patents on GSM, UMTS and WLAN standards and licenses that technology to more than forty other companies. Nokia claims that Apple never paid to license this technology.<br /> <span></span></p>
<p>From Nokia&#8217;s press release:</p>
<blockquote><p>The ten patents in suit relate to technologies fundamental to making devices which are compatible with one or more of the GSM, UMTS (3G WCDMA), and wireless LAN standards. The patents cover wireless data, speech coding, security and encryption and are infringed by all Apple iPhone models shipped since the iPhone was introduced in 2007.</p>
<p>&#8220;The basic principle in the mobile industry is that those companies who contribute in technology development to establish standards create intellectual property, which others then need to compensate for,&#8221; said Ilkka Rahnasto, Vice President, Legal &amp; Intellectual Property at Nokia. &#8220;Apple is also expected to follow this principle. By refusing to agree appropriate terms for Nokia&#8217;s intellectual property, Apple is attempting to get a free ride on the back of Nokia&#8217;s innovation.&#8221;</p>
</blockquote>
<p>Apple has not issued a statement responding to the lawsuit at this time.  We&#8217;ll post an update when they do.</p>
<p>Tags: <a href="http://mashable.com/tag/apple/">apple</a>, <a href="http://mashable.com/tag/iphone/">iphone</a>, <a href="http://mashable.com/tag/nokia/">Nokia</a>, <a href="http://mashable.com/tag/patent-infringement/">patent infringement</a></p>
<p><a href="http://feedads.g.doubleclick.net/~at/-T80_DfKztedMUIiFHoIqyiXEZA/0/da"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/9dc1b_di" border="0"></img></a><br />
<a href="http://feedads.g.doubleclick.net/~at/-T80_DfKztedMUIiFHoIqyiXEZA/1/da"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/2764b_di" border="0"></img></a></p>
<div>
<a href="http://feeds.feedburner.com/~ff/Mashable?a=z-xk8Ai7o-k:CM8IelkVvro:D7DqB2pKExk"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/d4fbb_Mashable?i=z-xk8Ai7o-k:CM8IelkVvro:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=z-xk8Ai7o-k:CM8IelkVvro:V_sGLiPBpWU"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/d4fbb_Mashable?i=z-xk8Ai7o-k:CM8IelkVvro:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=z-xk8Ai7o-k:CM8IelkVvro:F7zBnMyn0Lo"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/d4fbb_Mashable?i=z-xk8Ai7o-k:CM8IelkVvro:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=z-xk8Ai7o-k:CM8IelkVvro:qj6IDK7rITs"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/a03e8_Mashable?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=z-xk8Ai7o-k:CM8IelkVvro:_e0tkf89iUM"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/a03e8_Mashable?d=_e0tkf89iUM" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=z-xk8Ai7o-k:CM8IelkVvro:gIN9vFwOqvQ"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/a03e8_Mashable?i=z-xk8Ai7o-k:CM8IelkVvro:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=z-xk8Ai7o-k:CM8IelkVvro:yIl2AUoC8zA"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/2742b_Mashable?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=z-xk8Ai7o-k:CM8IelkVvro:P0ZAIrC63Ok"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/2742b_Mashable?d=P0ZAIrC63Ok" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=z-xk8Ai7o-k:CM8IelkVvro:I9og5sOYxJI"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/2742b_Mashable?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=z-xk8Ai7o-k:CM8IelkVvro:CC-BsrAYo0A"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/6a081_Mashable?d=CC-BsrAYo0A" border="0"></img></a>
</div>
<p><a href="http://feeds2.feedburner.com/Mashable">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/nokia-iphone-is-infringing-on-our-patents/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Mystery Of The CSS Float Property</title>
		<link>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/the-mystery-of-the-css-float-property/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/the-mystery-of-the-css-float-property/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 18:39:18 +0000</pubDate>
		<dc:creator>BlogPoster</dc:creator>
				<category><![CDATA[web resources]]></category>
		<category><![CDATA[block level elements]]></category>
		<category><![CDATA[container]]></category>
		<category><![CDATA[css development]]></category>
		<category><![CDATA[css float]]></category>
		<category><![CDATA[element]]></category>
		<category><![CDATA[footer]]></category>
		<category><![CDATA[level element]]></category>
		<category><![CDATA[parent]]></category>
		<category><![CDATA[property]]></category>
		<category><![CDATA[very important role]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/the-mystery-of-the-css-float-property/</guid>
		<description><![CDATA[&#160;&#160; Years ago, when developers first started to make the transition to HTML layouts without tables, one CSS property that suddenly took on a very important role was the float property. The reason that the float property became so common was that, by default, block-level elements will not line up beside one another in a [...]]]></description>
			<content:encoded><![CDATA[<table width="650">
<tr>
<td width="650">
<div>
      <img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/79af6_smashing-magazine-advertisement.gif" alt="" border="0" /><br />
      <a href="http://creatives.commindo-media.de/www/delivery/ck.php?zoneid=56" target="_blank"><img src="http://creatives.commindo-media.de/www/delivery/avw.php?zoneid=56" border="0" alt="" /></a>&nbsp;<a href="http://creatives.commindo-media.de/www/delivery/ck.php?zoneid=63" target="_blank"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/7a6f3_avw.php?zoneid=63" border="0" alt="" /></a>&nbsp;<a href="http://creatives.commindo-media.de/www/delivery/ck.php?zoneid=64" target="_blank"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/b6f1a_avw.php?zoneid=64" border="0" alt="" /></a>
    </div>
</td>
</tr>
</table>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/98b1d_spacer.gif" alt="" border="0" width="1" height="1" /></p>
<p>Years ago, when developers first started to make the transition to HTML layouts without tables, one <strong>CSS</strong> property that suddenly took on a very important role was the <code>float</code> property. The reason that the <code>float</code> property became so common was that, by default, block-level elements will not line up beside one another in a column-based format. Since columns are necessary in virtually every CSS layout, this property started to get used &mdash; and even overused &mdash; prolifically.</p>
<p>The <strong>CSS <code>float</code> property</strong> allows a developer to incorporate table-like columns in an HTML layout without the use of tables. If it were not for the CSS <code>float</code> property, CSS layouts would not be possible except using absolute and relative positioning &mdash; which would be messy and would make the layout unmaintainable.</p>
<p>In this article, <strong>we&#8217;ll discuss exactly what the <code>float</code> property is and how it affects elements</strong> in particular contexts. We&#8217;ll also take a look at some of the differences that can occur in connection with this property in the most commonly-used browsers. Finally, we&#8217;ll showcase a few practical uses for the CSS <code>float</code> property. This should provide a well-rounded and thorough discussion of this property and its impact on CSS development.</p>
<h3>Definition and Syntax</h3>
<p>The purpose of the CSS <code>float</code> property is, generally speaking, to push a block-level element to the left or right, taking it out of the document flow. This allows naturally-flowing content to wrap around the floated element. This concept is similar to what you see every day in print literature, where photos and other graphic elements are aligned to one side while other content (usually text) flows naturally around the left- or right-aligned element.</p>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/0d4ae_print.jpg" width="500" height="333" alt="Screenshot" /><br /><a href="http://www.flickr.com/photos/presentday/2789469603/">Flickr photo by presentday</a></p>
<p>The photo above shows the &#8220;Readers&#8217; sites&#8221; section of <a href="http://www.netmag.co.uk/">.net magazine</a>, which displays 3 readers&#8217; photos each aligned left in their respective columns with text wrapping around the aligned images. That is the basic idea behind the <code>float</code> property in CSS layouts, and demonstrates one of the ways it has been used in table-less design.</p>
<p>The effectiveness of using floats in multi-columned layouts was explained by Douglas Bowman in 2004 in his classic presentation <a href="http://www.stopdesign.com/present/2004/ddw-seattle/tables/">No More Tables</a>:</p>
<p><a href="http://www.stopdesign.com/present/2004/ddw-seattle/tables/?no=26"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/1af8b_stopdesign-float.jpg" width="500" height="435" alt="No More Tables - Floats" /></a><br /><a href="http://www.stopdesign.com/present/2004/ddw-seattle/tables/?no=26">No More Tables</a></p>
<p>Bowman explained the principles behind table-less design, using Microsoft&#8217;s old site as a case study. Floats were used prominently in his mock overhaul of the Microsoft layout.</p>
<h4>Syntax</h4>
<p>The <code>float</code> CSS property can accept one of 4 values: <code>left</code>, <code>right</code>, <code>none</code>, and <code>inherit</code>. It is declared as shown in the code below.</p>
<pre>
#sidebar {
	float: left;
}
</pre>
<p>The most commonly-used values are <code>left</code> and <code>right</code>. A value of <code>none</code> is the default, or initial <code>float</code> value for any element in an HTML page. The value <code>inherit</code>, which can be applied to nearly any CSS property, does not work in Internet Explorer versions up to and including 7.</p>
<p>The <code>float</code> property does not require the application of any other property on a CSS element for <code>float</code> to function correctly, however, <code>float</code> will work more effectively under specific circumstances.</p>
<p>Generally, a floated element <strong>should have an explicitly set width</strong> (unless it is a <a href="http://reference.sitepoint.com/css/replacedelements">replaced element</a>, like an image). This ensures that the float behaves as expected and helps to avoid issues in certain browsers.</p>
<pre>
#sidebar {
	float: left;
	width: 350px;
}
</pre>
<h4>Specifics on Floated Elements</h4>
<p>Following is a list of exact behaviours of floated elements according to <a href="http://www.w3.org/TR/CSS1/#floating-elements">CSS2 Specifications</a>:</p>
<ul>
<li>A left-floated box will shift to the left until its leftmost margin edge (or border edge if margins are absent) touches either the edge of the containing block, or the edge of another floated box</li>
<li>If the size of the floated box exceeds the available horizontal space, the floated box will be shifted down</li>
<li>Non-positioned, non-floated, block-level elements act as if the floated element is not there, since the floated element is out of document flow</li>
<li>Margins of floated boxes do not collapse with margins of adjacent boxes</li>
<li>The root element (<code>&lt;html&gt;</code>) cannot be floated</li>
<li>An inline element that is floated is converted to a block-level element</li>
</ul>
<h3>Float in Practice</h3>
<p>One of the most common uses for the <code>float</code> property is to float an image with text wrapping it. Here is an example:</p>
<div>
<img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/badf9_lifesaver.jpg" width="200" height="222" alt="Float - Lifesaver" style="float: left;margin: 15px 15px 5px 0;border: solid 1px #bbb" /></p>
<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper.</p>
<p>Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui.</p>
<p>Donec non enim in turpis pulvinar facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis luctus, metus.</p>
<p><a href="http://www.sxc.hu/photo/1179935">Lifesaver Image from stock.xchng</a></p>
</div>
<p>The CSS applied to the image in the box above is as follows:</p>
<pre>
img {
	float: left;
	margin: 0 15px 5px 0;
	border: solid 1px #bbb;
}
</pre>
<p>The only property required to make this effect work is the <code>float</code> property. The other properties (margin and border) are there for aesthetic reasons. The other elements inside the box (the <code>&lt;p&gt;</code> tags with text inside them) do not need any styles applied to them.</p>
<p>As mentioned earlier, floated elements are taken out of document flow, and other block elements remain in flow, acting as if the floated element is not even there. This is demonstrated visually below:</p>
<div>
<div>
<p>This box is floated left</p>
</p>
</div>
<p>This <code>&lt;p&gt;</code> element has a different background color to show that it spans the width of its parent, ignoring the floated element. This inline text, however, wraps around the floated box.</p>
</div>
<p>In the above example, the <code>&lt;p&gt;</code> element is a block-level element, so it ignores the floated element, spanning the width of the container (minus padding). All non-floated, block-level elements will behave in like manner.</p>
<p>The text in the paragraph is inline, so it flows around the floated element. The floated box is also given margin settings to offset it from the paragraph, making it visually clear that the paragraph element is ignoring the floated box.</p>
<h3>Clearing Floats</h3>
<p>Layout issues with floats are commonly fixed using the CSS <code>clear</code> property, which lets you &#8220;clear&#8221; floated elements from the left or right side, or both sides, of an element.</p>
<p>Let&#8217;s take a look at an example that commonly occurs &mdash; a footer wrapping to the right side of a 2-column layout:</p>
<div>
<div>
<p>Left column floated left</p>
</p>
</div>
<div>
<p>Right column also floated left</p>
</p>
</div>
<div>
<p>Footer</p>
</p>
</div>
</div>
<p>If you view this page in IE6 or IE7, you won&#8217;t see any problems. The left and right columns are in place, and the footer is nicely tucked underneath. But in Firefox, Opera, Safari, and Chrome, you&#8217;ll see the footer jump up beside the left column. This is caused by the float applied to the columns. This is the correct behaviour, even though it is a more problematic one. To resolve this issue, we use the aforementioned <code>clear</code> property, applied to the footer:</p>
<pre>
#footer {
	clear: both;
}
</pre>
<p>The result is shown below:</p>
<div>
<div>
<p>Left column floated left</p>
</p>
</div>
<div>
<p>Right column also floated left</p>
</p>
</div>
<div>
<p>Footer</p>
</p>
</div>
</div>
<p>The <code>clear</code> property will clear only floated elements, so applying <code>clear: both</code> to both columns would not cause the footer to drop down, because the footer is not a floated element.</p>
<p>So use <code>clear</code> on non-floated elements, and even occasionally on floated elements, to force page elements to occupy their intended space.</p>
<h3>Fixing the Collapsed Parent</h3>
<p>One of the most common symptoms of float-heavy layouts is the &#8220;collapsing parent&#8221;. This is demonstrated in the example below:</p>
<div>
<img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/924c6_lifesaver.jpg" width="200" height="222" alt="Float - Lifesaver" style="float: left;margin: 15px 15px 5px 0;border: solid 1px #bbb" /></p>
<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper.</p>
</div>
<p>Notice that the bottom of the floated image appears outside its parent. The parent does not fully expand to hold the floated image. This is caused by what we discussed earlier: the floated element is out of the natural document flow, so all block elements will render as if the floated element is not even there. This is not a CSS bug; it&#8217;s in line with CSS specifications. All browsers render the same in this example. It should be pointed out that, in this example, adding a width to the container prevents the issue from occurring in IE, so this would normally be something you would have to resolve in Firefox, Opera, Safari, or Chrome.</p>
<h4>Solution 1: Float the container</h4>
<p>The easiest way to fix this problem is to float the containing parent element:</p>
<div>
<img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/924c6_lifesaver.jpg" width="200" height="222" alt="Float - Lifesaver" style="float: left;margin: 15px 15px 5px 0;border: solid 1px #bbb" /></p>
<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper.</p>
</div>
<p>Now the container expands to fit all the child elements. But unfortunately this fix will only work in a limited number of circumstances, since floating the parent may have undesirable effects on your layout.</p>
<h4>Solution 2: Adding Extra Markup</h4>
<p>This is an outdated method, but is an easy option. Simply add an extra element at the bottom of the container and &#8220;clear&#8221; it. Here&#8217;s how the HTML would look after this method is implemented:</p>
<pre>
&lt;div id="container"&gt;
&lt;img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/badf9_lifesaver.jpg" width="200" height="222" alt="" /&gt;
&lt;p&gt;Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper.&lt;/p&gt;

	&lt;div class="clearfix"&gt;&lt;/div&gt;
&lt;/div&gt;
</pre>
<p>And the resulting CSS applied to the new element:</p>
<pre>
.clearfix {
	clear: both;
}
</pre>
<p>You could also do this by means of a <code>&lt;br /&gt;</code> tag with an inline style. In any case, you will have the desired result: the parent container will expand to enclose all of its children. But this method is not recommended since it adds nonsemantic code to your markup.</p>
<h4>Solution 3: The :after Pseudo-Element</h4>
<p>The <code>:after</code> pseudo-element adds an element to the rendered HTML page. This method has been used quite extensively to resolve float-clearing issues. Here is how the CSS looks:</p>
<pre>
.clearfix:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}
</pre>
<p>The CSS class &#8220;clearfix&#8221; is applied to any container that has floating children and does not expand to enclose them.</p>
<p>But this method does not work in Internet Explorer up to version 7, so an IE-only style needs to be set with one of the following rules:</p>
<pre>
.clearfix {
	display: inline-block;
}

.clearfix {
	zoom: 1;
}
</pre>
<p>Depending on the type of issue you&#8217;re dealing with, one of the above two solutions will resolve the issue in Internet Explorer. It should be noted that the <code>zoom</code> property is a non-standard Microsoft proprietary property, and will cause your CSS to become invalid.</p>
<p>So, because the <code>:after</code> pseudo-element solution does not work in IE6/7, is a little bit bloated code-wise, and requires additional invalid IE-only styles, this solution is not the best method, but is probably the best we&#8217;ve considered so far.</p>
<h4>Solution 4: The Overflow Property</h4>
<p>By far the best, and easiest solution to resolve the collapsing parent issue is to add <code>overflow: hidden</code> or <code>overflow: auto</code> to the parent element. It&#8217;s clean, easy to maintain, works in almost all browsers, and does not add extra markup.</p>
<p>You&#8217;ll notice I said &#8220;almost&#8221; all browsers. This is because it does not work in IE6. But, in many cases, the parent container will have a set width, which fixes the issue in IE6. If the parent container does not have a width, you can add an IE6-only style with the following code:</p>
<pre>
// This fix is for IE6 only
.clearfix {
	height: 1%;
	overflow: visible;
}
</pre>
<p>In IE6, the <code>height</code> property is incorrectly treated as <code>min-height</code>, so this forces the container to enclose its children. The <code>overflow</code> property is then set back to &#8220;visible&#8221;, to ensure the content is not hidden or scrolled.</p>
<p>The only drawback to using the <code>overflow</code> method (in any browser) is the possibility that the containing element will have scrollbars or hide content. If there are any elements with negative margins or absolute positioning inside the parent, they will be obscured if they go beyond the parent&#8217;s borders, so this method should be used carefully. It should also be noted that if the containing element has to have a specified <code>height</code>, or <code>min-height</code>, then you would definitely not be able to use the <code>overflow</code> method.</p>
<p>So, there really is no simple, cross-browser solution to the collapsing parent issue. But almost any float clearing issue can be resolved with one of the above methods.</p>
<h3>Float-Related Bugs in Internet Explorer</h3>
<p>Over the years, there have been numerous articles published online that discuss common bugs in connection with floats in CSS layouts. All of these, not surprisingly, deal with problems specific to Internet Explorer. Below, you&#8217;ll find a list of links to a number of articles that discuss float-related issues in-depth:</p>
<ul>
<li><a href="http://css-class.com/articles/explorer/guillotine/index.htm">The Internet Explorer Guillotine Bug</a></li>
<li><a href="http://www.positioniseverything.net/explorer/doubled-margin.html">The IE5/6 Doubled Float-Margin Bug</a></li>
<li><a href="http://www.maratz.com/blog/archives/2006/11/11/ie-7-quirks-floats-and-margins/">IE7 Bottom Margin Bug</a></li>
<li><a href="http://www.positioniseverything.net/explorer/escape-floats.html">The IE Escaping Floats Bug</a></li>
<li><a href="http://www.positioniseverything.net/explorer/peekaboo.html">The IE6 Peekaboo Bug</a></li>
<li><a href="http://www.impressivewebs.com/ie6-ghost-text-bug-with-multiple-solutions/">The IE6 &#8220;Ghost Text&#8221; Bug</a></li>
<li><a href="http://www.positioniseverything.net/explorer/expandingboxbug.html">The IE6 Expanding Box Problem</a></li>
<li><a href="http://www.positioniseverything.net/explorer/threepxtest.html">The IE6 3-pixel Gap</a></li>
</ul>
<h3>Changing the Float Property with JavaScript</h3>
<p>To change a CSS value in JavaScript, you would access the <code>style</code> object, converting the intended CSS property to &#8220;camel case&#8221;. For example, the CSS property &#8220;margin-left&#8221; becomes <code>marginLeft</code>; the property <code>background-color</code> becomes <code>backgroundColor</code>, and so on. But with the <code>float</code> property, it&#8217;s different, because <code>float</code> is already a reserved word in JavaScript. So, the following would be incorrect:</p>
<pre>
myDiv.style.float = "left";
</pre>
<p>Instead, you would use one of the following:</p>
<pre>
// For Internet Explorer
myDiv.style.styleFloat = "left";

// For all other browsers
myDiv.style.cssFloat = "left";
</pre>
<h3>Practical Uses for Float</h3>
<p>Floats can be used to resolve a number of design challenges in CSS layouts. Some examples are discussed here.</p>
<h4>2-Column, Fixed-Width Layout</h4>
<p>Roger Johansson of <a href="http://www.456bereastreet.com/">456 Berea Street</a> outlines an 8-step tutorial to create a simple, cross-browser, 2-column, horizontally centered layout. The <code>float</code> property is integral to the chemistry of this layout.</p>
<blockquote><p>&#8220;The layout consists of a header, a horizontal navigation bar, a main content column, a sidebar, and a footer. It is also horizontally centered in the browser window. A pretty basic layout, and not at all difficult to create with CSS once you know how to deal with the inevitable Internet Explorer bugs.&#8221;</p>
</blockquote>
<p><a href="http://www.456bereastreet.com/lab/developing_with_web_standards/csslayout/2-col/"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/55203_2-column-layout.jpg" alt="2-Column Layout" width="500" height="385" /></a><br />
<a href="http://www.456bereastreet.com/lab/developing_with_web_standards/csslayout/2-col/">Simple 2 column CSS layout</a></p>
<h4>3-Column, Equal-Height Layout</h4>
<p>Petr Stanicek of <a href="http://www.pixy.cz">pixy.cz</a> demonstrates a cross-browser 3-column layout, again using <code>float</code>:</p>
<blockquote><p>&#8220;No tables, no absolute positioning (no positioning at all), no hacks(!), same height of all columns. The left and right columns have fixed width (150px), the middle one is elastic.&#8221;</p>
</blockquote>
<p><a href="http://www.pixy.cz/blogg/clanky/css-3col-layout/"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/bb159_3-column-layout.jpg" alt="3-Column Layout" width="500" height="328" /></a><br />
<a href="http://www.pixy.cz/blogg/clanky/css-3col-layout/">3-Column Layout with CSS</a></p>
<h4>Floated Image with Caption</h4>
<p>Similar to what we discussed earlier under &#8220;Float in Practice&#8221;, <a href="http://www.maxdesign.com.au/">Max Design</a> describes how to float an image with a caption, allowing text to wrap around it naturally.</p>
<p><a href="http://css.maxdesign.com.au/floatutorial/tutorial0211.htm"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/04880_floated-image.jpg" alt="Floated Image with Caption" width="500" height="439" /></a><br />
<a href="http://css.maxdesign.com.au/floatutorial/tutorial0211.htm">Floating an Image and Caption</a></p>
<h4>Horizontal Navigation with Unordered Lists</h4>
<p>The <code>float</code> property is a key ingredient in coding sprite-based horizontal navigation bars. Chris Spooner of <a href="http://line25.com/">Line25</a> describes how to create a <a href="http://line25.com/tutorials/how-to-create-a-css-menu-using-image-sprites">Menu of Awesomeness</a>, in which the <code>&lt;li&gt;</code> elements that hold the navigation buttons are floated left:</p>
<p><a href="http://line25.com/tutorials/how-to-create-a-css-menu-using-image-sprites"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/9ac6c_menu.jpg" alt="Menu of Awesomeness" width="500" height="372" /></a><br />
<a href="http://line25.com/tutorials/how-to-create-a-css-menu-using-image-sprites">How to Create a CSS Menu Using Image Sprites</a></p>
<p>To demonstrate the importance of the <code>float</code> property in this example, here is a screen shot of the same image after using firebug to remove the <code>float: left</code>:</p>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/9ac6c_menu-nofloat.jpg" alt="Menu of Awesomeness without Float" width="500" height="430" /></p>
<h4>Grid-Based Photo Galleries</h4>
<p>A simple use for the <code>float</code> property is to left-float a series of photos contained in an unordered list, which gets the same result as what you would see in a table-based layout.</p>
<p><a href="http://www.foremostcanada.com/products.php?ctgyid=2"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/fb474_foremost.jpg" alt="Foremost Canada" width="500" height="500" /></a></p>
<p><a href="http://www.foremostcanada.com/products.php?ctgyid=2">Foremost Canada&#8217;s product page</a> (above) displays their products in grid-based format, next to a left-column sidebar. The photos are displayed in an unordered list with the float property for all <code>&lt;li&gt;</code> elements set to <code>float: left</code>. This works better than a table-based grid, because the number of photos in the gallery can change and the layout would not be affected.</p>
<p><a href="http://www.getparagon.com/futons.php"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/fb474_paragon.jpg" alt="Paragon Furniture" width="500" height="500" /></a></p>
<p><a href="http://www.getparagon.com/futons.php">Paragon Furniture&#8217;s futons page</a> (above) is another example of a product page using an unordered list with floated list items.</p>
<p><a href="http://www.istockphoto.com/file_search.php?text=trees&amp;action=file"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/2af68_istockphoto.jpg" alt="iStockphoto" width="500" height="466" /></a></p>
<p><a href="http://www.istockphoto.com/file_search.php?text=trees&amp;action=file">iStockphoto&#8217;s search results page</a> (above) is a similarly-structured grid of photos, but this time the photos are contained in left-floated <code>&lt;div&gt;</code> elements, instead of <code>&lt;li&gt;</code> elements.</p>
<h4>Aligning an &lt;input&gt; Field with a Button</h4>
<p>Default styling on form elements across different browsers can be a pain to deal with. Often times, in a single-field form like a search form, it is necessary to place the <code>&lt;input&gt;</code> element next to the submit button. Here is a simple search form, with an image used for the submit button:</p>
<fieldset>
	<label></label></p>
</fieldset>
<p></p>
<p>In every browser, the result is the same: The button appears slightly higher than the input field. Changing margins and padding does nothing. The simple way to fix this is to float the input field left, and add a small right margin. Here is the result:</p>
<fieldset>
	<label></label></p>
</fieldset>
<p></p>
<h3>Conclusion</h3>
<p>As was mentioned at the outset, without the CSS <code>float</code> property, table-less layouts would be, at worst, impossible, and, at best, unmaintainable. Floats will continue to be prominent in CSS layouts, even as CSS3 begins to gain prominence &mdash; even though there have been a few discussions about <a href="http://tjkdesign.com/articles/float-less_css_layouts.asp">layouts without the use of floats</a>.</p>
<p>Hopefully this discussion has simplified some of the mysteries related to floats, and provided some practical solutions to a number of issues faced by CSS developers today.</p>
<h3>Further Reading</h3>
<ul>
<li><a href="http://reference.sitepoint.com/css/float">Sitepoint CSS Reference: Float</a></li>
<li><a href="http://css-tricks.com/all-about-floats/">All About Floats on CSS-Tricks</a></li>
<li><a href="http://www.autisticcuckoo.net/archive.php?id=2004/12/10/floating">Float Layouts @ The Autistic Cuckoo</a></li>
<li><a href="http://www.sitepoint.com/blogs/2005/02/26/simple-clearing-of-floats/">Simple Clearing of Floats</a></li>
<li><a href="http://www.w3.org/TR/CSS2/visuren.html#floats">Visual Formatting Model: Floats</a></li>
<li><a href="http://reference.sitepoint.com/css/floatclear">Floating and Clearing</a></li>
</ul>
<h4>About the Author</h4>
<p><em>Louis Lazaris is a writer and freelance Web Developer based in Toronto, Canada. He has 9 years of experience in the web development industry and posts <a href="http://www.impressivewebs.com/articles">web design articles</a> and <a href="http://www.impressivewebs.com/tutorials">tutorials</a> on his blog, <a href="http://www.impressivewebs.com">Impressive Webs</a>. You can <a href="http://twitter.com/ImpressiveWebs">follow Louis on Twitter</a> or contact him using <a href="http://www.impressivewebs.com/contact">this form</a>.</em></p>
<hr />
<p>© Louis Lazaris for <a href="http://www.smashingmagazine.com">Smashing Magazine</a>, 2009. |<br />
<a href="http://www.smashingmagazine.com/2009/10/19/the-mystery-of-css-float-property/">Permalink</a> |<br />
<a href="http://www.smashingmagazine.com/2009/10/19/the-mystery-of-css-float-property/#comments">34 comments</a> |<br />
<a title="Bookmark in del.icio.us" href="http://del.icio.us/post?url=http://www.smashingmagazine.com/2009/10/19/the-mystery-of-css-float-property/&amp;title=The Mystery Of The CSS Float Property">Add to del.icio.us</a> | <a title="Bookmark in Digg" href="http://digg.com/submit?phase=2&amp;url=http://www.smashingmagazine.com/2009/10/19/the-mystery-of-css-float-property/">Digg this</a> | <a title="Stumble on StumbleUpon" href="http://www.stumbleupon.com/submit?url=http://www.smashingmagazine.com/2009/10/19/the-mystery-of-css-float-property/">Stumble on StumbleUpon!</a> | <a title="Tweet us!" href="http://twitter.com/home?status=@tweetmeme%20@smashingmag%20Reading%20'The Mystery Of The CSS Float Property' http://www.smashingmagazine.com/2009/10/19/the-mystery-of-css-float-property/">Tweet it!</a> | <a title="Bookmark in Reddit" href="http://reddit.com/submit?url=http://www.smashingmagazine.com/2009/10/19/the-mystery-of-css-float-property/">Submit to Reddit</a> | <a href="http://forum.smashingmagazine.com/">Forum Smashing Magazine</a></p>
<p>
Post tags: <a href="http://www.smashingmagazine.com/tag/css/" rel="tag">CSS</a>, <a href="http://www.smashingmagazine.com/tag/float/" rel="tag">float</a>
</p>
<p><a href="http://rss1.smashingmagazine.com/feed/">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/the-mystery-of-the-css-float-property/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The Mystery of CSS Float Property</title>
		<link>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/the-mystery-of-css-float-property/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/the-mystery-of-css-float-property/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 16:09:56 +0000</pubDate>
		<dc:creator>BlogPoster</dc:creator>
				<category><![CDATA[web resources]]></category>
		<category><![CDATA[block level elements]]></category>
		<category><![CDATA[container]]></category>
		<category><![CDATA[css development]]></category>
		<category><![CDATA[css float]]></category>
		<category><![CDATA[element]]></category>
		<category><![CDATA[footer]]></category>
		<category><![CDATA[level element]]></category>
		<category><![CDATA[parent]]></category>
		<category><![CDATA[property]]></category>
		<category><![CDATA[very important role]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/the-mystery-of-css-float-property/</guid>
		<description><![CDATA[&#160;&#160; Years ago, when developers first started to make the transition to HTML layouts without tables, one CSS property that suddenly took on a very important role was the float property. The reason that the float property became so common was that, by default, block-level elements will not line up beside one another in a [...]]]></description>
			<content:encoded><![CDATA[<table width="650">
<tr>
<td width="650">
<div>
      <img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/aa925_smashing-magazine-advertisement.gif" alt="" border="0" /><br />
      <a href="http://creatives.commindo-media.de/www/delivery/ck.php?zoneid=56" target="_blank"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/ad1f2_avw.php?zoneid=56" border="0" alt="" /></a>&nbsp;<a href="http://creatives.commindo-media.de/www/delivery/ck.php?zoneid=63" target="_blank"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/954e2_avw.php?zoneid=63" border="0" alt="" /></a>&nbsp;<a href="http://creatives.commindo-media.de/www/delivery/ck.php?zoneid=64" target="_blank"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/930b7_avw.php?zoneid=64" border="0" alt="" /></a>
    </div>
</td>
</tr>
</table>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/8f699_spacer.gif" alt="" border="0" width="1" height="1" /></p>
<p>Years ago, when developers first started to make the transition to HTML layouts without tables, one <strong>CSS</strong> property that suddenly took on a very important role was the <code>float</code> property. The reason that the <code>float</code> property became so common was that, by default, block-level elements will not line up beside one another in a column-based format. Since columns are necessary in virtually every CSS layout, this property started to get used &mdash; and even overused &mdash; prolifically.</p>
<p>The <strong>CSS <code>float</code> property</strong> allows a developer to incorporate table-like columns in an HTML layout without the use of tables. If it were not for the CSS <code>float</code> property, CSS layouts would not be possible except using absolute and relative positioning &mdash; which would be messy and would make the layout unmaintainable.</p>
<p>In this article, <strong>we&#8217;ll discuss exactly what the <code>float</code> property is and how it affects elements</strong> in particular contexts. We&#8217;ll also take a look at some of the differences that can occur in connection with this property in the most commonly-used browsers. Finally, we&#8217;ll showcase a few practical uses for the CSS <code>float</code> property. This should provide a well-rounded and thorough discussion of this property and its impact on CSS development.</p>
<h3>Definition and Syntax</h3>
<p>The purpose of the CSS <code>float</code> property is, generally speaking, to push a block-level element to the left or right, taking it out of the document flow. This allows naturally-flowing content to wrap around the floated element. This concept is similar to what you see every day in print literature, where photos and other graphic elements are aligned to one side while other content (usually text) flows naturally around the left- or right-aligned element.</p>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/13a4b_print.jpg" width="500" height="333" alt="Screenshot" /><br /><a href="http://www.flickr.com/photos/presentday/2789469603/">Flickr photo by presentday</a></p>
<p>The photo above shows the &#8220;Readers&#8217; sites&#8221; section of <a href="http://www.netmag.co.uk/">.net magazine</a>, which displays 3 readers&#8217; photos each aligned left in their respective columns with text wrapping around the aligned images. That is the basic idea behind the <code>float</code> property in CSS layouts, and demonstrates one of the ways it has been used in table-less design.</p>
<p>The effectiveness of using floats in multi-columned layouts was explained by Douglas Bowman in 2004 in his classic presentation <a href="http://www.stopdesign.com/present/2004/ddw-seattle/tables/">No More Tables</a>:</p>
<p><a href="http://www.stopdesign.com/present/2004/ddw-seattle/tables/?no=26"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/5ef44_stopdesign-float.jpg" width="500" height="435" alt="No More Tables - Floats" /></a><br /><a href="http://www.stopdesign.com/present/2004/ddw-seattle/tables/?no=26">No More Tables</a></p>
<p>Bowman explained the principles behind table-less design, using Microsoft&#8217;s old site as a case study. Floats were used prominently in his mock overhaul of the Microsoft layout.</p>
<h4>Syntax</h4>
<p>The <code>float</code> CSS property can accept one of 4 values: <code>left</code>, <code>right</code>, <code>none</code>, and <code>inherit</code>. It is declared as shown in the code below.</p>
<pre>
#sidebar {
	float: left;
}
</pre>
<p>The most commonly-used values are <code>left</code> and <code>right</code>. A value of <code>none</code> is the default, or initial <code>float</code> value for any element in an HTML page. The value <code>inherit</code>, which can be applied to nearly any CSS property, does not work in Internet Explorer versions up to and including 7.</p>
<p>The <code>float</code> property does not require the application of any other property on a CSS element for <code>float</code> to function correctly, however, <code>float</code> will work more effectively under specific circumstances.</p>
<p>Generally, a floated element <strong>should have an explicitly set width</strong> (unless it is a <a href="http://reference.sitepoint.com/css/replacedelements">replaced element</a>, like an image). This ensures that the float behaves as expected and helps to avoid issues in certain browsers.</p>
<pre>
#sidebar {
	float: left;
	width: 350px;
}
</pre>
<h4>Specifics on Floated Elements</h4>
<p>Following is a list of exact behaviours of floated elements according to <a href="http://www.w3.org/TR/CSS1/#floating-elements">CSS2 Specifications</a>:</p>
<ul>
<li>A left-floated box will shift to the left until its leftmost margin edge (or border edge if margins are absent) touches either the edge of the containing block, or the edge of another floated box</li>
<li>If the size of the floated box exceeds the available horizontal space, the floated box will be shifted down</li>
<li>Non-positioned, non-floated, block-level elements act as if the floated element is not there, since the floated element is out of document flow</li>
<li>Margins of floated boxes do not collapse with margins of adjacent boxes</li>
<li>The root element (<code>&lt;html&gt;</code>) cannot be floated</li>
<li>An inline element that is floated is converted to a block-level element</li>
</ul>
<h3>Float in Practice</h3>
<p>One of the most common uses for the <code>float</code> property is to float an image with text wrapping it. Here is an example:</p>
<div>
<img src="http://www.smashingmagazine.com/2009/10/19/the-mystery-of-css-float-property/lifesaver.jpg" width="200" height="222" alt="Float - Lifesaver" style="float: left;margin: 15px 15px 5px 0;border: solid 1px #bbb" /></p>
<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper.</p>
<p>Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui.</p>
<p>Donec non enim in turpis pulvinar facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis luctus, metus.</p>
<p><a href="http://www.sxc.hu/photo/1179935">Lifesaver Image from stock.xchng</a></p>
</div>
<p>The CSS applied to the image in the box above is as follows:</p>
<pre>
img {
	float: left;
	margin: 0 15px 5px 0;
	border: solid 1px #bbb;
}
</pre>
<p>The only property required to make this effect work is the <code>float</code> property. The other properties (margin and border) are there for aesthetic reasons. The other elements inside the box (the <code>&lt;p&gt;</code> tags with text inside them) do not need any styles applied to them.</p>
<p>As mentioned earlier, floated elements are taken out of document flow, and other block elements remain in flow, acting as if the floated element is not even there. This is demonstrated visually below:</p>
<div>
<div>
<p>This box is floated left</p>
</p>
</div>
<p>This <code>&lt;p&gt;</code> element has a different background color to show that it spans the width of its parent, ignoring the floated element. This inline text, however, wraps around the floated box.</p>
</div>
<p>In the above example, the <code>&lt;p&gt;</code> element is a block-level element, so it ignores the floated element, spanning the width of the container (minus padding). All non-floated, block-level elements will behave in like manner.</p>
<p>The text in the paragraph is inline, so it flows around the floated element. The floated box is also given margin settings to offset it from the paragraph, making it visually clear that the paragraph element is ignoring the floated box.</p>
<h3>Clearing Floats</h3>
<p>Layout issues with floats are commonly fixed using the CSS <code>clear</code> property, which lets you &#8220;clear&#8221; floated elements from the left or right side, or both sides, of an element.</p>
<p>Let&#8217;s take a look at an example that commonly occurs &mdash; a footer wrapping to the right side of a 2-column layout:</p>
<div>
<div>
<p>Left column floated left</p>
</p>
</div>
<div>
<p>Right column also floated left</p>
</p>
</div>
<div>
<p>Footer</p>
</p>
</div>
</div>
<p>If you view this page in IE6 or IE7, you won&#8217;t see any problems. The left and right columns are in place, and the footer is nicely tucked underneath. But in Firefox, Opera, Safari, and Chrome, you&#8217;ll see the footer jump up beside the left column. This is caused by the float applied to the columns. This is the correct behaviour, even though it is a more problematic one. To resolve this issue, we use the aforementioned <code>clear</code> property, applied to the footer:</p>
<pre>
#footer {
	clear: both;
}
</pre>
<p>The result is shown below:</p>
<div>
<div>
<p>Left column floated left</p>
</p>
</div>
<div>
<p>Right column also floated left</p>
</p>
</div>
<div>
<p>Footer</p>
</p>
</div>
</div>
<p>The <code>clear</code> property will clear only floated elements, so applying <code>clear: both</code> to both columns would not cause the footer to drop down, because the footer is not a floated element.</p>
<p>So use <code>clear</code> on non-floated elements, and even occasionally on floated elements, to force page elements to occupy their intended space.</p>
<h3>Fixing the Collapsed Parent</h3>
<p>One of the most common symptoms of float-heavy layouts is the &#8220;collapsing parent&#8221;. This is demonstrated in the example below:</p>
<div>
<img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/f8c33_lifesaver.jpg" width="200" height="222" alt="Float - Lifesaver" style="float: left;margin: 15px 15px 5px 0;border: solid 1px #bbb" /></p>
<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper.</p>
</div>
<p>Notice that the bottom of the floated image appears outside its parent. The parent does not fully expand to hold the floated image. This is caused by what we discussed earlier: the floated element is out of the natural document flow, so all block elements will render as if the floated element is not even there. This is not a CSS bug; it&#8217;s in line with CSS specifications. All browsers render the same in this example. It should be pointed out that, in this example, adding a width to the container prevents the issue from occurring in IE, so this would normally be something you would have to resolve in Firefox, Opera, Safari, or Chrome.</p>
<h4>Solution 1: Float the container</h4>
<p>The easiest way to fix this problem is to float the containing parent element:</p>
<div>
<img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/f8c33_lifesaver.jpg" width="200" height="222" alt="Float - Lifesaver" style="float: left;margin: 15px 15px 5px 0;border: solid 1px #bbb" /></p>
<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper.</p>
</div>
<p>Now the container expands to fit all the child elements. But unfortunately this fix will only work in a limited number of circumstances, since floating the parent may have undesirable effects on your layout.</p>
<h4>Solution 2: Adding Extra Markup</h4>
<p>This is an outdated method, but is an easy option. Simply add an extra element at the bottom of the container and &#8220;clear&#8221; it. Here&#8217;s how the HTML would look after this method is implemented:</p>
<pre>
&lt;div id="container"&gt;
&lt;img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/f8c33_lifesaver.jpg" width="200" height="222" alt="" /&gt;
&lt;p&gt;Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper.&lt;/p&gt;

	&lt;div class="clearfix"&gt;&lt;/div&gt;
&lt;/div&gt;
</pre>
<p>And the resulting CSS applied to the new element:</p>
<pre>
.clearfix {
	clear: both;
}
</pre>
<p>You could also do this by means of a <code>&lt;br /&gt;</code> tag with an inline style. In any case, you will have the desired result: the parent container will expand to enclose all of its children. But this method is not recommended since it adds nonsemantic code to your markup.</p>
<h4>Solution 3: The :after Pseudo-Element</h4>
<p>The <code>:after</code> pseudo-element adds an element to the rendered HTML page. This method has been used quite extensively to resolve float-clearing issues. Here is how the CSS looks:</p>
<pre>
.clearfix:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}
</pre>
<p>The CSS class &#8220;clearfix&#8221; is applied to any container that has floating children and does not expand to enclose them.</p>
<p>But this method does not work in Internet Explorer up to version 7, so an IE-only style needs to be set with one of the following rules:</p>
<pre>
.clearfix {
	display: inline-block;
}

.clearfix {
	zoom: 1;
}
</pre>
<p>Depending on the type of issue you&#8217;re dealing with, one of the above two solutions will resolve the issue in Internet Explorer. It should be noted that the <code>zoom</code> property is a non-standard Microsoft proprietary property, and will cause your CSS to become invalid.</p>
<p>So, because the <code>:after</code> pseudo-element solution does not work in IE6/7, is a little bit bloated code-wise, and requires additional invalid IE-only styles, this solution is not the best method, but is probably the best we&#8217;ve considered so far.</p>
<h4>Solution 4: The Overflow Property</h4>
<p>By far the best, and easiest solution to resolve the collapsing parent issue is to add <code>overflow: hidden</code> or <code>overflow: auto</code> to the parent element. It&#8217;s clean, easy to maintain, works in almost all browsers, and does not add extra markup.</p>
<p>You&#8217;ll notice I said &#8220;almost&#8221; all browsers. This is because it does not work in IE6. But, in many cases, the parent container will have a set width, which fixes the issue in IE6. If the parent container does not have a width, you can add an IE6-only style with the following code:</p>
<pre>
// This fix is for IE6 only
.clearfix {
	height: 1%;
	overflow: visible;
}
</pre>
<p>In IE6, the <code>height</code> property is incorrectly treated as <code>min-height</code>, so this forces the container to enclose its children. The <code>overflow</code> property is then set back to &#8220;visible&#8221;, to ensure the content is not hidden or scrolled.</p>
<p>The only drawback to using the <code>overflow</code> method (in any browser) is the possibility that the containing element will have scrollbars or hide content. If there are any elements with negative margins or absolute positioning inside the parent, they will be obscured if they go beyond the parent&#8217;s borders, so this method should be used carefully. It should also be noted that if the containing element has to have a specified <code>height</code>, or <code>min-height</code>, then you would definitely not be able to use the <code>overflow</code> method.</p>
<p>So, there really is no simple, cross-browser solution to the collapsing parent issue. But almost any float clearing issue can be resolved with one of the above methods.</p>
<h3>Float-Related Bugs in Internet Explorer</h3>
<p>Over the years, there have been numerous articles published online that discuss common bugs in connection with floats in CSS layouts. All of these, not surprisingly, deal with problems specific to Internet Explorer. Below, you&#8217;ll find a list of links to a number of articles that discuss float-related issues in-depth:</p>
<ul>
<li><a href="http://css-class.com/articles/explorer/guillotine/index.htm">The Internet Explorer Guillotine Bug</a></li>
<li><a href="http://www.positioniseverything.net/explorer/doubled-margin.html">The IE5/6 Doubled Float-Margin Bug</a></li>
<li><a href="http://www.maratz.com/blog/archives/2006/11/11/ie-7-quirks-floats-and-margins/">IE7 Bottom Margin Bug</a></li>
<li><a href="http://www.positioniseverything.net/explorer/escape-floats.html">The IE Escaping Floats Bug</a></li>
<li><a href="http://www.positioniseverything.net/explorer/peekaboo.html">The IE6 Peekaboo Bug</a></li>
<li><a href="http://www.impressivewebs.com/ie6-ghost-text-bug-with-multiple-solutions/">The IE6 &#8220;Ghost Text&#8221; Bug</a></li>
<li><a href="http://www.positioniseverything.net/explorer/expandingboxbug.html">The IE6 Expanding Box Problem</a></li>
<li><a href="http://www.positioniseverything.net/explorer/threepxtest.html">The IE6 3-pixel Gap</a></li>
</ul>
<h3>Changing the Float Property with JavaScript</h3>
<p>To change a CSS value in JavaScript, you would access the <code>style</code> object, converting the intended CSS property to &#8220;camel case&#8221;. For example, the CSS property &#8220;margin-left&#8221; becomes <code>marginLeft</code>; the property <code>background-color</code> becomes <code>backgroundColor</code>, and so on. But with the <code>float</code> property, it&#8217;s different, because <code>float</code> is already a reserved word in JavaScript. So, the following would be incorrect:</p>
<pre>
myDiv.style.float = "left";
</pre>
<p>Instead, you would use one of the following:</p>
<pre>
// For Internet Explorer
myDiv.style.styleFloat = "left";

// For all other browsers
myDiv.style.cssFloat = "left";
</pre>
<h3>Practical Uses for Float</h3>
<p>Floats can be used to resolve a number of design challenges in CSS layouts. Some examples are discussed here.</p>
<h4>2-Column, Fixed-Width Layout</h4>
<p>Roger Johansson of <a href="http://www.456bereastreet.com/">456 Berea Street</a> outlines an 8-step tutorial to create a simple, cross-browser, 2-column, horizontally centered layout. The <code>float</code> property is integral to the chemistry of this layout.</p>
<blockquote><p>&#8220;The layout consists of a header, a horizontal navigation bar, a main content column, a sidebar, and a footer. It is also horizontally centered in the browser window. A pretty basic layout, and not at all difficult to create with CSS once you know how to deal with the inevitable Internet Explorer bugs.&#8221;</p>
</blockquote>
<p><a href="http://www.456bereastreet.com/lab/developing_with_web_standards/csslayout/2-col/"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/f8c33_2-column-layout.jpg" alt="2-Column Layout" width="500" height="385" /></a><br />
<a href="http://www.456bereastreet.com/lab/developing_with_web_standards/csslayout/2-col/">Simple 2 column CSS layout</a></p>
<h4>3-Column, Equal-Height Layout</h4>
<p>Petr Stanicek of <a href="http://www.pixy.cz">pixy.cz</a> demonstrates a cross-browser 3-column layout, again using <code>float</code>:</p>
<blockquote><p>&#8220;No tables, no absolute positioning (no positioning at all), no hacks(!), same height of all columns. The left and right columns have fixed width (150px), the middle one is elastic.&#8221;</p>
</blockquote>
<p><a href="http://www.pixy.cz/blogg/clanky/css-3col-layout/"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/3fea2_3-column-layout.jpg" alt="3-Column Layout" width="500" height="328" /></a><br />
<a href="http://www.pixy.cz/blogg/clanky/css-3col-layout/">3-Column Layout with CSS</a></p>
<h4>Floated Image with Caption</h4>
<p>Similar to what we discussed earlier under &#8220;Float in Practice&#8221;, <a href="http://www.maxdesign.com.au/">Max Design</a> describes how to float an image with a caption, allowing text to wrap around it naturally.</p>
<p><a href="http://css.maxdesign.com.au/floatutorial/tutorial0211.htm"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/3fea2_floated-image.jpg" alt="Floated Image with Caption" width="500" height="439" /></a><br />
<a href="http://css.maxdesign.com.au/floatutorial/tutorial0211.htm">Floating an Image and Caption</a></p>
<h4>Horizontal Navigation with Unordered Lists</h4>
<p>The <code>float</code> property is a key ingredient in coding sprite-based horizontal navigation bars. Chris Spooner of <a href="http://line25.com/">Line25</a> describes how to create a <a href="http://line25.com/tutorials/how-to-create-a-css-menu-using-image-sprites">Menu of Awesomeness</a>, in which the <code>&lt;li&gt;</code> elements that hold the navigation buttons are floated left:</p>
<p><a href="http://line25.com/tutorials/how-to-create-a-css-menu-using-image-sprites"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/73ebb_menu.jpg" alt="Menu of Awesomeness" width="500" height="372" /></a><br />
<a href="http://line25.com/tutorials/how-to-create-a-css-menu-using-image-sprites">How to Create a CSS Menu Using Image Sprites</a></p>
<p>To demonstrate the importance of the <code>float</code> property in this example, here is a screen shot of the same image after using firebug to remove the <code>float: left</code>:</p>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/37758_menu-nofloat.jpg" alt="Menu of Awesomeness without Float" width="500" height="430" /></p>
<h4>Grid-Based Photo Galleries</h4>
<p>A simple use for the <code>float</code> property is to left-float a series of photos contained in an unordered list, which gets the same result as what you would see in a table-based layout.</p>
<p><a href="http://www.foremostcanada.com/products.php?ctgyid=2"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/37758_foremost.jpg" alt="Foremost Canada" width="500" height="500" /></a></p>
<p><a href="http://www.foremostcanada.com/products.php?ctgyid=2">Foremost Canada&#8217;s product page</a> (above) displays their products in grid-based format, next to a left-column sidebar. The photos are displayed in an unordered list with the float property for all <code>&lt;li&gt;</code> elements set to <code>float: left</code>. This works better than a table-based grid, because the number of photos in the gallery can change and the layout would not be affected.</p>
<p><a href="http://www.getparagon.com/futons.php"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/1e51d_paragon.jpg" alt="Paragon Furniture" width="500" height="500" /></a></p>
<p><a href="http://www.getparagon.com/futons.php">Paragon Furniture&#8217;s futons page</a> (above) is another example of a product page using an unordered list with floated list items.</p>
<p><a href="http://www.istockphoto.com/file_search.php?text=trees&amp;action=file"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/20907_istockphoto.jpg" alt="iStockphoto" width="500" height="466" /></a></p>
<p><a href="http://www.istockphoto.com/file_search.php?text=trees&amp;action=file">iStockphoto&#8217;s search results page</a> (above) is a similarly-structured grid of photos, but this time the photos are contained in left-floated <code>&lt;div&gt;</code> elements, instead of <code>&lt;li&gt;</code> elements.</p>
<h4>Aligning an &lt;input&gt; Field with a Button</h4>
<p>Default styling on form elements across different browsers can be a pain to deal with. Often times, in a single-field form like a search form, it is necessary to place the <code>&lt;input&gt;</code> element next to the submit button. Here is a simple search form, with an image used for the submit button:</p>
<fieldset>
	<label></label></p>
</fieldset>
<p></p>
<p>In every browser, the result is the same: The button appears slightly higher than the input field. Changing margins and padding does nothing. The simple way to fix this is to float the input field left, and add a small right margin. Here is the result:</p>
<fieldset>
	<label></label></p>
</fieldset>
<p></p>
<h3>Conclusion</h3>
<p>As was mentioned at the outset, without the CSS <code>float</code> property, table-less layouts would be, at worst, impossible, and, at best, unmaintainable. Floats will continue to be prominent in CSS layouts, even as CSS3 begins to gain prominence &mdash; even though there have been a few discussions about <a href="http://tjkdesign.com/articles/float-less_css_layouts.asp">layouts without the use of floats</a>.</p>
<p>Hopefully this discussion has simplified some of the mysteries related to floats, and provided some practical solutions to a number of issues faced by CSS developers today.</p>
<h3>Further Reading</h3>
<ul>
<li><a href="http://reference.sitepoint.com/css/float">Sitepoint CSS Reference: Float</a></li>
<li><a href="http://css-tricks.com/all-about-floats/">All About Floats on CSS-Tricks</a></li>
<li><a href="http://www.autisticcuckoo.net/archive.php?id=2004/12/10/floating">Float Layouts @ The Autistic Cuckoo</a></li>
<li><a href="http://www.sitepoint.com/blogs/2005/02/26/simple-clearing-of-floats/">Simple Clearing of Floats</a></li>
<li><a href="http://www.w3.org/TR/CSS2/visuren.html#floats">Visual Formatting Model: Floats</a></li>
<li><a href="http://reference.sitepoint.com/css/floatclear">Floating and Clearing</a></li>
</ul>
<h4>About the Author</h4>
<p><em>Louis Lazaris is a writer and freelance Web Developer based in Toronto, Canada. He has 9 years of experience in the web development industry and posts <a href="http://www.impressivewebs.com/articles">web design articles</a> and <a href="http://www.impressivewebs.com/tutorials">tutorials</a> on his blog, <a href="http://www.impressivewebs.com">Impressive Webs</a>. You can <a href="http://twitter.com/ImpressiveWebs">follow Louis on Twitter</a> or contact him using <a href="http://www.impressivewebs.com/contact">this form</a>.</em></p>
<hr />
<p>© Louis Lazaris for <a href="http://www.smashingmagazine.com">Smashing Magazine</a>, 2009. |<br />
<a href="http://www.smashingmagazine.com/2009/10/19/the-mystery-of-css-float-property/">Permalink</a> |<br />
<a href="http://www.smashingmagazine.com/2009/10/19/the-mystery-of-css-float-property/#comments">21 comments</a> |<br />
<a title="Bookmark in del.icio.us" href="http://del.icio.us/post?url=http://www.smashingmagazine.com/2009/10/19/the-mystery-of-css-float-property/&amp;title=The Mystery of CSS Float Property">Add to del.icio.us</a> | <a title="Bookmark in Digg" href="http://digg.com/submit?phase=2&amp;url=http://www.smashingmagazine.com/2009/10/19/the-mystery-of-css-float-property/">Digg this</a> | <a title="Stumble on StumbleUpon" href="http://www.stumbleupon.com/submit?url=http://www.smashingmagazine.com/2009/10/19/the-mystery-of-css-float-property/">Stumble on StumbleUpon!</a> | <a title="Tweet us!" href="http://twitter.com/home?status=@tweetmeme%20@smashingmag%20Reading%20'The Mystery of CSS Float Property' http://www.smashingmagazine.com/2009/10/19/the-mystery-of-css-float-property/">Tweet it!</a> | <a title="Bookmark in Reddit" href="http://reddit.com/submit?url=http://www.smashingmagazine.com/2009/10/19/the-mystery-of-css-float-property/">Submit to Reddit</a> | <a href="http://forum.smashingmagazine.com/">Forum Smashing Magazine</a></p>
<p>
Post tags: <a href="http://www.smashingmagazine.com/tag/css/" rel="tag">CSS</a>, <a href="http://www.smashingmagazine.com/tag/float/" rel="tag">float</a>
</p>
<p><a href="http://rss1.smashingmagazine.com/feed/">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/the-mystery-of-css-float-property/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>HouseShout</title>
		<link>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/houseshout/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/houseshout/#comments</comments>
		<pubDate>Wed, 14 Oct 2009 16:57:25 +0000</pubDate>
		<dc:creator>BlogPoster</dc:creator>
				<category><![CDATA[web resources]]></category>
		<category><![CDATA[Agent]]></category>
		<category><![CDATA[estate agent fees]]></category>
		<category><![CDATA[HouseShout]]></category>
		<category><![CDATA[information source]]></category>
		<category><![CDATA[private property sales]]></category>
		<category><![CDATA[property]]></category>
		<category><![CDATA[property transactions]]></category>
		<category><![CDATA[related products]]></category>
		<category><![CDATA[source]]></category>
		<category><![CDATA[website]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/houseshout/</guid>
		<description><![CDATA[HouseShout! is a website designed for those looking to buy, sell, rent and share their properties without an agent. We give you the resources and tools to make private property sales quick, fun and easy while saving thousands in unnecessary estate agent fees. HouseShout&#8217;s mission is to provide a transparent and secure platform for direct [...]]]></description>
			<content:encoded><![CDATA[<p>HouseShout! is a website designed for those looking to buy, sell, rent and share their properties without an agent. We give you the resources and tools to make private property sales quick, fun and easy while saving thousands in unnecessary estate agent fees. HouseShout&#8217;s mission is to provide a transparent and secure platform for direct property transactions and a trusted information source for all related products.<img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/e4ac1_vKusyDOOr4U" height="1" width="1" /><br />
<a href="http://feeds2.feedburner.com/Listio-web20-directory-popular">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/houseshout/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>CSS Differences in Internet Explorer 6, 7 and 8</title>
		<link>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/css-differences-in-internet-explorer-6-7-and-8/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/css-differences-in-internet-explorer-6-7-and-8/#comments</comments>
		<pubDate>Wed, 14 Oct 2009 13:48:03 +0000</pubDate>
		<dc:creator>BlogPoster</dc:creator>
				<category><![CDATA[web resources]]></category>
		<category><![CDATA[box]]></category>
		<category><![CDATA[css development]]></category>
		<category><![CDATA[Description]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[internet explorer browsers]]></category>
		<category><![CDATA[internet explorer versions]]></category>
		<category><![CDATA[javascript libraries]]></category>
		<category><![CDATA[max height]]></category>
		<category><![CDATA[max width]]></category>
		<category><![CDATA[Min-Height]]></category>
		<category><![CDATA[Min-Width]]></category>
		<category><![CDATA[property]]></category>
		<category><![CDATA[statistical facts]]></category>
		<category><![CDATA[support]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/css-differences-in-internet-explorer-6-7-and-8/</guid>
		<description><![CDATA[&#160;&#160; One of the most bizarre statistical facts in relation to browser use has to be the virtual widespread numbers that currently exist in the use of Internet Explorer versions 6, 7 and 8. As of this writing, Internet Explorer holds about a 65% market share combined across all their currently used browsers. In the [...]]]></description>
			<content:encoded><![CDATA[<table width="650">
<tr>
<td width="650">
<div>
      <img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/865f3_smashing-magazine-advertisement.gif" alt="" border="0" /><br />
      <a href="http://creatives.commindo-media.de/www/delivery/ck.php?zoneid=56" target="_blank"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/5b738_avw.php?zoneid=56" border="0" alt="" /></a>&nbsp;<a href="http://creatives.commindo-media.de/www/delivery/ck.php?zoneid=63" target="_blank"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/d1585_avw.php?zoneid=63" border="0" alt="" /></a>&nbsp;<a href="http://creatives.commindo-media.de/www/delivery/ck.php?zoneid=64" target="_blank"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/de718_avw.php?zoneid=64" border="0" alt="" /></a>
    </div>
</td>
</tr>
</table>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/fa5cb_spacer.gif" alt="" border="0" width="1" height="1" /></p>
<p>One of the most bizarre statistical facts in relation to browser use has to be the virtual widespread numbers that currently exist in the use of <strong>Internet Explorer</strong> versions 6, 7 and 8. As of this writing, <a href="http://marketshare.hitslink.com/browser-market-share.aspx?qprid=0">Internet Explorer holds about a 65% market share</a> combined across all their currently used browsers. In the web development community, this number is much lower, showing <a href="http://www.w3schools.com/browsers/browsers_stats.asp">about a 40% share</a>.</p>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/52ab7_ie.jpg" width="500" height="441" alt="Screenshot" /></p>
<p>The interesting part of those statistics is that the numbers across IE6, IE7, and IE8 are very close, preventing a single Microsoft browser from dominating browser stats &#8212; contrary to what has been the trend in the past. Due to these unfortunate statistics, it is <strong>imperative that developers do thorough testing in all currently-used Internet Explorer browsers</strong> when working on websites for clients, and on personal projects that target a broader audience.</p>
<p>Thanks to the many available JavaScript libraries, JavaScript testing across different browsers has become as close to perfect as the current situation will allow. But this is not true in CSS development, particularly in relation to the three currently used versions of Internet Explorer.</p>
<p>This article will attempt to provide an <strong>exhaustive, easy-to-use reference for developers desiring to know the differences in CSS support for IE6, IE7 and IE8</strong>. This reference contains brief descriptions and compatibility for:</p>
<ul>
<li>Any item that is supported by one of the three browser versions, but not the other two</li>
<li>Any item that is supported by two of the three browser versions, but not the other one</li>
</ul>
<p>This article does not discuss:</p>
<ul>
<li>Any item that is not supported by any of the three browser versions</li>
<li>Proprietary or vendor-specific CSS</li>
</ul>
<p>Therefore, the focus is on <em>differences</em> in the three, not necessarily lack of support. The list is divided into five sections:</p>
<ul>
<li><a href="http://www.smashingmagazine.com/2009/10/14/css-differences-in-internet-explorer-6-7-and-8/#selectors">Selectors &amp; Inheritance</a></li>
<li><a href="http://www.smashingmagazine.com/2009/10/14/css-differences-in-internet-explorer-6-7-and-8/#pseudo_classes">Pseudo-Classes and Pseudo-Elements</a></li>
<li><a href="http://www.smashingmagazine.com/2009/10/14/css-differences-in-internet-explorer-6-7-and-8/#property">Property Support</a></li>
<li><a href="http://www.smashingmagazine.com/2009/10/14/css-differences-in-internet-explorer-6-7-and-8/#other">Other Miscellaneous Techniques</a></li>
<li><a href="http://www.smashingmagazine.com/2009/10/14/css-differences-in-internet-explorer-6-7-and-8/#bugs">Significant Bugs and Incompatibilities</a></li>
</ul>
<h3>Selectors &amp; Inheritance</h3>
<h4>Child Selectors</h4>
<h5>Example</h5>
<pre>
body&gt;p {
	color: #fff;
}
</pre>
<h5>Description</h5>
<p>The child selector selects all elements that are immediate children of a specified parent element. In the example above, <code>body</code> is the parent, and <code>p</code> is the child.</p>
<h5>Support</h5>
<div>
<div><strong>IE6</strong><br />No</div>
<div><strong>IE7</strong><br />Yes</div>
<div><strong>IE8</strong><br />Yes</div>
</div>
<h5>Bugs</h5>
<p>In IE7, the child selector will not work if there is an HTML comment between the parent item and the child.</p>
<h4>Chained Classes</h4>
<h5>Example</h5>
<pre>
.class1.class2.class3 {
	background: #fff;
}
</pre>
<h5>Description</h5>
<p>Chained classes are used when the same HTML element has multiple classes declared, like this:</p>
<pre>
&lt;div class="class1 class2 class3"&gt;
&lt;p&gt;Content here.&lt;/p&gt;
&lt;/div&gt;
</pre>
<h5>Support</h5>
<div>
<div><strong>IE6</strong><br />No</div>
<div><strong>IE7</strong><br />Yes</div>
<div><strong>IE8</strong><br />Yes</div>
</div>
<h5>Bugs</h5>
<p>IE6 appears to support this property, because it matches the last class in the chain to an element having that class, however, it does not restrict the class to an element that has all the classes in the chain, like it should.</p>
<h4>Attribute Selectors</h4>
<h5>Example</h5>
<pre>
a[href] {
	color: #0f0;
}
</pre>
<h5>Description</h5>
<p>This selector allows an element to be targeted only if it has the specified attribute. In the example above, all anchor tags that have <code>href</code> attributes would qualify, but not anchor tags that did not have <code>href</code> attributes.</p>
<h5>Support</h5>
<div>
<div><strong>IE6</strong><br />No</div>
<div><strong>IE7</strong><br />Yes</div>
<div><strong>IE8</strong><br />Yes</div>
</div>
<h4>Adjacent Sibling Selectors</h4>
<h5>Example</h5>
<pre>
h1+p {
	color: #f00;
}
</pre>
<h5>Description</h5>
<p>This selector targets siblings that are adjacent to the specified element. The example above would target all paragraph tags that are siblings of, and come directly after, primary heading tags. For example:</p>
<pre>
&lt;h1&gt;heading&lt;/h1&gt;
&lt;p&gt;Content here.&lt;/p&gt;
&lt;p&gt;Content here.&lt;/p&gt;
</pre>
<p>In the code above, the CSS styles specified would target only the first paragraph, because it is a sibling to the &lt;h1&gt; tag and is adjacent. The second paragraph is a sibling, but is not adjacent.</p>
<h5>Support</h5>
<div>
<div><strong>IE6</strong><br />No</div>
<div><strong>IE7</strong><br />Yes</div>
<div><strong>IE8</strong><br />Yes</div>
</div>
<h5>Bugs</h5>
<p>In IE7, the adjacent sibling selector will not work if there is an HTML comment between the siblings.</p>
<h4>General Sibling Selectors</h4>
<h5>Example</h5>
<pre>
h1~p {
	color: #f00;
}
</pre>
<h5>Description</h5>
<p>This selector targets all siblings that appear after a specified element. Applying this selector to the HTML example given in the previous section will select both paragraph tags, however, if one of the paragraphs appeared before the heading, that paragraph would not be targeted.</p>
<h5>Support</h5>
<div>
<div><strong>IE6</strong><br />No</div>
<div><strong>IE7</strong><br />Yes</div>
<div><strong>IE8</strong><br />Yes</div>
</div>
<h3>Pseudo-Classes and Pseudo-Elements</h3>
<h4>Descendant Selector After :hover Pseudo-Class</h4>
<h5>Example</h5>
<pre>
a:hover span {
	color: #0f0;
}
</pre>
<h5>Description</h5>
<p>An element can be targeted with a selector after a :hover pseudo class, similar to how any descendant selector works. The above example would change the font color inside all <code>&lt;span&gt;</code> elements inside of anchor elements while the anchor is hovered over.</p>
<h5>Support</h5>
<div>
<div><strong>IE6</strong><br />No</div>
<div><strong>IE7</strong><br />Yes</div>
<div><strong>IE8</strong><br />Yes</div>
</div>
<h4>Chained Pseudo-Classes</h4>
<h5>Example</h5>
<pre>
a:first-child:hover {
	color: #0f0;
}
</pre>
<h5>Description</h5>
<p>Pseudo-classes can be chained to narrow element selection. The above example would target every anchor tag that is the first child of its parent and apply a hover class to it.</p>
<h5>Support</h5>
<div>
<div><strong>IE6</strong><br />No</div>
<div><strong>IE7</strong><br />Yes</div>
<div><strong>IE8</strong><br />Yes</div>
</div>
<h4>:hover on Non-Anchor Elements</h4>
<h5>Example</h5>
<pre>
div:hover {
	color: #f00;
}
</pre>
<h5>Description</h5>
<p>The <code>:hover</code> pseudo-class can apply a hover, or rollover state, to any element, not just anchor tags.</p>
<h5>Support</h5>
<div>
<div><strong>IE6</strong><br />No</div>
<div><strong>IE7</strong><br />Yes</div>
<div><strong>IE8</strong><br />Yes</div>
</div>
<h4>:first-child Pseudo-Class</h4>
<h5>Example</h5>
<pre>
div li:first-child {
	background: blue;
}
</pre>
<h5>Description</h5>
<p>This pseudo-class targets each specified element that is the first child of its parent.</p>
<h5>Support</h5>
<div>
<div><strong>IE6</strong><br />No</div>
<div><strong>IE7</strong><br />Yes</div>
<div><strong>IE8</strong><br />Yes</div>
</div>
<h5>Bugs</h5>
<p>In IE7, the first-child pseudo-class will not work if an HTML comment appears before the targeted first child element.</p>
<h4>:focus Pseudo-Class</h4>
<h5>Example</h5>
<pre>
a:focus {
	border: solid 1px red;
}
</pre>
<h5>Description</h5>
<p>This pseudo-class targets any element that has keyboard focus.</p>
<h5>Support</h5>
<div>
<div><strong>IE6</strong><br />No</div>
<div><strong>IE7</strong><br />No</div>
<div><strong>IE8</strong><br />Yes</div>
</div>
<h4>:before and :after Pseudo-Elements</h4>
<h5>Example</h5>
<pre>
#box:before {
	content: "This text is before the box";
}

#box:after {
	content: "This text is after the box";
}
</pre>
<h5>Description</h5>
<p>This pseudo-element places generated content before or after the specified element, used in conjunction with the <code>content</code> property.</p>
<h5>Support</h5>
<div>
<div><strong>IE6</strong><br />No</div>
<div><strong>IE7</strong><br />No</div>
<div><strong>IE8</strong><br />Yes</div>
</div>
<h3>Property Support</h3>
<h4>Virtual Dimensions Determined by Position</h4>
<h5>Example</h5>
<pre>
#box {
	position: absolute;
	top: 0;
	right: 100px;
	left: 0;
	bottom: 200px;
	background: blue;
}
</pre>
<h5>Description</h5>
<p>Specifying <code>top</code>, <code>right</code>, <code>bottom</code>, and <code>left</code> values for an absolutely positioned element will give the element &#8220;virtual&#8221; dimensions (width and height), even if width and height are not specified.</p>
<h5>Support</h5>
<div>
<div><strong>IE6</strong><br />No</div>
<div><strong>IE7</strong><br />Yes</div>
<div><strong>IE8</strong><br />Yes</div>
</div>
<h4>Min-Height &amp; Min-Width</h4>
<h5>Example</h5>
<pre>
#box {
	min-height: 500px;
	min-width: 300px;
}
</pre>
<h5>Description</h5>
<p>These properties specify minimum values for either height or width, allowing a box to be larger, but not smaller, than the specified minimum values. They can be used together or individually.</p>
<h5>Support</h5>
<div>
<div><strong>IE6</strong><br />No</div>
<div><strong>IE7</strong><br />Yes</div>
<div><strong>IE8</strong><br />Yes</div>
</div>
<h4>Max-Height &amp; Max-Width</h4>
<h5>Example</h5>
<pre>
#box {
	max-height: 500px;
	max-width: 300px;
}
</pre>
<h5>Description</h5>
<p>These properties specify maximum values for either height or width, allowing a box to be smaller, but not larger, than the specified minimum values. They can be used together or individually.</p>
<h5>Support</h5>
<div>
<div><strong>IE6</strong><br />No</div>
<div><strong>IE7</strong><br />Yes</div>
<div><strong>IE8</strong><br />Yes</div>
</div>
<h4>Transparent Border Color</h4>
<h5>Example</h5>
<pre>
#box {
	border: solid 1px transparent;
}
</pre>
<h5>Description</h5>
<p>A transparent border color allows a border to occupy the same space as would be occupied if the border was visible, or opaque.</p>
<h5>Support</h5>
<div>
<div><strong>IE6</strong><br />No</div>
<div><strong>IE7</strong><br />Yes</div>
<div><strong>IE8</strong><br />Yes</div>
</div>
<h4>Fixed-Position Elements</h4>
<h5>Example</h5>
<pre>
#box {
	position: fixed;
}
</pre>
<h5>Description</h5>
<p>This value for the <code>position</code> property allows an element to be positioned absolutely relative to the viewport.</p>
<h5>Support</h5>
<div>
<div><strong>IE6</strong><br />No</div>
<div><strong>IE7</strong><br />Yes</div>
<div><strong>IE8</strong><br />Yes</div>
</div>
<h4>Fixed-Position Background Relative to Viewport</h4>
<h5>Example</h5>
<pre>
#box {
	background-image: url(images/bg.jpg);
	background-position: 0 0;
	background-attachment: fixed;
}
</pre>
<h5>Description</h5>
<p>A <code>fixed</code> value for the <code>background-attachment</code> property allows a background image to be positioned absolutely relative to the viewport.</p>
<h5>Support</h5>
<div>
<div><strong>IE6</strong><br />No</div>
<div><strong>IE7</strong><br />Yes</div>
<div><strong>IE8</strong><br />Yes</div>
</div>
<h5>Bugs</h5>
<p>IE6 incorrectly fixes the background image in relation to the containing parent of the element that has the background set, therefore this value only works in IE6 when its used on the root element.</p>
<h4>Property Value &#8220;inherit&#8221;</h4>
<h5>Example</h5>
<pre>
#box {
	display: inherit;
}
</pre>
<h5>Description</h5>
<p>Applying the value <code>inherit</code> to a property allows an element to inherit the computed value for that property from its containing element.</p>
<h5>Support</h5>
<div>
<div><strong>IE6</strong><br />No</div>
<div><strong>IE7</strong><br />No</div>
<div><strong>IE8</strong><br />Yes</div>
</div>
<h5>Bugs</h5>
<p>IE6 and IE7 do not support the value <code>inherit</code> except when applied to the <code>direction</code> and <code>visibility</code> properties.</p>
<h4>Border Spacing on Table Cells</h4>
<h5>Example</h5>
<pre>
table td {
	border-spacing: 3px;
}
</pre>
<h5>Description</h5>
<p>This property sets the spacing between the borders of adjacent table cells.</p>
<h5>Support</h5>
<div>
<div><strong>IE6</strong><br />No</div>
<div><strong>IE7</strong><br />No</div>
<div><strong>IE8</strong><br />Yes</div>
</div>
<h4>Rendering of Empty Cells in Tables</h4>
<h5>Example</h5>
<pre>
table {
	empty-cells: show;
}
</pre>
<h5>Description</h5>
<p>This property, which only applies to elements that have their <code>display</code> property set to <code>table-cell</code>, allows empty cells to be rendered with their borders and backgrounds, or else hidden.</p>
<h5>Support</h5>
<div>
<div><strong>IE6</strong><br />No</div>
<div><strong>IE7</strong><br />No</div>
<div><strong>IE8</strong><br />Yes</div>
</div>
<h4>Vertical Position of a Table Caption</h4>
<h5>Example</h5>
<pre>
table {
	caption-side: bottom;
}
</pre>
<h5>Description</h5>
<p>This property allows a table caption to appear at the bottom of a table, instead at the top, which is the default.</p>
<h5>Support</h5>
<div>
<div><strong>IE6</strong><br />No</div>
<div><strong>IE7</strong><br />No</div>
<div><strong>IE8</strong><br />Yes</div>
</div>
<h4>Clipping Regions</h4>
<h5>Example</h5>
<pre>
#box {
	rect(20px, 300px, 200px, 100px)
}
</pre>
<h5>Description</h5>
<p>This property specifies an area of a box that is visible, making the rest &#8220;clipped&#8221;, or invisible.</p>
<h5>Support</h5>
<div>
<div><strong>IE6</strong><br />No</div>
<div><strong>IE7</strong><br />No</div>
<div><strong>IE8</strong><br />Yes</div>
</div>
<h5>Bugs</h5>
<p>Interestingly, this property works in IE7 if the deprecated comma-less syntax is used (i.e. whitespace between the clipping values instead of commas).</p>
<h4>Orphaned and Widowed Text in Printed Pages</h4>
<h5>Example</h5>
<pre>
p {
	orphans: 4;
}

p {
	widows: 4;
}
</pre>
<h5>Description</h5>
<p>The <code>orphans</code> property specifies the minimum number of lines to display at the bottom of a printed page. The <code>widows</code> property specifies the minimum number of lines to display at the top of a printed page.</p>
<h5>Support</h5>
<div>
<div><strong>IE6</strong><br />No</div>
<div><strong>IE7</strong><br />No</div>
<div><strong>IE8</strong><br />Yes</div>
</div>
<h4>Page Breaks Inside Boxes</h4>
<h5>Example</h5>
<pre>
#box {
	page-break-inside: avoid;
}
</pre>
<h5>Description</h5>
<p>This property specifies whether a page break should occur inside of a specified element or not.</p>
<h5>Support</h5>
<div>
<div><strong>IE6</strong><br />No</div>
<div><strong>IE7</strong><br />No</div>
<div><strong>IE8</strong><br />Yes</div>
</div>
<h4>Outline Properties</h4>
<h5>Example</h5>
<pre>
#box {
	outline: solid 1px red;
}
</pre>
<h5>Description</h5>
<p><code>outline</code> is the shorthand property that encompasses <code>outline-style</code>, <code>outline-width</code>, and <code>outline-color</code>. This property is preferable to the <code>border</code> property since it does not affect document flow, thus better aiding debugging of layout issues.</p>
<h5>Support</h5>
<div>
<div><strong>IE6</strong><br />No</div>
<div><strong>IE7</strong><br />No</div>
<div><strong>IE8</strong><br />Yes</div>
</div>
<h4>Alternative Values for the Display Property</code></h4>
<h5>Example</h5>
<pre>
#box {
	display: inline-block;
}
</pre>
<h5>Description</h5>
<p>The <code>display</code> property is usually set to <code>block</code>, <code>inline</code>, or <code>none</code>. Alternative values include:</p>
<ul>
<li><code>inline-block</code></li>
<li><code>inline-table</code></li>
<li><code>list-item</code></li>
<li><code>run-in</code></li>
<li><code>table</code></li>
<li><code>table-caption</code></li>
<li><code>table-cell</code></li>
<li><code>table-column</code></li>
<li><code>table-column-group</code></li>
<li><code>table-footer-group</code></li>
<li><code>table-header-group</code></li>
<li><code>table-row</code></li>
<li><code>table-row-group</code></li>
</ul>
<h5>Support</h5>
<div>
<div><strong>IE6</strong><br />No</div>
<div><strong>IE7</strong><br />No</div>
<div><strong>IE8</strong><br />Yes</div>
</div>
<h4>Handling of Collapsible Whitespace</code></h4>
<h5>Example</h5>
<pre>
p {
	white-space: pre-line;
}

div {
	white-space: pre-wrap;
}
</pre>
<h5>Description</h5>
<p>The <code>pre-line</code> value for the <code>white-space</code> property specifies that multiple whitespace elements collapse into a single space, while allowing explicitly set line breaks. The <code>pre-wrap</code> value for the <code>white-space</code> property specifies that multiple whitespace elements do not collapse into a single space, while allowing explicitly set line breaks.</p>
<h5>Support</h5>
<div>
<div><strong>IE6</strong><br />No</div>
<div><strong>IE7</strong><br />No</div>
<div><strong>IE8</strong><br />Yes</div>
</div>
<h3>Other Miscellaneous Techniques</h3>
<h4>Media Types for @import</h4>
<h5>Example</h5>
<pre>
@import url("styles.css") screen;
</pre>
<h5>Description</h5>
<p>A media type for an imported style sheet is declared after the location of the style sheet, as in the example above. In this example, the media type is "screen".</p>
<h5>Support</h5>
<div>
<div><strong>IE6</strong><br />No</div>
<div><strong>IE7</strong><br />No</div>
<div><strong>IE8</strong><br />Yes</div>
</div>
<h5>Bugs</h5>
<p>Although IE6 and IE7 support <code>@import</code>, they fail when a media type is specified, causing the entire <code>@import</code> rule to be ignored.</p>
<h4>Incrementing of Counter Values</h4>
<h5>Example</h5>
<pre>
h2 {
	counter-increment: headers;
}

h2:before {
	content: counter(headers) ". ";
}
</pre>
<h5>Description</h5>
<p>This CSS technique allows auto-incrementing numbers to appear before specified elements, and is used in conjunction with the <code>before</code> pseudo-element.</p>
<h5>Support</h5>
<div>
<div><strong>IE6</strong><br />No</div>
<div><strong>IE7</strong><br />No</div>
<div><strong>IE8</strong><br />Yes</div>
</div>
<h4>Quote Characters for Generated Content</h4>
<h5>Example</h5>
<pre>
q {
	quotes: "'" "'";
}

q:before {
	content: open-quote;
}

q:after {
	content: close-quote;
}
</pre>
<h5>Description</h5>
<p>Specifies the quote characters to use for generated content applied to the <code>q</code> (quotation) tag.</p>
<h5>Support</h5>
<div>
<div><strong>IE6</strong><br />No</div>
<div><strong>IE7</strong><br />No</div>
<div><strong>IE8</strong><br />Yes</div>
</div>
<h3>Significant Bugs and Incompatibilities</h3>
<p>Following is a brief description of various <strong>bugs that occur in IE6 and IE7 that are not described</strong> or alluded to above. This list does not include items that lack support in all three browsers.</p>
<h4>IE6 Bugs</h4>
<ul>
<li>Doesn't support styling of the <code>&lt;abbr&gt;</code> element</li>
<li>Doesn't support classes	and IDs that begin with a hyphen or underscore</li>
<li><code>&lt;select&gt;</code> elements always appear at the top of the stack, unaffected by <code>z-index</code> values</li>
<li><code>:hover</code> pseudo-class values are ignored if anchor pseudo-classes are not in the correct order (<code>:link</code>, <code>:visited</code>, <code>:hover</code>)</li>
<li>An <code>!important</code> declaration on a property is overridden by a 2nd declaration of the same property in the same rule set that doesn't use <code>!important</code></li>
<li><code>height</code> behaves like <code>min-height</code></li>
<li><code>width</code> behaves like <code>min-width</code></li>
<li>Left and right margins are doubled on floated elements that touch their parents' side edges</li>
<li>Dotted borders appear identical to dashed borders</li>
<li><code>line-through</code> value for <code>text-decoration</code> property appears higher on the text than on other browsers</li>
<li>List items for an ordered list that have a layout will not increment their numbers, leaving all list items preceded by the number "1"</li>
<li>List items don't support all possible values for <code>list-style-type</code></li>
<li>List items with a specified <code>list-style-image</code> will not display the image if they are floated</li>
<li>Offers only partial support for <code>@font-face</code>
<li>Some selectors will wrongly match comments and the doctype declaration</li>
<li>If an ID selector combined with a class selector is unmatched, the same ID selector combined with different class selectors will also be treated as unmatched</li>
</ul>
<h4>IE7 Bugs</h4>
<ul>
<li>List items for an ordered list that have a layout will not increment their numbers, leaving all list items preceded by the number "1"</li>
<li>List items don't support all possible values for <code>list-style-type</code></li>
<li>List items with a specified <code>list-style-image</code> will not display the image if they are floated</li>
<li>Offers only partial support for <code>@font-face</code></li>
<li>Some selectors will wrongly match comments and the doctype declaration</li>
</ul>
<p>Some IE bugs not mentioned here occur only under particular circumstances, and are not specific to one particular CSS property or value. See the references below for some of those additional issues.</p>
<h3>Further Resources</h3>
<ul>
<li><a href="http://www.howtocreate.co.uk/ie8.html">Details of Changes in Internet Explorer 8</a></li>
<li><a href="http://msdn.microsoft.com/en-us/library/cc351024(VS.85).aspx">CSS Compatibility for Internet Explorer (MSDN)</a></li>
<li><a href="http://msdn.microsoft.com/en-us/library/cc304082(VS.85).aspx">CSS Improvements in Internet Explorer 8 (MSDN)</a></li>
<li><a href="http://www.positioniseverything.net/explorer.html">Internet Explorer Exposed - CSS Bugs @ Position Is Everything</a></li>
<li><a href="http://reference.sitepoint.com/css">SitePoint CSS Reference</a></li>
<li><a href="http://www.quirksmode.org/css/contents.html">CSS Contents and Browser Compatibility</a></li>
<li><a href="http://www.impressivewebs.com/10-useful-css-properties-not-supported-by-internet-explorer/">10 Useful CSS Properties Not Supported By Internet Explorer</a></li>
</ul>
<h4>About the Author</h4>
<p><em>Louis Lazaris is a writer and freelance Web Developer based in Toronto, Canada. He has 9 years of experience in the web development industry and posts <a href="http://www.impressivewebs.com/articles">web design articles</a> and <a href="http://www.impressivewebs.com/tutorials">tutorials</a> on his blog, <a href="http://www.impressivewebs.com">Impressive Webs</a>. You can <a href="http://twitter.com/ImpressiveWebs">follow Louis on Twitter</a> or contact him using <a href="http://www.impressivewebs.com/contact">this form</a>.</em></p>
<hr />
<p>© Louis Lazaris for <a href="http://www.smashingmagazine.com">Smashing Magazine</a>, 2009. |<br />
<a href="http://www.smashingmagazine.com/2009/10/14/css-differences-in-internet-explorer-6-7-and-8/">Permalink</a> |<br />
<a href="http://www.smashingmagazine.com/2009/10/14/css-differences-in-internet-explorer-6-7-and-8/#comments">36 comments</a> |<br />
<a title="Bookmark in del.icio.us" href="http://del.icio.us/post?url=http://www.smashingmagazine.com/2009/10/14/css-differences-in-internet-explorer-6-7-and-8/&amp;title=CSS Differences in Internet Explorer 6, 7 and 8">Add to del.icio.us</a> | <a title="Bookmark in Digg" href="http://digg.com/submit?phase=2&amp;url=http://www.smashingmagazine.com/2009/10/14/css-differences-in-internet-explorer-6-7-and-8/">Digg this</a> | <a title="Stumble on StumbleUpon" href="http://www.stumbleupon.com/submit?url=http://www.smashingmagazine.com/2009/10/14/css-differences-in-internet-explorer-6-7-and-8/">Stumble on StumbleUpon!</a> | <a title="Tweet us!" href="http://twitter.com/home?status=@tweetmeme%20@smashingmag%20Reading%20'CSS Differences in Internet Explorer 6, 7 and 8' http://www.smashingmagazine.com/2009/10/14/css-differences-in-internet-explorer-6-7-and-8/">Tweet it!</a> | <a title="Bookmark in Reddit" href="http://reddit.com/submit?url=http://www.smashingmagazine.com/2009/10/14/css-differences-in-internet-explorer-6-7-and-8/">Submit to Reddit</a> | <a href="http://forum.smashingmagazine.com/">Forum Smashing Magazine</a></p>
<p>
Post tags: <a href="http://www.smashingmagazine.com/tag/css/" rel="tag">CSS</a>, <a href="http://www.smashingmagazine.com/tag/internet-explorer/" rel="tag">internet explorer</a>
</p>
<p><a href="http://rss1.smashingmagazine.com/feed/">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/css-differences-in-internet-explorer-6-7-and-8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Theatrical movie trailer with jQuery</title>
		<link>http://www.neurosoftware.ro/programming-blog/blogposter/tutorial/theatrical-movie-trailer-with-jquery/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/blogposter/tutorial/theatrical-movie-trailer-with-jquery/#comments</comments>
		<pubDate>Sat, 03 Oct 2009 12:35:27 +0000</pubDate>
		<dc:creator>BlogPoster</dc:creator>
				<category><![CDATA[tutorial]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[css letter spacing]]></category>
		<category><![CDATA[css property]]></category>
		<category><![CDATA[Don]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[proof of concept]]></category>
		<category><![CDATA[property]]></category>
		<category><![CDATA[Read]]></category>
		<category><![CDATA[Skype]]></category>
		<category><![CDATA[something]]></category>
		<category><![CDATA[theatrical movie trailer]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/blogposter/tutorial/theatrical-movie-trailer-with-jquery/</guid>
		<description><![CDATA[Don&#8217;t you wonder sometimes, when looking at something, how you can create something like that yourself? I have to admit that I do. This is why I came up with the Skype for Mac and the iPhone examples in your webbrowser. Today, we&#8217;re trying something new in this Proof of Concept category: creating a theatrical [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://feedads.g.doubleclick.net/~a/qu-lWfW3JC-b3iropWh75sRcNlo/0/da"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/f00ba_di" border="0"></img></a><br />
<a href="http://feedads.g.doubleclick.net/~a/qu-lWfW3JC-b3iropWh75sRcNlo/1/da"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/eaffe_di" border="0"></img></a></p>
<p>Don&#8217;t you wonder sometimes, when looking at something, how you can create something like that yourself? I have to admit that I do. This is why I came up with the <a href="http://www.marcofolio.net/webdesign/the_mac_skype_app_menu_with_css3_and_jquery.html" title="The Mac Skype App menu with CSS3 and jQuery">Skype for Mac</a> and the <a href="http://www.marcofolio.net/webdesign/the_iphone_unlock_screen_in_xhtml_css_and_jquery.html" title="The iPhone unlock screen in xHTML, CSS and jQuery">iPhone examples</a> in your webbrowser. Today, we&#8217;re trying something new in this <em>Proof of Concept</em> category: creating a <strong>theatrical movie trailer with jQuery</strong></p>
<div>
<img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/eaffe_movie_trailer.png" alt="Theatrical movie trailer with jQuery" />
</div>
<p>This technique could be really well used when creating a slide-show that just needs some text. Using the CSS <code>letter-spacing</code> property, we can really make it look like the movies.</p>
<div><a href="http://demo.marcofolio.net/movie_trailer/" title="Demo Theatrical movie trailer"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/eaffe_demo.png" alt="Demo Theatrical movie trailer" /></a>&nbsp;&nbsp;<br />
<a href="http://www.marcofolio.net/downloads/webdesign/theatrical_movie_trailer_with_jquery/download.html" title="Download Theatrical movie trailer"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/e9447_download.png" alt="Download Theatrical movie trailer" /></a></div>
<p>I&#8217;ll leave out the CSS in this tutorial, since not much really important stuff is going on there. This example works best in Firefox &#8211; Although it works in Safari and Opera too, the <code>letter-spacing</code> CSS property gets rounded up (or down) and you won&#8217;t be able to see the full effect. Also, you&#8217;ll need to imagine the sound effects yourself.</p>
<p><a href="http://www.marcofolio.net/webdesign/theatrical_movie_trailer_with_jquery.html">Read more&#8230;</a></p>
<div>
<a href="http://feeds.feedburner.com/~ff/marcofolio?a=V0U2gkqcZTE:3rBg8mU-tHo:yIl2AUoC8zA"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/e9447_marcofolio?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/marcofolio?a=V0U2gkqcZTE:3rBg8mU-tHo:bcOpcFrp8Mo"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/3f232_marcofolio?d=bcOpcFrp8Mo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/marcofolio?a=V0U2gkqcZTE:3rBg8mU-tHo:gIN9vFwOqvQ"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/3f232_marcofolio?i=V0U2gkqcZTE:3rBg8mU-tHo:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/marcofolio?a=V0U2gkqcZTE:3rBg8mU-tHo:F7zBnMyn0Lo"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/7b3eb_marcofolio?i=V0U2gkqcZTE:3rBg8mU-tHo:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/marcofolio?a=V0U2gkqcZTE:3rBg8mU-tHo:V_sGLiPBpWU"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/7b3eb_marcofolio?i=V0U2gkqcZTE:3rBg8mU-tHo:V_sGLiPBpWU" border="0"></img></a>
</div>
<p><a href="http://feeds2.feedburner.com/marcofolio">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/blogposter/tutorial/theatrical-movie-trailer-with-jquery/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

