<?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>Inspect Element &#187; jQuery</title>
	<atom:link href="http://inspectelement.com/tag/jquery/feed/" rel="self" type="application/rss+xml" />
	<link>http://inspectelement.com</link>
	<description>Web Design &#38; Development Blog</description>
	<lastBuildDate>Tue, 07 Feb 2012 14:31:58 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Focus</title>
		<link>http://inspectelement.com/snippets/focus/</link>
		<comments>http://inspectelement.com/snippets/focus/#comments</comments>
		<pubDate>Tue, 28 Sep 2010 11:19:58 +0000</pubDate>
		<dc:creator>Tom Kenny</dc:creator>
				<category><![CDATA[Snippets]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://inspectelement.com/?p=7153</guid>
		<description><![CDATA[Smart advice for accessibility.]]></description>
			<content:encoded><![CDATA[<p><a href="http://twitter.com/anton/status/19083179920"><img class="alignnone size-full wp-image-7154" title="focus" src="http://inspectelement.com/wp-content/uploads/2010/09/focus.jpg" alt="" width="650" height="354" /></a></p>
<p>Smart advice for accessibility.</p>
]]></content:encoded>
			<wfw:commentRss>http://inspectelement.com/snippets/focus/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Textarea Auto-Resize Plugin for jQuery</title>
		<link>http://inspectelement.com/snippets/textarea-auto-resize-plugin-for-jquery/</link>
		<comments>http://inspectelement.com/snippets/textarea-auto-resize-plugin-for-jquery/#comments</comments>
		<pubDate>Mon, 19 Jul 2010 13:20:58 +0000</pubDate>
		<dc:creator>Tom Kenny</dc:creator>
				<category><![CDATA[Snippets]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://inspectelement.com/?p=6898</guid>
		<description><![CDATA[I&#8217;ve been looking for something like this for a while. Avoids the annoying problem of typing too much text and not being able to see all you&#8217;ve typed without having to scroll in a small box. It&#8217;s also smart enough to resize down when you delete text that has caused it to grow. I may [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been looking for something like this for a while. Avoids the annoying problem of typing too much text and not being able to see all you&#8217;ve typed without having to scroll in a small box. It&#8217;s also smart enough to resize down when you delete text that has caused it to grow. I may even install it as a local browser script and apply it too ALL textarea fields I come across if only for my own sanity.</p>
]]></content:encoded>
			<wfw:commentRss>http://inspectelement.com/snippets/textarea-auto-resize-plugin-for-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Code a Backwards Compatible, One Page Portfolio with HTML5 and CSS3</title>
		<link>http://inspectelement.com/tutorials/code-a-backwards-compatible-one-page-portfolio-with-html5-and-css3/</link>
		<comments>http://inspectelement.com/tutorials/code-a-backwards-compatible-one-page-portfolio-with-html5-and-css3/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 21:12:14 +0000</pubDate>
		<dc:creator>Tom Kenny</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://inspectelement.com/?p=6298</guid>
		<description><![CDATA[HTML5 is the future of web development but believe it or not you can start using it today. HTML5 is much more considerate to semantics and accessibility as we don't have to throw meaningless div's everywhere. It introduces meaningful tags for common elements such as navigations and footers which makes much more sense and are more natural.

This is a run through of the basics of HTML5 and CSS3 while still paying attention to older browsers. ]]></description>
			<content:encoded><![CDATA[<p>HTML5 is the future of web development but believe it or not you can start using it today. HTML5 is much more considerate to semantics and accessibility as we don&#8217;t have to throw meaningless div&#8217;s everywhere. It introduces meaningful tags for common elements such as navigations and footers which makes much more sense and are more natural.</p>
<p>This is a run through of the basics of HTML5 and CSS3 while still paying attention to older browsers. Before we start, make note of the answer to this question. <a href="http://dowebsitesneedtolookexactlythesameineverybrowser.com/">Do websites need to look exactly the same in every browser?</a></p>
<p style="font-size: 24px;"><a style="font-size: 24px;" href="http://inspectelement.com/html5portfolio/">View Demo</a> | <a style="font-size: 24px;" href="http://inspectelement.com/html5portfolio/HTML5_portfolio.zip">Download Files (.zip)</a></p>
<p><img title="html5portfolio" src="http://inspectelement.com/wp-content/uploads/2010/01/html5portfolio.jpg" alt="" width="555" height="216" /></p>
<p><span id="more-6298"></span><strong></strong></p>
<h3><strong>The HTML</strong></h3>
<pre><code><span>&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;

&lt;!-- This is a demonstration of HTML5 goodness with healthy does of CSS3 mixed in --&gt;
&lt;head&gt;

    &lt;title&gt;One Page Portfolio&lt;/title&gt;
    &lt;meta http-equiv="content-type" content="text/html; charset=UTF-8" /&gt;

    &lt;!--[if IE]&gt;
    	&lt;script src="<a class="linkifyplus" href="http://html5shiv.googlecode.com/svn/trunk/html5.js">http://html5shiv.googlecode.com/svn/trunk/html5.js</a>"&gt;&lt;/script&gt;
    &lt;![endif]--&gt;

    &lt;!--[if IE 7]&gt;
    	&lt;link rel="stylesheet" href="ie7.css" type="text/css" media="screen" /&gt;
    &lt;![endif]--&gt;

    &lt;link rel="stylesheet" href="style.css" type="text/css" media="screen" /&gt;

    &lt;script src="<a class="linkifyplus" href="http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js">http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js</a>" type="text/javascript"&gt;&lt;/script&gt;
    &lt;script src="js/jquery.anchor.js" type="text/javascript"&gt;&lt;/script&gt;
    &lt;script src="js/jquery.fancybox-1.2.6.pack.js" type="text/javascript"&gt;&lt;/script&gt;

&lt;/head&gt;

&lt;body&gt;

    &lt;header&gt; &lt;!-- HTML5 header tag --&gt;

    	&lt;div id="headercontainer"&gt;

    		&lt;h1&gt;&lt;a class="introlink anchorLink" href="#intro"&gt;Web Design Portfolio&lt;/a&gt;&lt;/h1&gt;

    		&lt;nav&gt; &lt;!-- HTML5 navigation tag --&gt;
    			&lt;ul&gt;
    				&lt;li&gt;&lt;a class="introlink anchorLink" href="#intro"&gt;Intro&lt;/a&gt;&lt;/li&gt;
    				&lt;li&gt;&lt;a class="portfoliolink anchorLink" href="#portfolio"&gt;Portfolio&lt;/a&gt;&lt;/li&gt;
    				&lt;li&gt;&lt;a class="aboutlink anchorLink" href="#about"&gt;About&lt;/a&gt;&lt;/li&gt;
    				&lt;li&gt;&lt;a class="contactlink anchorLink" href="#contact"&gt;Contact&lt;/a&gt;&lt;/li&gt;
    			&lt;/ul&gt;
    		&lt;/nav&gt;

    	&lt;/div&gt;

    &lt;/header&gt;

    &lt;section id="contentcontainer"&gt; &lt;!-- HTML5 section tag for the content 'section' --&gt;

    	&lt;section id="intro"&gt;

    		&lt;h2 class="intro"&gt;Hand-coded &lt;strong&gt;HTML&lt;/strong&gt; and &lt;strong&gt;CSS&lt;/strong&gt; is what I do. &lt;span class="sub"&gt;It's what I'm good at so why not?&lt;/span&gt;&lt;/h2&gt;

    		&lt;a class="featured" href="<a class="linkifyplus" href="http://inspectelement.com">http://inspectelement.com</a>"&gt;&lt;img src="images/featured.gif" alt="Inspect Element large preview" /&gt;&lt;/a&gt;

    		&lt;p&gt;Featured Project: &lt;a href="#"&gt;Inspect Element&lt;/a&gt;&lt;/p&gt;

    	&lt;/section&gt;

    	&lt;section id="portfolio"&gt; &lt;!-- HTML5 section tag for the portfolio 'section' --&gt;

    		&lt;h2 class="work"&gt;My Portfolio&lt;/h2&gt;

    		&lt;ul class="work"&gt;
    			&lt;li&gt;
    				&lt;a href="<a class="linkifyplus" href="http://inspectelement.com">http://inspectelement.com</a>"&gt;&lt;img src="images/inspectelementSmall.jpg" alt="Inspect Element preview" /&gt;&lt;/a&gt;
    			&lt;/li&gt;
    			&lt;li&gt;
    				&lt;a href="<a class="linkifyplus" href="http://inspectelement.com">http://inspectelement.com</a>"&gt;&lt;img src="images/inspectelementSmall.jpg" alt="Inspect Element preview" /&gt;&lt;/a&gt;
    			&lt;/li&gt;
    			&lt;li&gt;
    				&lt;a href="<a class="linkifyplus" href="http://inspectelement.com">http://inspectelement.com</a>"&gt;&lt;img src="images/inspectelementSmall.jpg" alt="Inspect Element preview" /&gt;&lt;/a&gt;
    			&lt;/li&gt;
    			&lt;li&gt;
    				&lt;a href="<a class="linkifyplus" href="http://inspectelement.com">http://inspectelement.com</a>"&gt;&lt;img src="images/inspectelementSmall.jpg" alt="Inspect Element preview" /&gt;&lt;/a&gt;
    			&lt;/li&gt;
    			&lt;li&gt;
    				&lt;a href="<a class="linkifyplus" href="http://inspectelement.com">http://inspectelement.com</a>"&gt;&lt;img src="images/inspectelementSmall.jpg" alt="Inspect Element preview" /&gt;&lt;/a&gt;
    			&lt;/li&gt;
    			&lt;li&gt;
    				&lt;a href="<a class="linkifyplus" href="http://inspectelement.com">http://inspectelement.com</a>"&gt;&lt;img src="images/inspectelementSmall.jpg" alt="Inspect Element preview" /&gt;&lt;/a&gt;
    			&lt;/li&gt;
    			&lt;li&gt;
    				&lt;a href="<a class="linkifyplus" href="http://inspectelement.com">http://inspectelement.com</a>"&gt;&lt;img src="images/inspectelementSmall.jpg" alt="Inspect Element preview" /&gt;&lt;/a&gt;
    			&lt;/li&gt;
    			&lt;li&gt;
    				&lt;a href="<a class="linkifyplus" href="http://inspectelement.com">http://inspectelement.com</a>"&gt;&lt;img src="images/inspectelementSmall.jpg" alt="Inspect Element preview" /&gt;&lt;/a&gt;
    			&lt;/li&gt;
    			&lt;li&gt;
    				&lt;a href="<a class="linkifyplus" href="http://inspectelement.com">http://inspectelement.com</a>"&gt;&lt;img src="images/inspectelementSmall.jpg" alt="Inspect Element preview" /&gt;&lt;/a&gt;
    			&lt;/li&gt;
    		&lt;/ul&gt;

    	&lt;/section&gt;

    	&lt;section id="about"&gt; &lt;!-- HTML5 section tag for the about 'section' --&gt;

    		&lt;h2 class="about"&gt;About Me&lt;/h2&gt;

    		&lt;p&gt;Now this is a story all about how my life got twisted upside down and I'd like to take a minute just sit right there I'll tell you how I became the prince of a town called Bel-Air. In West Philadelphia born and raised on the playground my momma said most of my days chilling out, maxing and relaxing all cool and all shooting some b-ball outside of school when a couple of guys they were up to no good started making trouble in our neighbourhood I got in one little fight and my mom got scared, she said your moving in with your auntie and uncle in Bel-Air&lt;/p&gt;

    	&lt;/section&gt;

    	&lt;section id="contact"&gt; &lt;!-- HTML5 section tag for the contact 'section' --&gt;

    		&lt;h2 class="contact"&gt;Contact Me&lt;/h2&gt;

    		&lt;p&gt;I whistled for a cab and when it came near the license plate said fresh and had dice in the mirror, if anything I could say that this cab was rare but I thought nah, &lt;a href=""&gt;forget it&lt;/a&gt;, yo home to Bel-Air! I pulled up to the house about seven or eight I yelled to the cabbie yo home, smell you later, looked at my kingdom I was finally there to sit on my throne as the prince of Bel-Air&lt;/p&gt;

    		&lt;form id="contactform"&gt; 

    			&lt;p&gt;&lt;label for="name"&gt;Name&lt;/label&gt;&lt;/p&gt;
    			&lt;input type="text" id=name name=name placeholder="First and last name" required tabindex="1" /&gt; 

    			&lt;p&gt;&lt;label for="email"&gt;Email&lt;/label&gt;&lt;/p&gt;
    			&lt;input type="text" id=email name=email placeholder="<a class="linkifyplus" href="mailto:example@domain.com">example@domain.com</a>" required tabindex="2" /&gt; 

    			&lt;p&gt;&lt;label for="comment"&gt;Your Message&lt;/label&gt;&lt;/p&gt;
    			&lt;textarea name="comment" id="comment" tabindex="4"&gt;&lt;/textarea&gt; 

    			&lt;input name="submit" type="submit" id="submit" tabindex="5" value="Send Message" /&gt; 

    		&lt;/form&gt; 

    	&lt;/section&gt;

    	&lt;footer&gt; &lt;!-- HTML5 footer tag --&gt;

    		&lt;ul&gt;
    			&lt;li&gt;&lt;img src="images/twitter.png" alt="" /&gt;&lt;a href="<a class="linkifyplus" href="http://twitter.com/tkenny">http://twitter.com/tkenny</a>"&gt;Follow me on Twitter&lt;/a&gt;&lt;/li&gt;
    			&lt;li&gt;&lt;a href="<a class="linkifyplus" href="http://inspectelement.com/articles/code-a-backwards-compatible-one-page-portfolio-with-html5-and-css3">http://inspectelement.com/articles/code-a-backwards-compatible-one-page-portfolio-with-html5-and-css3</a>"&gt;Back to the Tutorial on Inspect Element&lt;/a&gt;&lt;/li&gt;
    		&lt;/ul&gt;

    	&lt;/footer&gt;	

    &lt;/section&gt;

&lt;/body&gt;

&lt;/html&gt;</span></code></pre>
<p><a href="http://inspectelement.com/html5portfolio/index.html">Download the HTML here</a> (Right-click and save as).</p>
<p>First thing first, let&#8217;s make sure the <a href="http://validator.w3.org/check?uri=http%3A%2F%2Finspectelement.com%2Fhtml5portfolio%2F">code validates</a> with W3C&#8217;s experimental HTML5 validator.</p>
<p><img class="alignnone size-full wp-image-6323" title="html5validate" src="http://inspectelement.com/wp-content/uploads/2010/01/html5validate.gif" alt="" width="555" height="28" /></p>
<p>Good news, it does! This is a simple example but good to know we&#8217;re on the right lines.</p>
<h3>The HTML5 Goodness</h3>
<p>As you can see from the code above there are new tags that you may not be familiar with. To make it even simpler here is the code stripped down to only the HTML5 tags.</p>
<pre><code>&lt;header&gt; &lt;!-- HTML5 header tag --&gt;

        &lt;nav&gt; &lt;!-- HTML5 navigation tag --&gt;
	&lt;/nav&gt;

&lt;/header&gt; 

&lt;section id="contentcontainer"&gt; &lt;!-- HTML5 section tag for the content 'section' --&gt;

	&lt;section id="intro"&gt; &lt;!-- HTML5 section tag for the introduction 'section' --&gt;
	&lt;/section&gt;

	&lt;section id="portfolio"&gt; &lt;!-- HTML5 section tag for the portfolio 'section' --&gt;
	&lt;/section&gt;

	&lt;section id="about"&gt; &lt;!-- HTML5 section tag for the about 'section' --&gt;
	&lt;/section&gt;

	&lt;section id="contact"&gt; &lt;!-- HTML5 section tag for the contact 'section' --&gt;
	&lt;/section&gt;

	&lt;footer&gt; &lt;!-- HTML5 footer tag --&gt;
	&lt;/footer&gt;	

&lt;/section&gt;</code></pre>
<h4>Header</h4>
<p>The first one you&#8217;ll notice is <strong>&lt;header&gt;</strong> and it does exactly what it implies. You can use this for the header of your page, typically containing the logo and the navigation.</p>
<blockquote><p>The header element represents a group of introductory or navigational aids.</p>
<p>A header element is intended to usually contain the section&#8217;s heading (an h1–h6 element or an hgroup element), but this is not required. The header element can also be used to wrap a section&#8217;s table of contents, a search form, or any relevant logos.</p></blockquote>
<p>The <a href="http://dev.w3.org/html5/spec/Overview.html#the-header-element">header</a> element as described in the HTML5 specs.</p>
<h4>Nav</h4>
<p>The <strong>&lt;nav&gt;</strong> tag now gives us the ability to highlight the navigation of a site through the HTML. Usually contained within the header of a page but can also be applied to left or right sided navigation in sidebars.</p>
<blockquote><p>The nav element represents a section of a page that links to other pages or to parts within the page: a section with navigation links.</p>
<p>Not all groups of links on a page need to be in a nav element — only sections that consist of major navigation blocks are appropriate for the nav element. In particular, it is common for footers to have a short list of links to various pages of a site, such as the terms of service, the home page, and a copyright page. The footer element alone is sufficient for such cases, without a nav element.</p>
<p>User agents (such as screen readers) that are targeted at users who can benefit from navigation information being omitted in the initial rendering, or who can benefit from navigation information being immediately available, can use this element as a way to determine what content on the page to initially skip and/or provide on request.</p></blockquote>
<p>The <a href="http://dev.w3.org/html5/spec/Overview.html#the-nav-element">nav</a> element as described in the HTML5 specs</p>
<h4>Section</h4>
<p>In this example the <strong>&lt;section&gt;</strong> tag is being used to separate the different parts of the page. The introduction, my portfolio, about me and contact me areas are all sections that make up the page, all contained within a section tag.</p>
<blockquote><p>The section element represents a generic document or application section. A section, in this context, is a thematic grouping of content, typically with a heading.</p>
<p>Examples of sections would be chapters, the various tabbed pages in a tabbed dialog box, or the numbered sections of a thesis. A Web site&#8217;s home page could be split into sections for an introduction, news items, contact information.</p></blockquote>
<p>The <a href="http://dev.w3.org/html5/spec/Overview.html#the-section-element">section</a> element as described in the HTML5 specs.</p>
<h4>Footer</h4>
<p>You&#8217;ll find the <strong>&lt;footer&gt;</strong> tag at the end of the contact section of the portfolio example. It&#8217;s included there and not at the end of the document in this case because it contains content relevant to the contact section in the form of the <a href="http://twitter.com/tkenny">Twitter link</a> (ignoring the back to tutorial link). For more information read the following included in the HTML 5 spec overview:</p>
<blockquote><p>The footer element represents a footer for its nearest ancestor sectioning content or sectioning root element. A footer typically contains information about its section such as who wrote it, links to related documents, copyright data, and the like.</p>
<p>Contact information for the author or editor of a section belongs in an address element, possibly itself inside a footer.</p>
<p>Footers don&#8217;t necessarily have to appear at the end of a section, though they usually do.</p>
<p>When the footer element contains entire sections, they represent appendices, indexes, long colophons, verbose license agreements, and other such content.</p>
<p>The footer element is not sectioning content; it doesn&#8217;t introduce a new section.</p>
<p>When the nearest ancestor sectioning content or sectioning root element is the body element, then it applies to the whole page.</p></blockquote>
<p>The <a href="http://dev.w3.org/html5/spec/Overview.html#the-footer-element">footer</a> element as described in the HTML5 specs.</p>
<h4>The Form</h4>
<p>While the form itself doesn&#8217;t seem to be radically different to previous methods, HTML5 does introduce a nice addition in the placeholder <strong>attribute</strong>. Basically this fills in a text field with sample text much like we&#8217;re used to doing with Javascript now.</p>
<pre><code class="html"><span>&lt;input placeholder="<a class="linkifyplus" href="mailto:example@domain.com">example@domain.com</a>" /&gt;</span></code></pre>
<p>For more on HTML5 in forms make sure you check out <a href="http://24ways.org/2009/have-a-field-day-with-html5-forms">Have a Field Day with HTML5 Forms</a> on last year&#8217;s 24 ways.</p>
<h3>Backwards Compatibility</h3>
<p>All of this is great. We&#8217;re using the latest and greatest technology in web development but currently only a few browsers support HTML5 in any capacity. We now need to think about all versions of Internet Explorer which don&#8217;t include any support for HTML5 whatsoever. Fortunately for us, Remy Sharp has created a <a href="http://remysharp.com/2009/01/07/html5-enabling-script/">Javascript file</a> that reverses IE&#8217;s inability to style elements it doesn&#8217;t recognise.</p>
<p>Just included the following code:</p>
<pre><code><span>&lt;!--[if IE]&gt;
&lt;script src="<a class="linkifyplus" href="http://html5shiv.googlecode.com/svn/trunk/html5.js">http://html5shiv.googlecode.com/svn/trunk/html5.js</a>"&gt;&lt;/script&gt;
&lt;![endif]--&gt;</span></code></pre>
<p>Now that all major browsers will recognise the styling let&#8217;s move onto the CSS.</p>
<h3>The CSS3 Goodness</h3>
<p>Most of the CSS won&#8217;t be new to you but there are a few CSS3 properties that we&#8217;ll have a look at including gradients, embeddable fonts and text shadow.</p>
<p><a href="http://inspectelement.com/html5portfolio/style.css">View the CSS here</a></p>
<p>Let&#8217;s begin by looking at how this page behaves visually in a browser that supports CSS3. <a href="http://inspectelement.com/html5portfolio/">View the demo</a> in the latest versions of Safari, Chrome or Firefox to see the full effect. Or see the screenshots below:</p>
<p><img class="alignnone size-full wp-image-6375" title="logo" src="http://inspectelement.com/wp-content/uploads/2010/01/logo.jpg" alt="" width="401" height="115" /></p>
<p><img class="alignnone size-full wp-image-6373" title="about" src="http://inspectelement.com/wp-content/uploads/2010/01/about.jpg" alt="" width="523" height="334" /></p>
<p><img class="alignnone size-full wp-image-6374" title="form" src="http://inspectelement.com/wp-content/uploads/2010/01/form.jpg" alt="" width="471" height="250" /></p>
<h4>@font-face</h4>
<p>While this example uses @font-face on every instance of text, I wouldn&#8217;t recommend doing so on large websites. Also, using some fonts as body text may case text to become hard to read. Don&#8217;t get carried away. This theme uses <a href="http://www.yanone.de/typedesign/kaffeesatz/">Yanone Kaffeesatz</a> at a large enough size to make it very readable and differ enough from the regular web-safe fonts.</p>
<pre><code>@font-face { font-family: Keffeesatz; src: url(YanoneKaffeesatz-Light.otf) format("opentype") }
@font-face { font-family: KeffeesatzBold; src: url(YanoneKaffeesatz-Bold.otf) format("opentype") }</code></pre>
<h4>RGBa</h4>
<p>With RGBa you can declare a colour and an opacity as a single property. Not only that but it can be applied to anything that uses colour. To demonstrate this, the image link and input borders have RGBa applied. You can see the subtle background texture show through, especially noticeable on the input elements in the form.</p>
<pre><code>input[type="text"] { border: 5px solid rgba(122, 192, 0, 0.15); }</code></pre>
<p>The first three values (122, 192, 0) are the red, green and blue values of the colour with the fourth (0.15) being the alpha value, or opacity.</p>
<p>Where it can be seen in the example:</p>
<ul>
<li>Logo (subtle border top and bottom)</li>
<li>Image link borders</li>
<li>Input borders</li>
</ul>
<h4>Gradients</h4>
<p>WebKit started the support of CSS gradients and Mozilla have followed suit and implement a slightly different way of generating them but support is there. Make sure to set a standard background colour for browsers that don&#8217;t support RGBa. The example below shows a linear gradient going from bottom-to-top.</p>
<pre><code>h1 a {
background: -webkit-gradient(
    linear,
    left bottom,
    left top,
    color-stop(0.23, #c34000),
    color-stop(0.62, #ff5400)
);
background: -moz-linear-gradient(
    center bottom,
    #c34000 23%,
    #ff5400 62%
);
}</code></pre>
<p>Where it can be seen in the example:</p>
<ul>
<li>Logo</li>
<li>Button</li>
</ul>
<h4>Text-Shadow</h4>
<p>A great addition to CSS3 used in the one page portfolio to add a touch of depth to the text on the page lifting it slightly from the patterned background.</p>
<pre><code>body { text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2); }</code></pre>
<p>The first value is the horizontal distance, the second the vertical and the third how much blur is applied. The fourth value here is the previously mentioned RGBa. Both WebKit and firefox recognise the single declaration above which is nice.</p>
<p>Where it can be seen in the example:</p>
<ul>
<li>Everywhere (expect input text and)</li>
</ul>
<h4>Box-Shadow</h4>
<p>Be aware that the box-shadow CSS3 property has been <a href="http://www.w3.org/blog/CSS/2009/10/01/resolutions_79">dropped</a> from the CSS3 specs for now but it still works fine in WebKit and the latest versions of Firefox.</p>
<pre><code>header {
-webkit-box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.4);
-moz-box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.4);
}</code></pre>
<p>Where it can be seen in the example:</p>
<ul>
<li>Logo</li>
<li>Header</li>
<li>Hovering over image links</li>
<li>Hovering over input fields</li>
<li>Form button</li>
</ul>
<h4>Border-Radius</h4>
<p>Probably the most used CSS3 property in the wild right now and very simply implemented as the code shows below:</p>
<pre><code>h1 a {
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
}</code></pre>
<p>Where it can be seen in the example:</p>
<ul>
<li>Logo</li>
<li>Button</li>
<li>Borders that use RGBa in WebKit</li>
</ul>
<h4>Selection Colour</h4>
<p>Briefly <a href="http://inspectelement.com/didyouknow/change-the-browser-default-selection-appearance/">covered on Inspect Element before</a>, CSS3 gives us the ability to change the colour or background colour, or both, of selected text with the following code:</p>
<pre><code>::selection { background-color: rgba(122, 192, 0, 0.2); }
::-moz-selection { background-color: rgba(122, 192, 0, 0.2); }</code></pre>
<h3>So then, Internet Explorer&#8230;</h3>
<p>Let&#8217;s have a look at how this looks in our good old friend, Internet Explorer:</p>
<p><img class="alignnone size-full wp-image-6409" title="IE_html5portfolio" src="http://inspectelement.com/wp-content/uploads/2010/01/IE_html5portfolio.jpg" alt="" width="555" height="444" /></p>
<p><img class="alignnone size-full wp-image-6408" title="IE_contact" src="http://inspectelement.com/wp-content/uploads/2010/01/IE_contact.jpg" alt="" width="555" height="444" /></p>
<p>As you can see it doesn&#8217;t look quite as good as intended but it still looks really good. Don&#8217;t forget that the average visitor looking at sites in Internet Explorer typically don&#8217;t open it up in different browsers and compare the two so they&#8217;re none the wiser. It&#8217;s still perfectly readable and usable.</p>
<p>The possible exception is the logo, where you may want to save it as an image so it displays 100% as intended in all browsers.</p>
<h3>jQuery</h3>
<p>This extremely <a href="http://www.position-absolute.com/articles/better-html-anchor-a-jquery-script-to-slide-the-scrollbar/">simple method</a> of smooth scrolling using jQuery is used and makes navigation much more interesting.</p>
<h3>Can I have the .psd File please?</h3>
<p>You may be wondering where the Photoshop or Fireworks file is. Well, there isn&#8217;t one. This is a result of designing in the browser and shows what can be achieved when skipping the Photoshop design phase, saving a lot of time in the process.</p>
<p style="font-size: 24px;"><a style="font-size: 24px;" href="http://inspectelement.com/html5portfolio/">View Demo</a> | <a style="font-size: 24px;" href="http://inspectelement.com/html5portfolio/HTML5_portfolio.zip">Download Files (.zip)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://inspectelement.com/tutorials/code-a-backwards-compatible-one-page-portfolio-with-html5-and-css3/feed/</wfw:commentRss>
		<slash:comments>99</slash:comments>
		</item>
		<item>
		<title>How to Create a Theme Development Environment for a Live WordPress Site</title>
		<link>http://inspectelement.com/tutorials/create-a-wordpress-theme-development-environment/</link>
		<comments>http://inspectelement.com/tutorials/create-a-wordpress-theme-development-environment/#comments</comments>
		<pubDate>Mon, 11 Jan 2010 09:44:31 +0000</pubDate>
		<dc:creator>Tom Kenny</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://inspectelement.com/?p=5872</guid>
		<description><![CDATA[Any good website owner knows that they need to be constantly looking at ways to improve their site even through small little tweaks. If you're using <strong>Wordpress</strong> you'll notice that it isn't easy to create a development version without creating a separate installation. Of course, you can make changes directly on a live WordPress site but that isn't recommended for anything other than minor tweaks.]]></description>
			<content:encoded><![CDATA[<p>Any good website owner knows that they need to be constantly looking at ways to improve their site even through small little tweaks. If you&#8217;re using <strong>WordPress</strong> you&#8217;ll notice that it isn&#8217;t easy to create a development version without creating a separate installation. Of course, you can make changes directly on a live WordPress site but that isn&#8217;t recommended for anything other than minor tweaks.</p>
<p><img class="alignnone size-full wp-image-6027" title="themeDevEnvironment" src="http://inspectelement.com/wp-content/uploads/2010/01/themeDevEnvironment3.jpg" alt="" width="555" height="216" /></p>
<p>With the help of an excellent plugin for WordPress called <a href="http://www.nkuttler.de/wordpress/theme-switch-and-preview-plugin/">Theme switch and preview</a>, this tutorial will allow you to easily switch between the live site and development versions using two different themes on the same installation of WordPress. We&#8217;ll do this by creating a bar at the top of the page which will clearly show you if you&#8217;re viewing the live theme (what everyone else sees) or the development theme with a link to switch between the two.</p>
<p>While there may well be a Worpdress plugin that does everything below, it&#8217;s much more rewarding and satisfying to create your own solution.</p>
<p><span id="more-5872"></span><strong> </strong></p>
<h3><strong>Step 1: Install Theme Switcher WordPress Plugin</strong></h3>
<p>First step is to install the aforementioned plugin, <a href="http://wordpress.org/extend/plugins/theme-switcher/">Theme switch and preview</a>. You can access the configuration for Theme Switcher in the settings section of the WordPress admin sidebar on the left where you can also find a list of all the available themes.</p>
<div id="attachment_5887" class="wp-caption alignnone" style="width: 557px"><img class="size-full wp-image-5887" title="themes" src="http://inspectelement.com/wp-content/uploads/2010/01/themes.gif" alt="" width="547" height="58" /><p class="wp-caption-text">Screenshot of the themes installed on Inspect Element as seen in Theme Switcher&#39;s settings.</p></div>
<p>By clicking any of the links above, you can switch between themes without activation allowing you to see what a different theme looks like without affecting what your visitors sees. They will still see the activated theme.</p>
<h3><strong>Step 2: Create a Copy of the Current Theme</strong></h3>
<p>This is as easy as just duplicating the theme folder in you WordPress theme directory. Make sure to change the name of the theme as it is what Theme Switcher relies on to distinguish between installed themes.</p>
<p><img class="alignnone size-full wp-image-5890" title="themeName" src="http://inspectelement.com/wp-content/uploads/2010/01/themeName.gif" alt="" width="337" height="130" /></p>
<p>You can see from the screenshots above that Theme Switcher uses the &#8216;Theme Name&#8217; but WordPress also picks up on this in the Themes section of the admin area so it&#8217;s a good practice to stick to with for any theme. Here I&#8217;ve added dev in brackets to use for my development theme.</p>
<h3>Step 3: Add the Dev Bar to the Live Theme</h3>
<p>One of the best ways to indicate what theme you&#8217;re viewing is to add a colour coded bar at the top of the page when logged in. We need to use a bit of PHP to determine if you&#8217;re logged in. Open up the <strong>header.php</strong> file in your live theme and paste in the following code directly below the <em>&lt;body&gt;</em> tag.</p>
<pre><code>&lt;?php if ( is_user_logged_in() ) : ?&gt;

 	// Insert dev bar code here

&lt;?php else : ?&gt;

	// Nothing here

&lt;?php endif; ?&gt;</code></pre>
<p>So that&#8217;s a simple bit of WordPress PHP to see if you&#8217;re logged in or not expressed as an if else statement. Of course you&#8217;ll want to include some HTML for the bar itself. We&#8217;re going to insert a div and a link to the dev version as well as a title.</p>
<pre><code class="php">&lt;?php if ( is_user_logged_in() ) : ?&gt;

	&lt;div id="devbar" class="live"&gt;

		&lt;p&gt;Live Site&lt;/p&gt;

		&lt;a href="&lt;?php pageURL(); ?&gt;?theme=Inspect+Element+v3+%28dev%29"&gt;Switch to Dev&lt;/a&gt;

	&lt;/div&gt;

&lt;?php else : ?&gt;

	// Nothing here

&lt;?php endif; ?&gt;</code></pre>
<p>For the link to the dev theme, you need to go back to the settings page for the Theme Switcher plugin and copy the link your development theme. This is the link you&#8217;ll use in your live dev bar. There&#8217;s one small amendment to make here. Replace everything before the <em>?theme=</em> with a function that gets the current url so that you&#8217;ll remain on the same page when switching between themes.</p>
<p>For this to work, you need to open up the <strong>functions.php</strong> file in your live theme and paste in the following code:</p>
<pre><code>function pageURL() {
    $pageURL = 'http';
     if ($_SERVER["HTTPS"] == "on") {
        $pageURL .= "s";
    }
     $pageURL .= "://";
     if ($_SERVER["SERVER_PORT"] != "80") {
          $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
     }
    else {
          $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
     }</code></pre>
<p>Source: <a href="http://www.kisaso.com/how-to-get-the-current-url-of-web-page-in-php/">How to get the current URL of web page in PHP</a> (Note: I&#8217;ve changed the name of the function from <em>kish_trans_curPageUR</em>L to <em>pageURL </em>to keep things simple.)</p>
<h3>Step 4: Add the Dev Bar to the Development Theme</h3>
<p>Follow the same as above but this time insert the code into the development theme files. Also you&#8217;ll need to modify the code in the link on the <strong>header.php</strong> to go back to the live version.</p>
<pre><code class="php">&lt;?php if ( is_user_logged_in() ) : ?&gt;

	&lt;div id="devbar" class="dev"&gt;

		&lt;p&gt;Development Site&lt;/p&gt;

		&lt;a href="&lt;?php pageURL(); ?&gt;?theme=Inspect+Element+v3"&gt;Switch to Live&lt;/a&gt;

	&lt;/div&gt;

&lt;?php else : ?&gt;

	// Nothing here

&lt;?php endif; ?&gt;</code></pre>
<h3>Step 5: Style the Dev Bar</h3>
<p>Obviously you have free reign to do what you want here with any CSS you want with any code you&#8217;ve chosen to use for the dev bar. We&#8217;re going to give the dev bar a red background and make it span the width of the browser.</p>
<pre><code class="css">#devbar.live { background-color: red; width: 100%; height 50px; }</code></pre>
<p>Now you&#8217;ll want to make the bar on the live site look different to the development site so that you know which one you&#8217;re on at a quick glance.</p>
<pre><code class="css">#devbar.dev { background-color: green; width: 100%; height 50px; }</code></pre>
<p>Place these in the respective CSS files for the live theme and the development theme.</p>
<h4>Additional Styling</h4>
<p>Something that I like to do is to use the &#8216;logged-in&#8217; class that WordPress appends to the body tag when you&#8217;re logged in to add an extra visual guide for each theme.</p>
<p>In the live theme&#8217;s CSS, I&#8217;ve I like to add the following:</p>
<pre><code class="css">body.logged-in { border-left: 30px solid green; }</code></pre>
<p>And in the development theme&#8217;s CSS:</p>
<pre><code class="css">body.logged-in { border-left: 30px solid red; }</code></pre>
<p>This gives a big visual indicator of what theme you are currently viewing. If there is a big green bar on the left, you&#8217;re seeing what your visitors see and if the bar is red, you&#8217;re viewing the development version. This comes in very handy when you scroll down the page and can no longer see the dev bar.</p>
<p><a href="http://inspectelement.com/wp-content/uploads/2010/01/inspectElementLive.jpg"><img class="alignnone size-full wp-image-5987" title="inspectElementLiveSm" src="http://inspectelement.com/wp-content/uploads/2010/01/inspectElementLiveSm.jpg" alt="" width="555" height="132" /></a></p>
<p><a href="http://inspectelement.com/wp-content/uploads/2010/01/inspectElementDev.jpg"><img class="alignnone size-full wp-image-5986" title="inspectElementDevSm" src="http://inspectelement.com/wp-content/uploads/2010/01/inspectElementDevSm.jpg" alt="" width="555" height="132" /></a></p>
<p>The screenshots above (click for larger versions) show how I&#8217;ve implemented this into Inspect Element with the use of some extra CSS styling and a couple of icons.</p>
<h3>Step 6: Temporarily Hide the Dev Bar with jQuery</h3>
<p>There will be times where you want to see your site without the dev bar and border on the left just as people on the outside see it. The simplest way of achieving this is to use some basic jQuery. The following is code I&#8217;ve implemented to hide the dev bar and the border on the left when the paragraph (&#8216;Live Site&#8217; and &#8216;Development Site&#8217; text) of the dev bar is clicked.</p>
<pre><code>&lt;script type="text/javascript"&gt;

$(document).ready(function(){
	$("#devbar p").css('cursor','pointer').click(function () {
		$("#devbar").hide();
		$("body.logged-in").css('border','none');
	});
});

&lt;/script&gt;</code></pre>
<p>Simply put, this code hides the dev bar <em>and</em> removes the left border on the body when you click on the #devbar p element in the dev bar. You may consider adding a button dedicated to this function instead.</p>
<p>It&#8217;s best to place this within the code that determines if the dev bar should be shown as in step 3. That way it will only load when the dev bar code is available and not when it isn&#8217;t needed. Also, don&#8217;t forget you need to include the jQuery library if your site doesn&#8217;t already, or this part won&#8217;t work.</p>
<h4>Bring the Dev Bar back with Keyboard Shortcuts</h4>
<p>What if you want to bring the dev bar and left border back? It will return either when you refresh the page or navigate to another part of the site but we&#8217;ve hidden it with jQuery, so why not bring it back with some additional jQuery in the form of a keyboard shortcut.</p>
<p>The following code will hide the dev bar and remove the left border when the letter &#8216;N&#8217; is pressed and bring it back when pressing &#8216;Y&#8217;.</p>
<pre><code>&lt;script type="text/javascript"&gt;

	$(document).bind('keydown', function(evt) {
		switch(evt.which) {
			case 78:	// letter 'n'
				$("#devbar").hide();
				$("body.logged-in").css('border','none');
				break;
			case 89:	// letter 'y'
				$("#devbar").show();
				$("body.logged-in").css('border-left','30px solid #972324');
				break;
		}
	});

&lt;/script&gt;</code></pre>
<h3>Create Your Own</h3>
<p>Ideally this is meant for designers who run their own site or manage an existing client&#8217;s site through WordPress. I&#8217;ve only been using this for couple of days now and already it&#8217;s made a world of difference whenever I want to make any changes but need to test before making them live.</p>
]]></content:encoded>
			<wfw:commentRss>http://inspectelement.com/tutorials/create-a-wordpress-theme-development-environment/feed/</wfw:commentRss>
		<slash:comments>72</slash:comments>
		</item>
		<item>
		<title>Animate a Contact Us Slide-Out Area using jQuery</title>
		<link>http://inspectelement.com/tutorials/animate-a-contact-us-slide-out-area-using-jquery/</link>
		<comments>http://inspectelement.com/tutorials/animate-a-contact-us-slide-out-area-using-jquery/#comments</comments>
		<pubDate>Tue, 14 Jul 2009 08:00:19 +0000</pubDate>
		<dc:creator>Tom Kenny</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://inspectelement.com/?p=1137</guid>
		<description><![CDATA[Contact us pages are usually boring static pages with a form, not very exciting so what we&#8217;re going to do is place the contact us form at the top of the page and create a button that slides out and reveals the form when clicked. All with the help of our little friend, jQuery. View [...]]]></description>
			<content:encoded><![CDATA[<p>Contact us pages are usually boring static pages with a form, not very exciting so what we&#8217;re going to do is place the contact us form at the top of the page and create a button that slides out and reveals the form when clicked. All with the help of our little friend, jQuery.</p>
<p><img style="border: 0px initial initial;" title="contactjQuery" src="http://inspectelement.com/wp-content/uploads/2009/07/contactjQuery.gif" alt="contactjQuery" width="560" height="218" /></p>
<p><a class="demo rounded" href="http://inspectelement.com/demos/jquerycontactus/">View the Demo</a> <a class="download rounded" href="http://inspectelement.com/demos/jquerycontactus/jquerycontact.zip">Download Files (.zip)</a></p>
<p><span id="more-1137"></span>First we start of with the necessary file includes:</p>
<pre>&lt;link rel="stylesheet" href="contact.css"/&gt;</pre>
<pre><span>&lt;script src="<a class="linkifyplus" href="http://jqueryjs.googlecode.com/files/jquery-1.3.js">http://jqueryjs.googlecode.com/files/jquery-1.3.js</a>" type="text/javascript"&gt;&lt;/script&gt;
&lt;script src="jquery.easing.1.3.js" type="text/javascript"&gt;&lt;/script&gt;
&lt;script src="contact.js" type="text/javascript"&gt;&lt;/script&gt;</span></pre>
<p>We&#8217;re using jQuery 1.3 hosted by Google, the <a href="http://gsgd.co.uk/sandbox/jquery/easing/">jQuery easing plugin</a> and our own custom code in the contact.js file. Make sure that the jQuery library comes first, followed by the plugin(s) and finally your code that makes the magic happen.</p>
<p>Let&#8217;s set the height of the contactArea div to the desired height in the css. We&#8217;re going to hide it with jQuery so that anyone with javascript turned off will still see the form and be able to use it.</p>
<pre>#contactArea { height: 225px; }</pre>
<p>Of course we need to start off with the $(document).ready() function so that jQuery knows what code to load and use.</p>
<pre>$(document).ready(function() {

        // put all your jQuery goodness in here.

});</pre>
<p>The first line of code is going to be the code mentioned earlier to hide the contactArea div. Here we are basically telling jQuery to set the height of #contactArea to 0.</p>
<pre>$(document).ready(function(){ 

	$("#contactArea").css('height', '0px');</pre>
<pre>});</pre>
<p>Right, time to tell jQuery to do something when the button is clicked. Obviously we want the contact us area to slide out from the top of the page to reveal the form. We will also want to hide the area when the button is clicked again. This is achieved by using jQuery&#8217;s built-in toggle function.</p>
<pre>$(document).ready(function(){ 

	$("#contactArea").css('height', '0px');

	$("a.contact").toggle(
		function () {
 			$("#contactArea").animate({height: "225px"}, {queue:false, duration: 1700, easing: 'easeOutBounce'})
                },
                function () {
			$("#contactArea").animate({height: "0px"}, {queue:false, duration: 1700, easing: 'easeOutBounce'})
		}
	); 

});</pre>
<p>Basically what is happening here is that the toggle function is toggling between two different functions. One displays the full height of #contactArea and the other sets the height to 0, hiding it. By the simple use of .animate and setting the duration (milliseconds), jQuery animates between the two height values. The easeOutBounce value ties in with theÂ <a href="http://gsgd.co.uk/sandbox/jquery/easing/">jQuery easing plugin</a> that adds a bit of a fun element that keeps things interesting. I&#8217;ll let you <a href="http://inspectelement.com/demos/jquerycontact/">view the demo</a> to see what it does.</p>
<p><strong>UPDATE: </strong>See <a href="http://inspectelement.com/tutorials/animate-a-contact-us-slide-out-area-using-jquery/comment-page-1/#comment-168">Joel&#8217;s comment</a> below on how to prevent a jolt effect that happens if the height of the page becomes taller than the browser window, causing the scroll bar to appear during the animation and vice versa.</p>
]]></content:encoded>
			<wfw:commentRss>http://inspectelement.com/tutorials/animate-a-contact-us-slide-out-area-using-jquery/feed/</wfw:commentRss>
		<slash:comments>49</slash:comments>
		</item>
		<item>
		<title>Changing the Background Color of a Page using jQuery</title>
		<link>http://inspectelement.com/tutorials/changing-the-background-color-of-a-page-using-jquery/</link>
		<comments>http://inspectelement.com/tutorials/changing-the-background-color-of-a-page-using-jquery/#comments</comments>
		<pubDate>Tue, 16 Jun 2009 08:00:45 +0000</pubDate>
		<dc:creator>Tom Kenny</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://tkenny.co.uk/inspectelement/?p=152</guid>
		<description><![CDATA[I wanted to develop something that would allow the user to change the background of my site but without having to load a separate stylesheet so thats where jQuery comes in. As you will see, jQuery allows you to manipulate html elements through the use of classes defined in CSS and it's easier than you think.]]></description>
			<content:encoded><![CDATA[<p>I wanted to develop something that would allow the user to change the background of my site but without having to load a separate stylesheet so thats where jQuery comes in. As you will see below, jQuery allows you to manipulate html elements through the use of classes defined in CSS and it&#8217;s easier than you think.</p>
<p><img class="alignnone size-full wp-image-672" title="jqueryBg" src="http://inspectelement.com/wp-content/uploads/2009/06/jqueryBg2.png" alt="jqueryBg" width="560" height="218" /></p>
<p>Take a peak of the working <a href="http://inspectelement.com/demos/jquerybg">demo</a>.</p>
<p><span id="more-152"></span><strong>The HTML and CSS</strong></p>
<p>Before we get underway, we need to include the jQuery library.</p>
<pre style="word-wrap: break-word; white-space: pre-wrap;">&lt;script type="text/javascript" src="js/jquery-1.2.6.pack.js"&gt;&lt;/script&gt;</pre>
<p>Then we create a simple unordered list of links, each with a unique class.</p>
<pre>&lt;ul&gt;
	&lt;li class="one"&gt;&lt;a href="#"&gt;&lt;/a&gt;&lt;/li&gt;
        &lt;li class="two"&gt;&lt;a href="#"&gt;&lt;/a&gt;&lt;/li&gt;
        &lt;li class="three"&gt;&lt;a href="#"&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</pre>
<p>Next we create three classes in the CSS. These are the styles used for the background which will be applied via jQuery.</p>
<pre style="font: normal normal normal 12px/18px Consolas, Monaco, 'Courier New', Courier, monospace;">.bg1 { background: url(images/red.jpg) repeat-x; background-color: #6c0000; }
.bg2 { background: url(images/orange.jpg) repeat-x; background-color: #5A2A00; }
.bg3 { background: url(images/blue.jpg) repeat-x; background-color: #00345B; }</pre>
<h3>The jQuery Magic</h3>
<p>What you see below is basically jQuery functions that add or remove classes to the body element based on what list item the user clicks on. As you can anyone who has experience of CSS will be immediately familiar with the processes below. The classes setup in CSS are being applied to the body tag of the site, changing the background image and colour.</p>
<pre>$(document).ready(function(){ 

        $("li.one").click( function(){ $
		("body").removeClass('bg2 , bg3').addClass("bg1");
	});

	$("li.two").click( function(){ $
		("body").removeClass("bg1 , bg3").addClass("bg2");
	});

	$("li.three").click( function(){ $
		("body").removeClass("bg1 , bg2").addClass("bg3");
	}); 

});</pre>
<p>As you can see it&#8217;s fairly easy to understand jQuery at this basic level. To perform the same task without a javascript framework would require weeks and weeks of learning. Make sure you <a href="http://jquery.com/">find out more about jQuery</a> and have fun!</p>
]]></content:encoded>
			<wfw:commentRss>http://inspectelement.com/tutorials/changing-the-background-color-of-a-page-using-jquery/feed/</wfw:commentRss>
		<slash:comments>34</slash:comments>
		</item>
	</channel>
</rss>

