<?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>Dave Russell &#187; CSS</title>
	<atom:link href="http://daverussell.co.za/wordpress/category/css/feed/" rel="self" type="application/rss+xml" />
	<link>http://daverussell.co.za/wordpress</link>
	<description>Helping me remember and hopefully helping others at the same time.</description>
	<lastBuildDate>Thu, 14 Apr 2011 07:16:28 +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>A truly versatile three column template</title>
		<link>http://daverussell.co.za/wordpress/2011/04/11/a-truly-versatile-three-column-template/</link>
		<comments>http://daverussell.co.za/wordpress/2011/04/11/a-truly-versatile-three-column-template/#comments</comments>
		<pubDate>Mon, 11 Apr 2011 13:30:23 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[Three column layout]]></category>

		<guid isPermaLink="false">http://daverussell.co.za/wordpress/?p=226</guid>
		<description><![CDATA[There are hundreds of 3 column templates out there, so what&#8217;s one more right? Well the difference here is that this one template can handle 1,2 or 3 columns, purely dependent on the existence of the columns on the html. So, if you have a CMS system and you generate a left or right column, [...]]]></description>
			<content:encoded><![CDATA[<p>There are hundreds of 3 column templates out there, so what&#8217;s one more right? Well the difference here is that this one template can handle 1,2 or 3 columns, purely dependent on the existence of the columns on the html. So, if you have a CMS system and you generate a left or right column, then it will be rendered correctly, but if not then the content will stretch accordingly.</p>
<p>First we need some structure</p>
<div class="codesnip-container" >
<div class="html4strict codesnip" style="font-family:monospace;"><span class="sc2">&lt;<a href="http://december.com/html/4/element/div.html"><span class="kw2">div</span></a> <span class="kw3">id</span><span class="sy0">=</span><span class="st0">&quot;skin&quot;</span> <span class="kw3">class</span><span class="sy0">=</span><span class="st0">&quot;align rel&quot;</span>&gt;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="sc2">&lt;<a href="http://december.com/html/4/element/div.html"><span class="kw2">div</span></a> <span class="kw3">id</span><span class="sy0">=</span><span class="st0">&quot;page&quot;</span> <span class="kw3">class</span><span class="sy0">=</span><span class="st0">&quot;abs&quot;</span>&gt;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc2">&lt;<a href="http://december.com/html/4/element/div.html"><span class="kw2">div</span></a> <span class="kw3">id</span><span class="sy0">=</span><span class="st0">&quot;main&quot;</span> <span class="kw3">class</span><span class="sy0">=</span><span class="st0">&quot;column&quot;</span>&gt;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc2">&lt;<a href="http://december.com/html/4/element/h1.html"><span class="kw2">h1</span></a>&gt;</span>Heading<span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/h1.html"><span class="kw2">h1</span></a>&gt;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc2">&lt;<a href="http://december.com/html/4/element/div.html"><span class="kw2">div</span></a> <span class="kw3">id</span><span class="sy0">=</span><span class="st0">&quot;startcontent&quot;</span> <span class="kw3">class</span><span class="sy0">=</span><span class="st0">&quot;content&quot;</span>&gt;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc2">&lt;<a href="http://december.com/html/4/element/p.html"><span class="kw2">p</span></a>&gt;</span>Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old. <span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/p.html"><span class="kw2">p</span></a>&gt;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc2">&lt;<a href="http://december.com/html/4/element/p.html"><span class="kw2">p</span></a>&gt;</span>There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form.<span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/p.html"><span class="kw2">p</span></a>&gt;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/div.html"><span class="kw2">div</span></a>&gt;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/div.html"><span class="kw2">div</span></a>&gt;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc2">&lt;<a href="http://december.com/html/4/element/div.html"><span class="kw2">div</span></a> <span class="kw3">class</span><span class="sy0">=</span><span class="st0">&quot;rel&quot;</span> <span class="kw3">id</span><span class="sy0">=</span><span class="st0">&quot;footer&quot;</span>&gt;&lt;<a href="http://december.com/html/4/element/p.html"><span class="kw2">p</span></a>&gt;</span>footer<span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/p.html"><span class="kw2">p</span></a>&gt;&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/div.html"><span class="kw2">div</span></a>&gt;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc2">&lt;<a href="http://december.com/html/4/element/div.html"><span class="kw2">div</span></a> <span class="kw3">id</span><span class="sy0">=</span><span class="st0">&#8216;left&#8217;</span> <span class="kw3">class</span><span class="sy0">=</span><span class="st0">&#8216;column abs leftcolumn&#8217;</span>&gt;&lt;<a href="http://december.com/html/4/element/h2.html"><span class="kw2">h2</span></a>&gt;</span>Left<span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/h2.html"><span class="kw2">h2</span></a>&gt;&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/div.html"><span class="kw2">div</span></a>&gt;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc2">&lt;<a href="http://december.com/html/4/element/div.html"><span class="kw2">div</span></a> <span class="kw3">id</span><span class="sy0">=</span><span class="st0">&#8216;right&#8217;</span> <span class="kw3">class</span><span class="sy0">=</span><span class="st0">&#8216;column abs rightcolumn&#8217;</span>&gt;&lt;<a href="http://december.com/html/4/element/h2.html"><span class="kw2">h2</span></a>&gt;</span>Right<span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/h2.html"><span class="kw2">h2</span></a>&gt;&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/div.html"><span class="kw2">div</span></a>&gt;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/div.html"><span class="kw2">div</span></a>&gt;</span> &nbsp;<br />
&nbsp; &nbsp; <span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/div.html"><span class="kw2">div</span></a>&gt;</span><br />
&nbsp; &nbsp; <span class="sc-1">&lt;!&#8211; items that fall ouside of the page structure&#8211;&gt;</span><br />
&nbsp; &nbsp; <span class="sc2">&lt;<a href="http://december.com/html/4/element/div.html"><span class="kw2">div</span></a> <span class="kw3">id</span><span class="sy0">=</span><span class="st0">&quot;bannerimage&quot;</span> <span class="kw3">class</span><span class="sy0">=</span><span class="st0">&quot;abs&quot;</span>&gt;&lt;<a href="http://december.com/html/4/element/a.html"><span class="kw2">a</span></a> <span class="kw3">class</span><span class="sy0">=</span><span class="st0">&quot;align&quot;</span>&gt;</span>banner<span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/a.html"><span class="kw2">a</span></a>&gt;&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/div.html"><span class="kw2">div</span></a>&gt;</span></div>
</div>
<p>Some CSS (I like to include a <a href="http://meyerweb.com/eric/tools/css/reset/">reset.css</a> before this to clear out any cross browser issues)</p>
<div class="codesnip-container" >
<div class="css codesnip" style="font-family:monospace;"><span class="re1">.align</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="br0">&#123;</span><span class="kw1">width</span><span class="sy0">:</span><span class="re3">1004px</span><span class="sy0">;</span>margin<span class="sy0">:</span>0 <span class="kw2">auto</span><span class="sy0">;</span><span class="br0">&#125;</span><br />
&nbsp; &nbsp; <span class="re1">.rel</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="br0">&#123;</span><span class="kw1">position</span><span class="sy0">:</span><span class="kw2">relative</span><span class="sy0">;</span><span class="br0">&#125;</span><br />
&nbsp; &nbsp; <span class="re1">.abs</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="br0">&#123;</span><span class="kw1">position</span><span class="sy0">:</span><span class="kw2">absolute</span><span class="sy0">;</span><span class="br0">&#125;</span><br />
&nbsp; &nbsp; <span class="re1">.displayblock</span> &nbsp; <span class="br0">&#123;</span><span class="kw1">display</span><span class="sy0">:</span><span class="kw2">block</span><span class="sy0">;</span><span class="br0">&#125;</span><br />
&nbsp; &nbsp; <span class="re0">#page</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><span class="kw1">width</span><span class="sy0">:</span><span class="re3">1004px</span><span class="sy0">;</span>top<span class="sy0">:</span><span class="re3">340px</span><span class="sy0">;</span>background-<span class="kw1">color</span><span class="sy0">:</span><span class="re0">#fff</span><span class="sy0">;</span><span class="br0">&#125;</span><br />
&nbsp; &nbsp; <span class="re0">#left</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><span class="kw1">top</span><span class="sy0">:</span><span class="nu0">0</span><span class="sy0">;</span>left<span class="sy0">:</span><span class="nu0">0</span><span class="sy0">;</span>width<span class="sy0">:</span><span class="re3">220px</span><span class="sy0">;</span>background-<span class="kw1">color</span><span class="sy0">:</span><span class="re0">#eee</span><span class="sy0">;</span><span class="br0">&#125;</span><br />
&nbsp; &nbsp; <span class="re0">#right</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="br0">&#123;</span><span class="kw1">top</span><span class="sy0">:</span><span class="re3">0px</span><span class="sy0">;</span>left<span class="sy0">:</span><span class="re3">740px</span><span class="sy0">;</span>width<span class="sy0">:</span><span class="re3">264px</span><span class="sy0">;</span>background-<span class="kw1">color</span><span class="sy0">:</span><span class="re0">#eee</span><span class="sy0">;</span><span class="br0">&#125;</span><br />
&nbsp; &nbsp; <span class="re0">#main</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><span class="kw1">margin</span><span class="sy0">:</span>0 <span class="re3">10px</span><span class="sy0">;</span>background-<span class="kw1">color</span><span class="sy0">:</span><span class="re0">#bbb</span><span class="sy0">;</span><span class="br0">&#125;</span><br />
&nbsp; &nbsp; <span class="re1">.incleft</span> <span class="re0">#main</span> &nbsp;<span class="br0">&#123;</span><span class="kw1">margin-left</span><span class="sy0">:</span><span class="re3">220px</span><span class="sy0">;</span><span class="br0">&#125;</span><br />
&nbsp; &nbsp; <span class="re1">.incright</span> <span class="re0">#main</span> <span class="br0">&#123;</span><span class="kw1">margin-right</span><span class="sy0">:</span><span class="re3">265px</span><span class="sy0">;</span><span class="br0">&#125;</span><br />
&nbsp; &nbsp; .<span class="kw1">content</span> &nbsp; &nbsp; &nbsp; &nbsp;<span class="br0">&#123;</span><span class="kw1">margin</span><span class="sy0">:</span><span class="re3">27px</span> <span class="re3">30px</span> <span class="re3">100px</span> <span class="re3">30px</span><span class="sy0">;</span><span class="br0">&#125;</span><br />
&nbsp; &nbsp; <span class="re0">#bannerimage</span> &nbsp; &nbsp;<span class="br0">&#123;</span><span class="kw1">top</span><span class="sy0">:</span><span class="re3">0px</span><span class="sy0">;</span>left<span class="sy0">:</span><span class="re3">-1px</span><span class="sy0">;</span>z-index<span class="sy0">:</span>-<span class="nu0">1</span><span class="sy0">;</span>width<span class="sy0">:</span><span class="re3"><span class="nu0">100</span>%</span><span class="sy0">;</span>height<span class="sy0">:</span><span class="re3">600px</span><span class="sy0">;</span>margin<span class="sy0">:</span>0 <span class="kw2">auto</span><span class="sy0">;</span>background-<span class="kw1">color</span><span class="sy0">:</span><span class="re0">#ccc</span><span class="sy0">;</span><span class="br0">&#125;</span><br />
&nbsp; &nbsp; <span class="re0">#bannerimage</span> a &nbsp;<span class="br0">&#123;</span><span class="kw1">height</span><span class="sy0">:</span><span class="re3">195px</span><span class="sy0">;</span>margin-<span class="kw1">top</span><span class="sy0">:</span><span class="re3">85px</span><span class="sy0">;</span>display<span class="sy0">:</span><span class="kw2">block</span><span class="sy0">;</span><span class="br0">&#125;</span><br />
&nbsp; &nbsp; <span class="re0">#footer</span> &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><span class="kw1">width</span><span class="sy0">:</span><span class="re3">1004px</span><span class="sy0">;</span>height<span class="sy0">:</span><span class="re3">200px</span><span class="sy0">;</span>background-<span class="kw1">color</span><span class="sy0">:</span><span class="re0">#ddd</span><span class="sy0">;</span><span class="br0">&#125;</span></div>
</div>
<p>And then the javascript (remember to add the jQuery library and an optional equal heights plugin)</p>
<div class="codesnip-container" >
<div class="javascript codesnip" style="font-family:monospace;"><span class="co1">//&#8212;Column display manager</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>$<span class="br0">&#40;</span><span class="st0">&#8216;#page .leftcolumn&#8217;</span><span class="br0">&#41;</span>.<span class="me1">length</span> <span class="sy0">&gt;</span> <span class="nu0">0</span><span class="br0">&#41;</span> <span class="br0">&#123;</span> $<span class="br0">&#40;</span><span class="st0">&#8216;#page&#8217;</span><span class="br0">&#41;</span>.<span class="me1">addClass</span><span class="br0">&#40;</span><span class="st0">&#8216;incleft&#8217;</span><span class="br0">&#41;</span><span class="sy0">;</span> $<span class="br0">&#40;</span><span class="st0">&#8216;#left&#8217;</span><span class="br0">&#41;</span>.<span class="me1">addClass</span><span class="br0">&#40;</span><span class="st0">&#8216;displayblock&#8217;</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>$<span class="br0">&#40;</span><span class="st0">&#8216;#page .rightcolumn&#8217;</span><span class="br0">&#41;</span>.<span class="me1">length</span> <span class="sy0">&gt;</span> <span class="nu0">0</span><span class="br0">&#41;</span> <span class="br0">&#123;</span> $<span class="br0">&#40;</span><span class="st0">&#8216;#page&#8217;</span><span class="br0">&#41;</span>.<span class="me1">addClass</span><span class="br0">&#40;</span><span class="st0">&#8216;incright&#8217;</span><span class="br0">&#41;</span><span class="sy0">;</span> $<span class="br0">&#40;</span><span class="st0">&#8216;#right&#8217;</span><span class="br0">&#41;</span>.<span class="me1">addClass</span><span class="br0">&#40;</span><span class="st0">&#8216;displayblock&#8217;</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="br0">&#125;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//&#8212;Column equal heights | dependancy: jquery.equalheights.js</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>$<span class="br0">&#40;</span><span class="st0">&#8216;.column&#8217;</span><span class="br0">&#41;</span>.<span class="me1">length</span> <span class="sy0">&gt;</span> <span class="nu0">1</span><span class="br0">&#41;</span> <span class="br0">&#123;</span> $<span class="br0">&#40;</span><span class="st0">&#8216;.column&#8217;</span><span class="br0">&#41;</span>.<span class="me1">equalHeights</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="br0">&#125;</span></div>
</div>
<p>The great thing about this template is that it justs works &#8211; remove the #left div and the content takes up the first two columns, remove the #right div and the content takes up the last two columns. Take out # left and #right and, I&#8217;m sure you&#8217;ve guessed it, the content takes up all three columns.</p>
]]></content:encoded>
			<wfw:commentRss>http://daverussell.co.za/wordpress/2011/04/11/a-truly-versatile-three-column-template/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Multi Column Lists with jQuery and CSS</title>
		<link>http://daverussell.co.za/wordpress/2011/04/11/multi-column-lists-with-jquery-and-css/</link>
		<comments>http://daverussell.co.za/wordpress/2011/04/11/multi-column-lists-with-jquery-and-css/#comments</comments>
		<pubDate>Mon, 11 Apr 2011 12:43:29 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[holy grail]]></category>
		<category><![CDATA[multi column lists]]></category>

		<guid isPermaLink="false">http://daverussell.co.za/wordpress/?p=216</guid>
		<description><![CDATA[I found myself needing to solve this problem and some googling revealed that I was not the only one. The challenge I had was how to take a long list of items and make them wrap, creating columns, newspaper style next to each other. The closest I got was from the guys at alistapart, but [...]]]></description>
			<content:encoded><![CDATA[<p>I found myself needing to solve this problem and some googling revealed that I was not the only one. The challenge I had was how to take a long list of items and make them wrap, creating columns, newspaper style next to each other. The closest I got was from the guys at <a href="http://www.alistapart.com/articles/multicolumnlists/">alistapart</a>, but still not quite what I was after.</p>
<p>So, with coffee mug charged and appropriate tunes on the ipod I set out to solve some problems. The resulting jQuery function is actually quite succinct &#8211; maybe I have left something out, but it is exactly what I need: The list is dynamic, so I never know quite how long it is going to be and I do not want children elements to be spread over multiple columns.</p>
<p>The list goes something like this</p>
<div class="codesnip-container" >
<div class="html4strict codesnip" style="font-family:monospace;"><span class="sc2">&lt;<a href="http://december.com/html/4/element/ul.html"><span class="kw2">ul</span></a> <span class="kw3">id</span><span class="sy0">=</span><span class="st0">&quot;test&quot;</span>&gt;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc2">&lt;<a href="http://december.com/html/4/element/li.html"><span class="kw2">li</span></a>&gt;</span>Parent<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc2">&lt;<a href="http://december.com/html/4/element/ul.html"><span class="kw2">ul</span></a>&gt;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc2">&lt;<a href="http://december.com/html/4/element/li.html"><span class="kw2">li</span></a>&gt;</span>child<span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/li.html"><span class="kw2">li</span></a>&gt;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc2">&lt;<a href="http://december.com/html/4/element/li.html"><span class="kw2">li</span></a>&gt;</span>child<span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/li.html"><span class="kw2">li</span></a>&gt;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc2">&lt;<a href="http://december.com/html/4/element/li.html"><span class="kw2">li</span></a>&gt;</span>child<span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/li.html"><span class="kw2">li</span></a>&gt;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/ul.html"><span class="kw2">ul</span></a>&gt;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/li.html"><span class="kw2">li</span></a>&gt;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc2">&lt;<a href="http://december.com/html/4/element/li.html"><span class="kw2">li</span></a>&gt;</span>Parent<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc2">&lt;<a href="http://december.com/html/4/element/ul.html"><span class="kw2">ul</span></a>&gt;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc2">&lt;<a href="http://december.com/html/4/element/li.html"><span class="kw2">li</span></a>&gt;</span>child<span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/li.html"><span class="kw2">li</span></a>&gt;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc2">&lt;<a href="http://december.com/html/4/element/li.html"><span class="kw2">li</span></a>&gt;</span>child<span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/li.html"><span class="kw2">li</span></a>&gt;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc2">&lt;<a href="http://december.com/html/4/element/li.html"><span class="kw2">li</span></a>&gt;</span>child<span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/li.html"><span class="kw2">li</span></a>&gt;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc2">&lt;<a href="http://december.com/html/4/element/li.html"><span class="kw2">li</span></a>&gt;</span>child<span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/li.html"><span class="kw2">li</span></a>&gt;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc2">&lt;<a href="http://december.com/html/4/element/li.html"><span class="kw2">li</span></a>&gt;</span>child<span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/li.html"><span class="kw2">li</span></a>&gt;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/ul.html"><span class="kw2">ul</span></a>&gt;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/li.html"><span class="kw2">li</span></a>&gt;</span>&#8230;</div>
</div>
<p>and the javascript something like this:</p>
<div class="codesnip-container" >
<div class="javascript codesnip" style="font-family:monospace;">jQuery.<span class="me1">fn</span>.<span class="me1">multiColumnList</span> <span class="sy0">=</span> <span class="kw2">function</span><span class="br0">&#40;</span>settings<span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; settings <span class="sy0">=</span> jQuery.<span class="me1">extend</span><span class="br0">&#40;</span><span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; width<span class="sy0">:</span> 300<span class="sy0">,</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; maxheight<span class="sy0">:</span> 400<span class="sy0">,</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; forceWidth<span class="sy0">:</span> <span class="kw2">false</span><br />
&nbsp; &nbsp; <span class="br0">&#125;</span><span class="sy0">,</span> settings<span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <span class="kw2">var</span> $originallist <span class="sy0">=</span> $<span class="br0">&#40;</span><span class="kw1">this</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <span class="kw2">var</span> cols <span class="sy0">=</span> Math.<span class="me1">round</span><span class="br0">&#40;</span>$originallist.<span class="me1">width</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="sy0">/</span> settings.<span class="me1">width</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <span class="kw2">var</span> colwidth <span class="sy0">=</span> Math.<span class="me1">floor</span><span class="br0">&#40;</span>$<span class="br0">&#40;</span>$originallist<span class="br0">&#41;</span>.<span class="me1">width</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="sy0">/</span> cols<span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <span class="kw2">var</span> size <span class="sy0">=</span> $<span class="br0">&#40;</span><span class="st0">&#8216;&gt;li&#8217;</span><span class="sy0">,</span> <span class="kw1">this</span><span class="br0">&#41;</span>.<span class="me1">size</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <span class="kw2">var</span> newlist <span class="sy0">=</span> <span class="st0">&quot;&quot;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <span class="kw2">var</span> currentColumnHeight <span class="sy0">=</span> $<span class="br0">&#40;</span><span class="kw1">this</span><span class="br0">&#41;</span>.<span class="me1">find</span><span class="br0">&#40;</span><span class="st0">&quot;&gt;li&quot;</span><span class="br0">&#41;</span>.<span class="me1">eq</span><span class="br0">&#40;</span>0<span class="br0">&#41;</span>.<span class="me1">height</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <span class="kw2">var</span> currentColumnContents <span class="sy0">=</span> <span class="st0">&#8216;&lt;li&gt;&#8217;</span> <span class="sy0">+</span> $<span class="br0">&#40;</span><span class="kw1">this</span><span class="br0">&#41;</span>.<span class="me1">find</span><span class="br0">&#40;</span><span class="st0">&quot;&gt;li&quot;</span><span class="br0">&#41;</span>.<span class="me1">eq</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span>.<span class="me1">html</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="sy0">+</span> <span class="st0">&#8216;&lt;/li&gt;&#8217;</span><span class="sy0">;</span></p>
<p>&nbsp; &nbsp; <span class="kw1">for</span> <span class="br0">&#40;</span>i <span class="sy0">=</span> <span class="nu0">0</span><span class="sy0">;</span> i <span class="sy0">&lt;</span> size<span class="sy0">;</span> i<span class="sy0">++</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span><span class="br0">&#40;</span>i <span class="sy0">+</span> 1<span class="br0">&#41;</span> <span class="sy0">&lt;</span> size<span class="br0">&#41;</span> <span class="br0">&#123;</span> <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>currentColumnHeight <span class="sy0">&lt;</span> settings.<span class="me1">maxheight</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; currentColumnContents <span class="sy0">=</span> currentColumnContents <span class="sy0">+</span> <span class="st0">&#8216;&lt;li&gt;&#8217;</span> <span class="sy0">+</span> $<span class="br0">&#40;</span><span class="kw1">this</span><span class="br0">&#41;</span>.<span class="me1">find</span><span class="br0">&#40;</span><span class="st0">&quot;&gt;li&quot;</span><span class="br0">&#41;</span>.<span class="me1">eq</span><span class="br0">&#40;</span>i <span class="sy0">+</span> <span class="nu0">1</span><span class="br0">&#41;</span>.<span class="me1">html</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="sy0">+</span> <span class="st0">&#8216;&lt;/li&gt;&#8217;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; currentColumnHeight <span class="sy0">=</span> currentColumnHeight <span class="sy0">+</span> $<span class="br0">&#40;</span><span class="kw1">this</span><span class="br0">&#41;</span>.<span class="me1">find</span><span class="br0">&#40;</span><span class="st0">&quot;&gt;li&quot;</span><span class="br0">&#41;</span>.<span class="me1">eq</span><span class="br0">&#40;</span>i <span class="sy0">+</span> 1<span class="br0">&#41;</span>.<span class="me1">height</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">else</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; newlist <span class="sy0">=</span> newlist <span class="sy0">+</span> <span class="st0">&#8216;&lt;ul class=&quot;megacol&quot;&gt;&#8217;</span> <span class="sy0">+</span> currentColumnContents <span class="sy0">+</span> <span class="st0">&#8216;&lt;/ul&gt;&#8217;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; currentColumnContents <span class="sy0">=</span> <span class="st0">&#8216;&lt;li&gt;&#8217;</span> <span class="sy0">+</span> $<span class="br0">&#40;</span><span class="kw1">this</span><span class="br0">&#41;</span>.<span class="me1">find</span><span class="br0">&#40;</span><span class="st0">&quot;&gt;li&quot;</span><span class="br0">&#41;</span>.<span class="me1">eq</span><span class="br0">&#40;</span>i <span class="sy0">+</span> <span class="nu0">1</span><span class="br0">&#41;</span>.<span class="me1">html</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="sy0">+</span> <span class="st0">&#8216;&lt;/li&gt;&#8217;</span><span class="sy0">;</span> <span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; currentColumnHeight <span class="sy0">=</span> $<span class="br0">&#40;</span><span class="kw1">this</span><span class="br0">&#41;</span>.<span class="me1">find</span><span class="br0">&#40;</span><span class="st0">&quot;&gt;li&quot;</span><span class="br0">&#41;</span>.<span class="me1">eq</span><span class="br0">&#40;</span>i<span class="br0">&#41;</span>.<span class="me1">height</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; newlist <span class="sy0">=</span> newlist <span class="sy0">+</span> <span class="st0">&#8216;&lt;ul class=&quot;megacol&quot;&gt;&#8217;</span> <span class="sy0">+</span> currentColumnContents <span class="sy0">+</span> <span class="st0">&#8216;&lt;/ul&gt;&lt;br style=&quot;clear:both&quot;&gt;&#8217;</span><span class="sy0">;</span></p>
<p>&nbsp; &nbsp; $<span class="br0">&#40;</span>newlist<span class="br0">&#41;</span>.<span class="me1">insertBefore</span><span class="br0">&#40;</span>$originallist<span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>settings.<span class="me1">forceWidth</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; $<span class="br0">&#40;</span><span class="st0">&#8216;ul.megacol&#8217;</span><span class="br0">&#41;</span>.<span class="me1">css</span><span class="br0">&#40;</span><span class="st0">&#8216;width&#8217;</span><span class="sy0">,</span> settings.<span class="me1">width</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; $originallist.<span class="me1">remove</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <span class="kw1">return</span> <span class="kw1">this</span><span class="sy0">;</span><br />
<span class="br0">&#125;</span></div>
</div>
<p>Lastly, a sprinkling of CSS to make sure your new columns render next to each other</p>
<div class="codesnip-container" >
<div class="css codesnip" style="font-family:monospace;"><span class="re1">.megacol</span> &nbsp; &nbsp;<span class="br0">&#123;</span><span class="kw1">float</span><span class="sy0">:</span><span class="kw1">left</span><span class="sy0">;</span><span class="br0">&#125;</span></div>
</div>
<p>To make this all come together, make sure you have included the jQuery library and the function before calling it: </p>
<div class="codesnip-container" >
<div class="javascript codesnip" style="font-family:monospace;">$<span class="br0">&#40;</span>document<span class="br0">&#41;</span>.<span class="me1">ready</span><span class="br0">&#40;</span><span class="kw2">function</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $<span class="br0">&#40;</span><span class="st0">&quot;#test&quot;</span><span class="br0">&#41;</span>.<span class="me1">guidemega</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://daverussell.co.za/wordpress/2011/04/11/multi-column-lists-with-jquery-and-css/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fantastic use of pure css to create animation</title>
		<link>http://daverussell.co.za/wordpress/2010/01/29/fantastic-use-of-pure-css-to-create-animation/</link>
		<comments>http://daverussell.co.za/wordpress/2010/01/29/fantastic-use-of-pure-css-to-create-animation/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 11:20:14 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[html]]></category>

		<guid isPermaLink="false">http://daverussell.co.za/wordpress/?p=162</guid>
		<description><![CDATA[I like to think I have a fairly good grip on CSS, but this takes it to another level: Introducing the rolling coke can&#8230; Consider yourself humbled.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.romancortes.com/ficheros/css-coke.html"><img alt="" src="http://www.daverussell.co.za/wordpress/wp-content/uploads/coke.jpg" class="alignleft" height="150" /></a>I like to think I have a fairly good grip on CSS, but this takes it to another level:<br />
<a href="http://www.romancortes.com/ficheros/css-coke.html" target="_blank">Introducing the rolling coke can&#8230;</a></p>
<p>Consider yourself humbled.</p>
]]></content:encoded>
			<wfw:commentRss>http://daverussell.co.za/wordpress/2010/01/29/fantastic-use-of-pure-css-to-create-animation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

