<?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>Cohesive Web &#187; development</title>
	<atom:link href="http://blog.webconsultingengineering.com/category/development/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.webconsultingengineering.com</link>
	<description>In search of reasons for web addiction</description>
	<lastBuildDate>Fri, 20 Aug 2010 14:17:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>PaginationSlider &#8211; a jQuery plugin</title>
		<link>http://blog.webconsultingengineering.com/development/paginationslider-jquery-plugin.html</link>
		<comments>http://blog.webconsultingengineering.com/development/paginationslider-jquery-plugin.html#comments</comments>
		<pubDate>Wed, 11 Aug 2010 09:50:32 +0000</pubDate>
		<dc:creator>Susenjit</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[jQuery plugin]]></category>
		<category><![CDATA[web client side script]]></category>

		<guid isPermaLink="false">http://blog.webconsultingengineering.com/?p=95</guid>
		<description><![CDATA[jQuery(document).ready(function($) { window.setTimeout('loadDigg_95()',5000);window.setTimeout('loadTwitter_95()',5000); }); function loadDigg_95(){ jQuery(document).ready(function($) { $('.dd-digg-95').remove();$('.DD_DIGG_AJAX_95').attr('href','http://digg.com/submit?url=http://blog.webconsultingengineering.com/development/paginationslider-jquery-plugin.html&#38;title=PaginationSlider+-+a+jQuery+plugin');$.getScript('http://widgets.digg.com/buttons.js'); }); } function loadTwitter_95(){ jQuery(document).ready(function($) { $('.dd-twitter-95').remove();$.getScript('http://platform.twitter.com/widgets.js'); }); }I have started using jQuery &#8211; JavaScript framework almost end of the last year. I have also used it for my last couple of projects. I find it very useful to design/develop complex type of functionality in the [...]]]></description>
			<content:encoded><![CDATA[<div style="float:left;margin:0px 0px 0px 0px;"><a title="Post on Google Buzz" class="google-buzz-button" href="http://www.google.com/buzz/post" data-button-style="normal-count" data-url="http://blog.webconsultingengineering.com/development/paginationslider-jquery-plugin.html"></a><script type="text/javascript" src="http://www.google.com/buzz/api/button.js"></script></div><script type="text/javascript">jQuery(document).ready(function($) { window.setTimeout('loadDigg_95()',5000);window.setTimeout('loadTwitter_95()',5000); });</script><script type="text/javascript"> function loadDigg_95(){ jQuery(document).ready(function($) { $('.dd-digg-95').remove();$('.DD_DIGG_AJAX_95').attr('href','http://digg.com/submit?url=http://blog.webconsultingengineering.com/development/paginationslider-jquery-plugin.html&amp;title=PaginationSlider+-+a+jQuery+plugin');$.getScript('http://widgets.digg.com/buttons.js'); }); } function loadTwitter_95(){ jQuery(document).ready(function($) { $('.dd-twitter-95').remove();$.getScript('http://platform.twitter.com/widgets.js'); }); }</script><div class='dd_post_share'><div class='dd_buttons'><div class='dd_button'><div class='dd-digg-ajax-load dd-digg-95'></div><a class='DiggThisButton DD_DIGG_AJAX_95 DiggMedium'></a></div><div class='dd_button'><div class='dd-twitter-ajax-load dd-twitter-95'></div><a href="http://twitter.com/share" class="twitter-share-button" data-url="http://blog.webconsultingengineering.com/development/paginationslider-jquery-plugin.html" data-count="vertical" data-text="PaginationSlider+-+a+jQuery+plugin" data-via="susenjit" ></a></div></div></div><div style='clear:both'></div><p>I have started using <a href="http://jquery.com/" target="_blank">jQuery</a> &#8211; JavaScript framework almost end of the last year. I have also used it for my last couple of projects. I find it very useful to design/develop complex type of functionality in the client-end. One of the interesting feature of jQuery is that it provides a large number of plugins designed by different developers. They are very useful too.</p>
<p>In my current project I need to display multiple content pages within a web page. I require to slide the page numbers so that user can view the number of pages by sliding/scrolling.  I was looking for some good plugin which could satisfy my need. I have tested some of them but couldn&#8217;t find out the ideal one. So wrote the basic code for the functionality and the effect. However I wasn&#8217;t satisfied with my work as I was looking for some plugin for it.  I thought it is the best time to try authoring plugin in jQuery.</p>
<p>It took almost 9 days to convert the code into a plugin. I gave the plugin namespace as <strong>paginationslider</strong>.</p>
<p><strong>Code example:</strong><br />
Script section -</p>
<div class="codesnip-container" >
<div class="javascript codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1">&lt;script type=&quot;text/javascript&quot; src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js&quot;&gt;&lt;/script&gt;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;&lt;script type=&quot;text/javascript&quot; src=&quot;jquery.paginationslider.js&quot;&gt;&lt;/script&gt;</div>
</li>
<li class="li1">
<div class="de1"><span class="sy0">&lt;</span>script type<span class="sy0">=</span><span class="st0">&quot;text/javascript&quot;</span><span class="sy0">&gt;</span></div>
</li>
<li class="li1">
<div class="de1">$<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></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;$<span class="br0">&#40;</span><span class="st0">&#8216;#sliderMain&#8217;</span><span class="br0">&#41;</span>.<span class="me1">paginationslider</span><span class="br0">&#40;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; SliderLeft<span class="sy0">:</span><span class="st0">&#8216;LeftSlide&#8217;</span><span class="sy0">,</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; SliderRight<span class="sy0">:</span><span class="st0">&#8216;RightSlide&#8217;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="sy0">&lt;/</span>script<span class="sy0">&gt;</span></div>
</li>
</ol>
</div>
</div>
<p>Style section &#8211; </p>
<div class="codesnip-container" >
<div class="css codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="re1">.pgSlider</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">width</span><span class="sy0">:</span> <span class="re3">80px</span><span class="sy0">;</span> <span class="kw1">overflow</span><span class="sy0">:</span> <span class="kw2">auto</span><span class="sy0">;</span> <span class="kw1">background</span><span class="sy0">:</span><span class="re0">#fff</span><span class="sy0">;</span> <span class="kw1">margin</span><span class="sy0">:</span>0 <span class="kw2">auto</span><span class="sy0">;</span> <span class="kw1">position</span><span class="sy0">:</span><span class="kw2">relative</span><span class="sy0">;</span> <span class="kw1">border</span><span class="sy0">:</span><span class="re3">1px</span> <span class="kw2">solid</span> orange<span class="sy0">;</span> <span class="kw1">float</span><span class="sy0">:</span><span class="kw1">left</span><span class="sy0">;</span> <span class="kw1">display</span><span class="sy0">:</span><span class="kw2">inline</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">.pgSlider</span> ul <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">display</span><span class="sy0">:</span> <span class="kw2">block</span><span class="sy0">;</span> <span class="kw1">padding</span><span class="sy0">:</span> <span class="nu0">0</span><span class="sy0">;</span> <span class="kw1">margin</span><span class="sy0">:</span> <span class="nu0">0</span><span class="sy0">;</span> <span class="kw1">list-style</span><span class="sy0">:</span> <span class="kw2">none</span><span class="sy0">;</span> <span class="kw1">position</span><span class="sy0">:</span><span class="kw2">relative</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">.pgSlider</span> ul li <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">display</span><span class="sy0">:</span> <span class="kw2">block</span><span class="sy0">;</span> <span class="kw1">float</span><span class="sy0">:</span> <span class="kw1">left</span><span class="sy0">;</span> <span class="kw1">background</span><span class="sy0">:</span><span class="re0">#E3ECF4</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">.pgSlider</span> a <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">display</span><span class="sy0">:</span> <span class="kw2">block</span><span class="sy0">;</span> <span class="kw1">text-decoration</span><span class="sy0">:</span> <span class="kw2">none</span><span class="sy0">;</span> <span class="kw1">text-align</span><span class="sy0">:</span><span class="kw2">center</span><span class="sy0">;</span> <span class="kw1">padding</span><span class="sy0">:</span> <span class="re3">5px</span> <span class="re3">8px</span><span class="sy0">;</span> <span class="kw1">color</span><span class="sy0">:</span><span class="re0">#1079B1</span><span class="sy0">;</span> <span class="kw1">font-weight</span><span class="sy0">:</span><span class="kw2">bold</span><span class="sy0">;</span> <span class="kw1">border-right</span><span class="sy0">:</span><span class="re3">1px</span> <span class="kw2">solid</span> <span class="re0">#fff</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
</ol>
</div>
</div>
<p>HTML Section &#8211; </p>
<div class="codesnip-container" >
<div class="html4strict codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="sc2">&lt;<a href="http://december.com/html/4/element/pre.html"><span class="kw2">pre</span></a> <span class="kw3">class</span><span class="sy0">=</span><span class="st0">&quot;html&quot;</span> <span class="kw3">name</span><span class="sy0">=</span><span class="st0">&quot;code&quot;</span>&gt;</span></div>
</li>
<li class="li1">
<div class="de1"><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;paginationContainer&quot;</span>&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&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;LeftSlide&quot;</span> <span class="kw3">class</span><span class="sy0">=</span><span class="st0">&quot;sliderArrow&quot;</span>&gt;</span><span class="sc1">&amp;lt;&amp;lt;</span><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></div>
</li>
<li class="li1">
<div class="de1">&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;sliderMain&quot;</span> <span class="kw3">class</span><span class="sy0">=</span><span class="st0">&quot;pgSlider&quot;</span>&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&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></div>
</li>
<li class="li1">
<div class="de1">&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;&lt;<a href="http://december.com/html/4/element/a.html"><span class="kw2">a</span></a> <span class="kw3">href</span><span class="sy0">=</span><span class="st0">&quot;#1&quot;</span>&gt;</span>1<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/li.html"><span class="kw2">li</span></a>&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&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;&lt;<a href="http://december.com/html/4/element/a.html"><span class="kw2">a</span></a> <span class="kw3">href</span><span class="sy0">=</span><span class="st0">&quot;#2&quot;</span>&gt;</span>2<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/li.html"><span class="kw2">li</span></a>&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&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;&lt;<a href="http://december.com/html/4/element/a.html"><span class="kw2">a</span></a> <span class="kw3">href</span><span class="sy0">=</span><span class="st0">&quot;#3&quot;</span>&gt;</span>3<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/li.html"><span class="kw2">li</span></a>&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&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;&lt;<a href="http://december.com/html/4/element/a.html"><span class="kw2">a</span></a> <span class="kw3">href</span><span class="sy0">=</span><span class="st0">&quot;#4&quot;</span>&gt;</span>4<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/li.html"><span class="kw2">li</span></a>&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&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;&lt;<a href="http://december.com/html/4/element/a.html"><span class="kw2">a</span></a> <span class="kw3">href</span><span class="sy0">=</span><span class="st0">&quot;#5&quot;</span>&gt;</span>5<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/li.html"><span class="kw2">li</span></a>&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&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;&lt;<a href="http://december.com/html/4/element/a.html"><span class="kw2">a</span></a> <span class="kw3">href</span><span class="sy0">=</span><span class="st0">&quot;#6&quot;</span>&gt;</span>6<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/li.html"><span class="kw2">li</span></a>&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&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;&lt;<a href="http://december.com/html/4/element/a.html"><span class="kw2">a</span></a> <span class="kw3">href</span><span class="sy0">=</span><span class="st0">&quot;#7&quot;</span>&gt;</span>7<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/li.html"><span class="kw2">li</span></a>&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&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;&lt;<a href="http://december.com/html/4/element/a.html"><span class="kw2">a</span></a> <span class="kw3">href</span><span class="sy0">=</span><span class="st0">&quot;#8&quot;</span>&gt;</span>8<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/li.html"><span class="kw2">li</span></a>&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&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;&lt;<a href="http://december.com/html/4/element/a.html"><span class="kw2">a</span></a> <span class="kw3">href</span><span class="sy0">=</span><span class="st0">&quot;#9&quot;</span>&gt;</span>9<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/li.html"><span class="kw2">li</span></a>&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&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></div>
</li>
<li class="li1">
<div class="de1">&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></div>
</li>
<li class="li1">
<div class="de1">&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;RightSlide&quot;</span> <span class="kw3">class</span><span class="sy0">=</span><span class="st0">&quot;sliderArrow&quot;</span>&gt;</span><span class="sc1">&amp;gt;&amp;gt;</span><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></div>
</li>
<li class="li1">
<div class="de1"><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></div>
</li>
<li class="li1">
<div class="de1"><span class="sc2">&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/pre.html"><span class="kw2">pre</span></a>&gt;</span></div>
</li>
</ol>
</div>
</div>
<p>I will eagerly wait for your reviews on this plugin. Here you can view the <a title="PaginationSlider" href="http://www.webconsultingengineering.com/paginationslider/" target="_blank">demo</a>.</p>
<!-- Social Buttons Shared Counts Generated by Digg Digg plugin v4.2.2, 
    Author : Yong Mook Kim
    Website : http://www.mkyong.com/blog/digg-digg-wordpress-plugin/ -->]]></content:encoded>
			<wfw:commentRss>http://blog.webconsultingengineering.com/development/paginationslider-jquery-plugin.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tricky Sql Statements</title>
		<link>http://blog.webconsultingengineering.com/development/tricky-sql-statements.html</link>
		<comments>http://blog.webconsultingengineering.com/development/tricky-sql-statements.html#comments</comments>
		<pubDate>Thu, 30 Apr 2009 13:21:27 +0000</pubDate>
		<dc:creator>Susenjit</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[group by clause]]></category>
		<category><![CDATA[MySql]]></category>
		<category><![CDATA[select distinct]]></category>
		<category><![CDATA[sql replace function]]></category>
		<category><![CDATA[sql statement]]></category>
		<category><![CDATA[update statement]]></category>

		<guid isPermaLink="false">http://blog.webconsultingengineering.com/?p=48</guid>
		<description><![CDATA[jQuery(document).ready(function($) { window.setTimeout('loadDigg_48()',5000);window.setTimeout('loadTwitter_48()',5000); }); function loadDigg_48(){ jQuery(document).ready(function($) { $('.dd-digg-48').remove();$('.DD_DIGG_AJAX_48').attr('href','http://digg.com/submit?url=http://blog.webconsultingengineering.com/development/tricky-sql-statements.html&#38;title=Tricky+Sql+Statements');$.getScript('http://widgets.digg.com/buttons.js'); }); } function loadTwitter_48(){ jQuery(document).ready(function($) { $('.dd-twitter-48').remove();$.getScript('http://platform.twitter.com/widgets.js'); }); }Here are some tricky Sql statements that can be used in some specific cases. I figured them out in certain cases where I needed to do data manipulation directly on the database instead of writing script to accomplish [...]]]></description>
			<content:encoded><![CDATA[<div style="float:left;margin:0px 0px 0px 0px;"><a title="Post on Google Buzz" class="google-buzz-button" href="http://www.google.com/buzz/post" data-button-style="normal-count" data-url="http://blog.webconsultingengineering.com/development/tricky-sql-statements.html"></a><script type="text/javascript" src="http://www.google.com/buzz/api/button.js"></script></div><script type="text/javascript">jQuery(document).ready(function($) { window.setTimeout('loadDigg_48()',5000);window.setTimeout('loadTwitter_48()',5000); });</script><script type="text/javascript"> function loadDigg_48(){ jQuery(document).ready(function($) { $('.dd-digg-48').remove();$('.DD_DIGG_AJAX_48').attr('href','http://digg.com/submit?url=http://blog.webconsultingengineering.com/development/tricky-sql-statements.html&amp;title=Tricky+Sql+Statements');$.getScript('http://widgets.digg.com/buttons.js'); }); } function loadTwitter_48(){ jQuery(document).ready(function($) { $('.dd-twitter-48').remove();$.getScript('http://platform.twitter.com/widgets.js'); }); }</script><div class='dd_post_share'><div class='dd_buttons'><div class='dd_button'><div class='dd-digg-ajax-load dd-digg-48'></div><a class='DiggThisButton DD_DIGG_AJAX_48 DiggMedium'></a></div><div class='dd_button'><div class='dd-twitter-ajax-load dd-twitter-48'></div><a href="http://twitter.com/share" class="twitter-share-button" data-url="http://blog.webconsultingengineering.com/development/tricky-sql-statements.html" data-count="vertical" data-text="Tricky+Sql+Statements" data-via="susenjit" ></a></div></div></div><div style='clear:both'></div><p>Here are some tricky Sql statements that can be used in some specific cases. I figured them out in certain cases where I needed to do data manipulation directly on the database instead of writing script to accomplish them. I will describe them in case study style.</p>
<p><strong>Case 1:</strong></p>
<p>In one of my project there is a user table containing fields like userId, UserName, UserLoginID, Password etc. The UserLoginID field is basically the email address. Almost 95% of the email addresses belongs to a specific domain that is the domain of the project. Let&#8217;s say testproject.com.  The table contains approx 12,000 records. In that project client decided to shift their main tld from .com to .org like testproject.com to testproject.org. Now they asked me to change the all the users&#8217; email from .com to .org. That means user1@testproject.com to user1@testproject.org I needed to do this job within a shortest span of time. So I decided to run a sql command directly in the database to do the modification. A simple UPDATE sql won&#8217;t work in that situation as I needed to change some part of a field and also update statement shouldn’t affect those rows which do not contain testproject.com. So I tried with different types of update sql to do the job but finally derived the following one :-</p>
<div class="codesnip-container" >
<div class="sql codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="kw1">UPDATE</span> tblUser <span class="kw1">SET</span> UserLoginID <span class="sy0">=</span> <span class="kw1">REPLACE</span><span class="br0">&#40;</span>UserLoginID<span class="sy0">,</span> <span class="st0">&#8216; testproject.org&#8217;</span><span class="sy0">,</span> <span class="st0">&#8216; testproject.com&#8217;</span><span class="br0">&#41;</span>;</div>
</li>
</ol>
</div>
</div>
<p>The beauty of this statement lies in the usage of replace function. This replace function will synchronously select records having &#8216;testproject.com&#8217; implementing functionality of the Where clause and generate the value to be set for the field UserLoginID as <somename>@testproject.org</p>
<p><strong>Case 2:</strong></p>
<p>This case was relatively easy. I need to find out unique entries from a table. It was not a hard job for me but still I googled a bit for this purpose. Now after some study I come to a position where I could do that using two different sql statements. They are :-</p>
<div class="codesnip-container" >
<div class="sql codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="kw1">SELECT</span> product_code <span class="kw1">FROM</span> tblproductdetails <span class="kw1">GROUP</span> <span class="kw1">BY</span> product_code;</div>
</li>
</ol>
</div>
</div>
<p>and</p>
<div class="codesnip-container" >
<div class="sql codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="kw1">SELECT</span> <span class="kw1">DISTINCT</span> product_code <span class="kw1">FROM</span> tblproductdetails;</div>
</li>
</ol>
</div>
</div>
<p>While looking at the results I found both of them produces same result but the only differnce is Select DISTINCT does not sort the result set like GROUP BY does. So I wasn&#8217;t sure which one should used. <a href="http://groups.google.com/group/udbug/browse_thread/thread/9d660cbbd91a7d63" target="_blank">SELECT DISTINCT vs GROUP BY &#8211;   udbug |  Google Groups</a> helped me to chose the correct statement as Select DISTINCT. So I used the following :-</p>
<div class="codesnip-container" >
<div class="sql codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="kw1">SELECT</span> <span class="kw1">DISTINCT</span> product_code <span class="kw1">FROM</span> tblproductdetails <span class="kw1">ORDER</span> <span class="kw1">BY</span> product_code</div>
</li>
</ol>
</div>
</div>
<p><strong>Case 3:</strong></p>
<p>This is also related with the earlier case of unique entries. This time I need to find out the ids which have duplicate entries. Almost the opposite job than the previous one. Well this statement also uses distinct but along with Group by clause gives the entries which have duplicates in the table. Here is the statement.</p>
<div class="codesnip-container" >
<div class="sql codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="kw1">SELECT</span> <span class="kw1">DISTINCT</span> regn_id <span class="kw1">FROM</span> tblstudentdetails <span class="kw1">GROUP</span> <span class="kw1">BY</span> regn_id <span class="kw1">HAVING</span> count<span class="br0">&#40;</span>regn_id<span class="br0">&#41;</span> <span class="sy0">&gt;</span> <span class="nu0">1</span>;</div>
</li>
</ol>
</div>
</div>
<p>This statement is very useful to find out entries which have duplicates in the tables.</p>
<p>Somebody asked me earlier how do I learn php and database? My answer was  &#8211; learn the basic, find some real-life project to work for, take the challenge to complete it. You would face lots and lots problem while doing that. Don&#8217;t try to get rid of them but try to solve them. When you would finish the job you will understand the difference in you in terms of practical knowledge. I hope you all agree with me. <img src='http://blog.webconsultingengineering.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<!-- Social Buttons Shared Counts Generated by Digg Digg plugin v4.2.2, 
    Author : Yong Mook Kim
    Website : http://www.mkyong.com/blog/digg-digg-wordpress-plugin/ -->]]></content:encoded>
			<wfw:commentRss>http://blog.webconsultingengineering.com/development/tricky-sql-statements.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Liquid Column Display Layout &#8211; Part II</title>
		<link>http://blog.webconsultingengineering.com/development/liquid-column-display-layout-part2.html</link>
		<comments>http://blog.webconsultingengineering.com/development/liquid-column-display-layout-part2.html#comments</comments>
		<pubDate>Mon, 09 Feb 2009 07:08:00 +0000</pubDate>
		<dc:creator>Susenjit</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[DHTML]]></category>
		<category><![CDATA[div tags]]></category>
		<category><![CDATA[DOM]]></category>
		<category><![CDATA[DOM Level 2 specification]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[liquid column layout]]></category>
		<category><![CDATA[table less structure]]></category>
		<category><![CDATA[web client side script]]></category>
		<category><![CDATA[web page design]]></category>

		<guid isPermaLink="false">http://blog.webconsultingengineering.com/?p=39</guid>
		<description><![CDATA[jQuery(document).ready(function($) { window.setTimeout('loadDigg_39()',5000);window.setTimeout('loadTwitter_39()',5000); }); function loadDigg_39(){ jQuery(document).ready(function($) { $('.dd-digg-39').remove();$('.DD_DIGG_AJAX_39').attr('href','http://digg.com/submit?url=http://blog.webconsultingengineering.com/development/liquid-column-display-layout-part2.html&#38;title=Liquid+Column+Display+Layout+-+Part+II');$.getScript('http://widgets.digg.com/buttons.js'); }); } function loadTwitter_39(){ jQuery(document).ready(function($) { $('.dd-twitter-39').remove();$.getScript('http://platform.twitter.com/widgets.js'); }); }In my earlier post I had discussed about the designing the liquid 3 column display layout. While developing the structure I had some problem with the column heights. Depending upon the contents length of those columns varies. I [...]]]></description>
			<content:encoded><![CDATA[<div style="float:left;margin:0px 0px 0px 0px;"><a title="Post on Google Buzz" class="google-buzz-button" href="http://www.google.com/buzz/post" data-button-style="normal-count" data-url="http://blog.webconsultingengineering.com/development/liquid-column-display-layout-part2.html"></a><script type="text/javascript" src="http://www.google.com/buzz/api/button.js"></script></div><script type="text/javascript">jQuery(document).ready(function($) { window.setTimeout('loadDigg_39()',5000);window.setTimeout('loadTwitter_39()',5000); });</script><script type="text/javascript"> function loadDigg_39(){ jQuery(document).ready(function($) { $('.dd-digg-39').remove();$('.DD_DIGG_AJAX_39').attr('href','http://digg.com/submit?url=http://blog.webconsultingengineering.com/development/liquid-column-display-layout-part2.html&amp;title=Liquid+Column+Display+Layout+-+Part+II');$.getScript('http://widgets.digg.com/buttons.js'); }); } function loadTwitter_39(){ jQuery(document).ready(function($) { $('.dd-twitter-39').remove();$.getScript('http://platform.twitter.com/widgets.js'); }); }</script><div class='dd_post_share'><div class='dd_buttons'><div class='dd_button'><div class='dd-digg-ajax-load dd-digg-39'></div><a class='DiggThisButton DD_DIGG_AJAX_39 DiggMedium'></a></div><div class='dd_button'><div class='dd-twitter-ajax-load dd-twitter-39'></div><a href="http://twitter.com/share" class="twitter-share-button" data-url="http://blog.webconsultingengineering.com/development/liquid-column-display-layout-part2.html" data-count="vertical" data-text="Liquid+Column+Display+Layout+-+Part+II" data-via="susenjit" ></a></div></div></div><div style='clear:both'></div><p>In my earlier post I had discussed about the designing the <a href="http://blog.webconsultingengineering.com/development/liquid-column-display-layout.html">liquid 3 column display layout</a>. While developing the structure I had some problem with the column heights. Depending upon the contents length of those columns varies. I have declared the height property as auto in the css. I could have declared them with some specific pixel value to make the columns of equal length. But if you consider your pages to contain dynamic content generated by server side scripting then this technique may fail. Particularly in Internet Explorer the data part may be extended beyond the columns, which could make the structure awful. So I was in need to find some other solutions for that purpose.</p>
<p>I thought of using some JavaScript to make all the columns height equal. The algorithm to do this is very simple. Calculate the max height among three columns and assign it for all the columns. So first I introduced three different IDs for these three columns to access the properties of those columns using Javascript document.getElementById() method. So I changed the HTML code as follows:</p>
<div class="codesnip-container" >
<div class="html4strict codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><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;container&quot;</span>&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&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;contentDiv&quot;</span> <span class="kw3">id</span><span class="sy0">=</span><span class="st0">&quot;contentDiv&quot;</span>&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&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;contentDiv_left&quot;</span> <span class="kw3">id</span><span class="sy0">=</span><span class="st0">&quot;contentDiv_left&quot;</span>&gt;&lt;<a href="http://december.com/html/4/element/img.html"><span class="kw2">img</span></a> <span class="kw3">class</span><span class="sy0">=</span><span class="st0">&quot;LcolImgDiv&quot;</span> <span class="kw3">src</span><span class="sy0">=</span><span class="st0">&quot;../images/c2.jpg&quot;</span> <span class="kw3">border</span><span class="sy0">=</span><span class="st0">&quot;0&quot;</span> <span class="kw3">alt</span><span class="sy0">=</span><span class="st0">&quot;&quot;</span> <span class="sy0">/</span>&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>
</li>
<li class="li1">
<div class="de1">&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;contentDiv_mid&quot;</span> <span class="kw3">id</span><span class="sy0">=</span><span class="st0">&quot;contentDiv_mid&quot;</span>&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&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;hD1&quot;</span>&gt;</span>Header Text<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></div>
</li>
<li class="li1">
<div class="de1">&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;hD2&quot;</span>&gt;</span>Header text 2<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></div>
</li>
<li class="li1">
<div class="de1">&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> <span class="kw3">class</span><span class="sy0">=</span><span class="st0">&quot;hD3&quot;</span>&gt;</span>The text….<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></div>
</li>
<li class="li1">
<div class="de1">&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></div>
</li>
<li class="li1">
<div class="de1">&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;contentDiv_right&quot;</span> <span class="kw3">id</span><span class="sy0">=</span><span class="st0">&quot;contentDiv_right&quot;</span>&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&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></div>
</li>
<li class="li1">
<div class="de1">&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;&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;item1&quot;</span> <span class="kw3">href</span><span class="sy0">=</span><span class="st0">&quot;director/index.html&quot;</span>&gt;</span>DIRECTOR SPEAKS <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;</span> <span class="sc2">&lt;<a href="http://december.com/html/4/element/img.html"><span class="kw2">img</span></a> <span class="kw3">src</span><span class="sy0">=</span><span class="st0">&quot;../images/bullet1.gif&quot;</span> <span class="kw3">alt</span><span class="sy0">=</span><span class="st0">&quot;&quot;</span> <span class="kw3">vspace</span><span class="sy0">=</span><span class="st0">&quot;0&quot;</span> <span class="sy0">/</span>&gt;&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/li.html"><span class="kw2">li</span></a>&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&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;&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;item1&quot;</span> <span class="kw3">href</span><span class="sy0">=</span><span class="st0">&quot;students/index.html&quot;</span>&gt;</span>STUDENTS <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;</span> <span class="sc2">&lt;<a href="http://december.com/html/4/element/img.html"><span class="kw2">img</span></a> <span class="kw3">src</span><span class="sy0">=</span><span class="st0">&quot;../images/bullet1.gif&quot;</span> <span class="kw3">alt</span><span class="sy0">=</span><span class="st0">&quot;&quot;</span> <span class="kw3">vspace</span><span class="sy0">=</span><span class="st0">&quot;2&quot;</span> <span class="sy0">/</span>&gt;&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/li.html"><span class="kw2">li</span></a>&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&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;&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;item1&quot;</span> <span class="kw3">href</span><span class="sy0">=</span><span class="st0">&quot;alumni/index.html&quot;</span>&gt;</span>ALUMNI <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;</span> <span class="sc2">&lt;<a href="http://december.com/html/4/element/img.html"><span class="kw2">img</span></a> <span class="kw3">src</span><span class="sy0">=</span><span class="st0">&quot;../images/bullet1.gif&quot;</span> <span class="kw3">alt</span><span class="sy0">=</span><span class="st0">&quot;&quot;</span> <span class="kw3">vspace</span><span class="sy0">=</span><span class="st0">&quot;2&quot;</span> <span class="sy0">/</span>&gt;&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/li.html"><span class="kw2">li</span></a>&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&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></div>
</li>
<li class="li1">
<div class="de1">&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></div>
</li>
<li class="li1">
<div class="de1">&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></div>
</li>
<li class="li1">
<div class="de1">&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;footerDiv&quot;</span>&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&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;footerDivText&quot;</span>&gt;</span>Copyright text<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></div>
</li>
<li class="li1">
<div class="de1">&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></div>
</li>
<li class="li1">
<div class="de1"><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></div>
</li>
</ol>
</div>
</div>
<p>contentDiv_left for the left column, contentDiv_mid for the middle column and contentDiv_right for the right one. contentDiv ID for the container div for these 3 columns.</p>
<p>Then my job was to find out the maximum height of these 3 columns. First I used <strong>offsetHeight</strong> property for this purpose. Calculate the max height and assign it to all the 3 columns style.height property. While testing the code I found it was working fine with Internet Explorer. In case of FireFox or Opera or Netscape browsers the code was malfunctioning, more specifically it was unable to find out the height of those columns using offsetHeight property. So I started looking for bug. While doing that I found out offsetHeight is a readonly property of the DHTML Object model introduced by MSIE. But is not part of any W3C specification or technical recommendation. So incase of browsers like FF or Opera it won&#8217;t work. So I started looking for some alternate property to find out the heights of those columns. There are some properties which didn&#8217;t worked for me are element.style.height, element.style.max-height etc. I tried with <br /> <strong>window.getComputedStyle(element,null).getPropertyValue(&#8220;height&#8221;)</strong>.<br /> As window.getComputedStyle method can be used to get the styles of an element that are not set using the style attribute or with JavaScript. But it didn&#8217;t work too. Finally I worked out with this method : <br /><strong>document.defaultView.getComputedStyle(element, null).getPropertyValue(&#8220;height&#8221;)</strong>.<br /> The document.defaultView returns a reference to the default AbstractView for the document. This document.defaultView is part of the DOM Level 2 DocumentView interface. This interface is not a mandatory part of Document Object Model Level 2 Core specification. DOM of IE doesn&#8217;t implement this but DOM in mozilla supports this. So I put a browser check and utilized the above method for browser like FF, Opera and offsetHeight propery for IE. Hence my code looks like this :</p>
<div class="codesnip-container" >
<div class="javascript codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="kw2">function</span> checkBrowserComponent<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw2">var</span> ua <span class="sy0">=</span> navigator.<span class="me1">userAgent</span>.<span class="me1">toLowerCase</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="co1">//var p = ua.indexOf(&#8216;msie&#8217;);</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="co1">//alert(p);</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw1">if</span><span class="br0">&#40;</span>ua.<span class="me1">indexOf</span><span class="br0">&#40;</span><span class="st0">&#8216;msie&#8217;</span><span class="br0">&#41;</span><span class="sy0">!=-</span>1<span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="st0">&quot;ie&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw1">else</span> <span class="kw1">if</span><span class="br0">&#40;</span>ua.<span class="me1">indexOf</span><span class="br0">&#40;</span><span class="st0">&#8216;firefox&#8217;</span><span class="br0">&#41;</span><span class="sy0">!=-</span>1<span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="st0">&quot;ff&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw1">return</span> <span class="st0">&quot;oth&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">function</span> maintainMaxColHeight<span class="br0">&#40;</span>pHeight<span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw2">var</span> defMaxHeight <span class="sy0">=</span> <span class="nu0">650</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw2">var</span> elmMain <span class="sy0">=</span> document.<span class="me1">getElementById</span><span class="br0">&#40;</span><span class="st0">&quot;contentDiv&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw2">var</span> elmLS <span class="sy0">=</span> document.<span class="me1">getElementById</span><span class="br0">&#40;</span><span class="st0">&quot;contentDiv_leftSingle&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw2">var</span> elmL <span class="sy0">=</span> document.<span class="me1">getElementById</span><span class="br0">&#40;</span><span class="st0">&quot;contentDiv_left&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw2">var</span> elmM <span class="sy0">=</span> document.<span class="me1">getElementById</span><span class="br0">&#40;</span><span class="st0">&quot;contentDiv_mid&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw2">var</span> elmR <span class="sy0">=</span> document.<span class="me1">getElementById</span><span class="br0">&#40;</span><span class="st0">&quot;contentDiv_right&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw2">var</span> ua <span class="sy0">=</span> checkBrowserComponent<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw1">if</span><span class="br0">&#40;</span>ua <span class="sy0">==</span> <span class="st0">&#8216;ff&#8217;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span>elmLS <span class="sy0">!=</span> <span class="kw2">null</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="co1">//alert(elmLS);</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="kw2">var</span> lh <span class="sy0">=</span> document.<span class="me1">defaultView</span>.<span class="me1">getComputedStyle</span><span class="br0">&#40;</span>elmLS<span class="sy0">,</span> <span class="kw2">null</span><span class="br0">&#41;</span>.<span class="me1">getPropertyValue</span><span class="br0">&#40;</span><span class="st0">&quot;height&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;lh <span class="sy0">=</span> parseInt<span class="br0">&#40;</span>lh<span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="kw1">if</span><span class="br0">&#40;</span>lh <span class="sy0">&gt;</span> defMaxHeight<span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; defMaxHeight <span class="sy0">=</span> lh<span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="kw1">else</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="kw2">var</span> lh <span class="sy0">=</span> document.<span class="me1">defaultView</span>.<span class="me1">getComputedStyle</span><span class="br0">&#40;</span>elmL<span class="sy0">,</span> <span class="kw2">null</span><span class="br0">&#41;</span>.<span class="me1">getPropertyValue</span><span class="br0">&#40;</span><span class="st0">&quot;height&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;lh <span class="sy0">=</span> parseInt<span class="br0">&#40;</span>lh<span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="kw1">if</span><span class="br0">&#40;</span>lh <span class="sy0">&gt;</span> defMaxHeight<span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; defMaxHeight <span class="sy0">=</span> lh<span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="kw2">var</span> mh <span class="sy0">=</span> document.<span class="me1">defaultView</span>.<span class="me1">getComputedStyle</span><span class="br0">&#40;</span>elmM<span class="sy0">,</span> <span class="kw2">null</span><span class="br0">&#41;</span>.<span class="me1">getPropertyValue</span><span class="br0">&#40;</span><span class="st0">&quot;height&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;mh <span class="sy0">=</span> parseInt<span class="br0">&#40;</span>mh<span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="kw1">if</span><span class="br0">&#40;</span>mh <span class="sy0">&gt;</span> defMaxHeight<span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; defMaxHeight <span class="sy0">=</span> mh<span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="kw2">var</span> rh <span class="sy0">=</span> document.<span class="me1">defaultView</span>.<span class="me1">getComputedStyle</span><span class="br0">&#40;</span>elmR<span class="sy0">,</span> <span class="kw2">null</span><span class="br0">&#41;</span>.<span class="me1">getPropertyValue</span><span class="br0">&#40;</span><span class="st0">&quot;height&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; rh <span class="sy0">=</span> parseInt<span class="br0">&#40;</span>rh<span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span>rh <span class="sy0">&gt;</span> defMaxHeight<span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;defMaxHeight <span class="sy0">=</span> rh<span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="co1">// this sets the height manually</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw1">if</span><span class="br0">&#40;</span>pHeight <span class="sy0">&gt;</span> defMaxHeight<span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; defMaxHeight <span class="sy0">=</span> pHeight<span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw1">else</span> <span class="kw1">if</span><span class="br0">&#40;</span>ua <span class="sy0">==</span> <span class="st0">&#8216;ie&#8217;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="co1">//elmL.currentStyle</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span>elmLS <span class="sy0">!=</span> <span class="kw2">null</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="kw2">var</span> lh <span class="sy0">=</span> elmLS.<span class="me1">offsetHeight</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="kw1">if</span><span class="br0">&#40;</span>lh <span class="sy0">&gt;</span> defMaxHeight<span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; defMaxHeight <span class="sy0">=</span> lh<span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="kw1">else</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="kw2">var</span> lh <span class="sy0">=</span> elmL.<span class="me1">offsetHeight</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="kw1">if</span><span class="br0">&#40;</span>lh <span class="sy0">&gt;</span> defMaxHeight<span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; defMaxHeight <span class="sy0">=</span> lh<span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="kw2">var</span> mh <span class="sy0">=</span> elmM.<span class="me1">offsetHeight</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="kw1">if</span><span class="br0">&#40;</span>mh <span class="sy0">&gt;</span> defMaxHeight<span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; defMaxHeight <span class="sy0">=</span> mh<span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="kw2">var</span> rh <span class="sy0">=</span> elmR.<span class="me1">offsetHeight</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span>rh <span class="sy0">&gt;</span> defMaxHeight<span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;defMaxHeight <span class="sy0">=</span> rh<span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw1">if</span><span class="br0">&#40;</span>elmLS <span class="sy0">!=</span> <span class="kw2">null</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp;elmLS.<span class="me1">style</span>.<span class="me1">height</span> <span class="sy0">=</span> defMaxHeight<span class="sy0">+</span><span class="st0">&quot;px&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw1">else</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp;elmL.<span class="me1">style</span>.<span class="me1">height</span> <span class="sy0">=</span> defMaxHeight<span class="sy0">+</span><span class="st0">&quot;px&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp;elmM.<span class="me1">style</span>.<span class="me1">height</span> <span class="sy0">=</span> defMaxHeight<span class="sy0">+</span><span class="st0">&quot;px&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;elmR.<span class="me1">style</span>.<span class="me1">height</span> <span class="sy0">=</span> defMaxHeight<span class="sy0">+</span><span class="st0">&quot;px&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;elmMain.<span class="me1">style</span>.<span class="me1">height</span> <span class="sy0">=</span> defMaxHeight<span class="sy0">+</span><span class="st0">&quot;px&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
</ol>
</div>
</div>
<p>I called this function <strong>maintainMaxColHeight()</strong> in onLoad within body tag.</p>
<p>After adding this script the page now looks like :</p>
<p style="text-align: center;"><a href="http://blog.webconsultingengineering.com/wp-content/uploads/col2_layout.jpg"><img class="aligncenter size-full wp-image-42" style="border: black 1px solid;" title="3 equal cols liquid layout" src="http://blog.webconsultingengineering.com/wp-content/uploads/col2_layout.jpg" alt="3 equal cols liquid layout" width="500" height="294" /></a></p>
<p>Now what&#8217;s the conclusion? I think in case of maintaining the equal height for the columns there are 2 options. First one is to put a fixed pixel value as height property in css for all the columns. Next one is implementing this JavaScript code. For this second option browser should support JavaScript (I believe most of the current browsers do so). In my opinion if a website is designed using liquid column display layout where all pages contain static information, first option will the best for that case. I always prefer to avoid unnecessary script execution for web pages as it reduces the page download and display time. The second option is best for websites containing dynamic information (like my project).</p>
<p>The project where I have implemented this layout is near to completion. Still it is not fully online I won’t be able to show you. I need to wait a little more to show you the live example.</p>
<!-- Social Buttons Shared Counts Generated by Digg Digg plugin v4.2.2, 
    Author : Yong Mook Kim
    Website : http://www.mkyong.com/blog/digg-digg-wordpress-plugin/ -->]]></content:encoded>
			<wfw:commentRss>http://blog.webconsultingengineering.com/development/liquid-column-display-layout-part2.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Liquid Column Display Layout</title>
		<link>http://blog.webconsultingengineering.com/development/liquid-column-display-layout.html</link>
		<comments>http://blog.webconsultingengineering.com/development/liquid-column-display-layout.html#comments</comments>
		<pubDate>Wed, 07 Jan 2009 08:48:25 +0000</pubDate>
		<dc:creator>Susenjit</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[Add new tag]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[div tags]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[liquid column layout]]></category>
		<category><![CDATA[table less structure]]></category>
		<category><![CDATA[web page design]]></category>

		<guid isPermaLink="false">http://blog.webconsultingengineering.com/?p=28</guid>
		<description><![CDATA[jQuery(document).ready(function($) { window.setTimeout('loadDigg_28()',5000);window.setTimeout('loadTwitter_28()',5000); }); function loadDigg_28(){ jQuery(document).ready(function($) { $('.dd-digg-28').remove();$('.DD_DIGG_AJAX_28').attr('href','http://digg.com/submit?url=http://blog.webconsultingengineering.com/development/liquid-column-display-layout.html&#38;title=Liquid+Column+Display+Layout');$.getScript('http://widgets.digg.com/buttons.js'); }); } function loadTwitter_28(){ jQuery(document).ready(function($) { $('.dd-twitter-28').remove();$.getScript('http://platform.twitter.com/widgets.js'); }); }I was busy with some of my projects. Few months back I was interested in liquid column layout structure. I had used this kind of layout in one of my project. This time I am going to discuss [...]]]></description>
			<content:encoded><![CDATA[<div style="float:left;margin:0px 0px 0px 0px;"><a title="Post on Google Buzz" class="google-buzz-button" href="http://www.google.com/buzz/post" data-button-style="normal-count" data-url="http://blog.webconsultingengineering.com/development/liquid-column-display-layout.html"></a><script type="text/javascript" src="http://www.google.com/buzz/api/button.js"></script></div><script type="text/javascript">jQuery(document).ready(function($) { window.setTimeout('loadDigg_28()',5000);window.setTimeout('loadTwitter_28()',5000); });</script><script type="text/javascript"> function loadDigg_28(){ jQuery(document).ready(function($) { $('.dd-digg-28').remove();$('.DD_DIGG_AJAX_28').attr('href','http://digg.com/submit?url=http://blog.webconsultingengineering.com/development/liquid-column-display-layout.html&amp;title=Liquid+Column+Display+Layout');$.getScript('http://widgets.digg.com/buttons.js'); }); } function loadTwitter_28(){ jQuery(document).ready(function($) { $('.dd-twitter-28').remove();$.getScript('http://platform.twitter.com/widgets.js'); }); }</script><div class='dd_post_share'><div class='dd_buttons'><div class='dd_button'><div class='dd-digg-ajax-load dd-digg-28'></div><a class='DiggThisButton DD_DIGG_AJAX_28 DiggMedium'></a></div><div class='dd_button'><div class='dd-twitter-ajax-load dd-twitter-28'></div><a href="http://twitter.com/share" class="twitter-share-button" data-url="http://blog.webconsultingengineering.com/development/liquid-column-display-layout.html" data-count="vertical" data-text="Liquid+Column+Display+Layout" data-via="susenjit" ></a></div></div></div><div style='clear:both'></div><p>I was busy with some of my projects. Few months back I was interested in liquid column layout structure. I had used this kind of layout in one of my project. This time I am going to discuss about the features of liquid column layout.</p>
<p>Earlier web page designing was highly dependent on HTML table structure. Common practice was to design a web page using HTML tags like <strong>table</strong>, <strong>tr</strong>, <strong>th</strong>, <strong>td</strong>, <strong>tbody</strong> etc. Web page designer used to design a layout in a graphic editor like <a href="http://www.adobe.com/products/photoshop/family/">Adobe Photoshop</a> and slice the layout in small images in <i>gif</i> or <i>jpeg</i> format. Then create a table structure and insert those small images in different cells. This technique is very useful because putting those small rectangular images into different table cells, a web page can be designed having the same look and feel as layout image drawn in graphic editor. If not wrong till today this is the mostly used methodology to design web pages.</p>
<p>Let us review this designing procedure. I have described it in a very simplest way. Sometime designing a web page using the table structure based on graphical layout becomes a difficult job. If the graphical layout contains curves, color gradient then the complexity increases. I consider the most crucial part in this process is to design the table structure. Many times designer uses nested tables while designing the pages. Merging cells and rows are also widely used. Another important factor is how to put images in the table cells. Most of the cases <strong>img</strong> HTML tag is used, but sometimes inserting image as background works wonderfully.</p>
<p>So unless you don&#8217;t have a good knowledge of HTML table structure you won&#8217;t be able to work as professional web designer. In my early days in this profession I had to suffer with the complexity of nested table structure while designing pages.</p>
<p>In recent years I found there is a trend to avoid this procedure of designing web pages. There are certain reasons behind this change. First and foremost reason I think the size of the web page. Using nested table structure increases the file size of the web page, but many times it becomes unavoidable. I have also noticed a peculiar case of Internet Explorer while opening a page containing nested table. If the web page contains heavy images and huge text in nested tables, browser&#8217;s status will show &#8220;Done&#8221; while display of the page is not complete. IE shows &#8220;Done&#8221; status when display of the outermost table is complete. Another reason, editing the table structure in those web pages is quite difficult, that&#8217;s why people like to avoid this procedure. I found many times editing that kind of pages make the complex table structure incorrect. Support for other HTML tags having boxed or blocked like display such as <strong>div</strong>, <strong>layer</strong>, <strong>iframe</strong> etc by most of the browser is another important reason. Increasing use of CSS for applying style to provide a good look is also important. I found designer uses <strong>div</strong> tag supported with CSS instead of table to design web pages. They have produces pages which looks same as page designed using table structure and most importantly they have able to reduce the file size a bit.<br />
Layouts like liquid column display, clean structure are the outcome of this increasing usage of div like tag instead of table tags in HTML. Though this new methodology is not very easy but I found there is a rapid increase in number who follows this.</p>
<p>Now here are the reasons why I was interested to implement liquid column display layout in one of my project.</p>
<ul>
<li>If I need to design those web pages using table structure, I need to use one outermost table containing 3 columns. Now to display contents like (text, photographs), I need to use nested tables in those columns. I knew that I was going to suffer with that particular problem in IE. Also my file size will be higher.</li>
<li>There was another designing constrain that I can&#8217;t avoid using table structure. There was a background image that I had to display in the bottom portion of the page. Table structure wasn’t allowing me to do that.</li>
<li>The other reasons are basically the advantages of using liquid column display. I don&#8217;t like to discuss it here. You can always search to know about it. Let me discuss how do I designed the page layout.</li>
</ul>
<p style="text-align: center;"><a href="http://blog.webconsultingengineering.com/wp-content/uploads/layout.gif"><img class="size-full wp-image-29 aligncenter" title="draft graphic layout" src="http://blog.webconsultingengineering.com/wp-content/uploads/layout.gif" alt="" width="399" height="242" /></a></p>
<p>Here is a sketch diagram about the structure that I was going to implement. It contains three columns which aligned in center and below footer. The page should display centered align three columns along with white spaces in the left and right side of the page. To design this structure I have used mainly div tags along with proper styles defined in CSS.</p>
<p>Here is a structural overview of the HTML code in the web page.</p>
<div class="codesnip-container" >
<div class="html4strict codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><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;container&quot;</span>&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&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;contentDiv&quot;</span>&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&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;contentDiv_left&quot;</span>&gt;&lt;<a href="http://december.com/html/4/element/img.html"><span class="kw2">img</span></a> <span class="kw3">class</span><span class="sy0">=</span><span class="st0">&quot;LcolImgDiv&quot;</span> <span class="kw3">src</span><span class="sy0">=</span><span class="st0">&quot;../images/c2.jpg&quot;</span> <span class="kw3">border</span><span class="sy0">=</span><span class="st0">&quot;0&quot;</span> <span class="kw3">alt</span><span class="sy0">=</span><span class="st0">&quot;&quot;</span> <span class="sy0">/</span>&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>
</li>
<li class="li1">
<div class="de1">&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;contentDiv_mid&quot;</span>&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&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;hD1&quot;</span>&gt;</span>Header Text<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></div>
</li>
<li class="li1">
<div class="de1">&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;hD2&quot;</span>&gt;</span>Header text 2<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></div>
</li>
<li class="li1">
<div class="de1">&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> <span class="kw3">class</span><span class="sy0">=</span><span class="st0">&quot;hD3&quot;</span>&gt;</span>The text….<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></div>
</li>
<li class="li1">
<div class="de1">&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></div>
</li>
<li class="li1">
<div class="de1">&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;contentDiv_right&quot;</span>&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&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></div>
</li>
<li class="li1">
<div class="de1">&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;&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;item1&quot;</span> <span class="kw3">href</span><span class="sy0">=</span><span class="st0">&quot;director/index.html&quot;</span>&gt;</span>DIRECTOR SPEAKS <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;</span> <span class="sc2">&lt;<a href="http://december.com/html/4/element/img.html"><span class="kw2">img</span></a> <span class="kw3">src</span><span class="sy0">=</span><span class="st0">&quot;../images/bullet1.gif&quot;</span> <span class="kw3">alt</span><span class="sy0">=</span><span class="st0">&quot;&quot;</span> <span class="kw3">vspace</span><span class="sy0">=</span><span class="st0">&quot;0&quot;</span> <span class="sy0">/</span>&gt;&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/li.html"><span class="kw2">li</span></a>&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&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;&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;item1&quot;</span> <span class="kw3">href</span><span class="sy0">=</span><span class="st0">&quot;students/index.html&quot;</span>&gt;</span>STUDENTS <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;</span> <span class="sc2">&lt;<a href="http://december.com/html/4/element/img.html"><span class="kw2">img</span></a> <span class="kw3">src</span><span class="sy0">=</span><span class="st0">&quot;../images/bullet1.gif&quot;</span> <span class="kw3">alt</span><span class="sy0">=</span><span class="st0">&quot;&quot;</span> <span class="kw3">vspace</span><span class="sy0">=</span><span class="st0">&quot;2&quot;</span> <span class="sy0">/</span>&gt;&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/li.html"><span class="kw2">li</span></a>&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&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;&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;item1&quot;</span> <span class="kw3">href</span><span class="sy0">=</span><span class="st0">&quot;alumni/index.html&quot;</span>&gt;</span>ALUMNI <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;</span> <span class="sc2">&lt;<a href="http://december.com/html/4/element/img.html"><span class="kw2">img</span></a> <span class="kw3">src</span><span class="sy0">=</span><span class="st0">&quot;../images/bullet1.gif&quot;</span> <span class="kw3">alt</span><span class="sy0">=</span><span class="st0">&quot;&quot;</span> <span class="kw3">vspace</span><span class="sy0">=</span><span class="st0">&quot;2&quot;</span> <span class="sy0">/</span>&gt;&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/li.html"><span class="kw2">li</span></a>&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&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></div>
</li>
<li class="li1">
<div class="de1">&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></div>
</li>
<li class="li1">
<div class="de1">&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></div>
</li>
<li class="li1">
<div class="de1">&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;footerDiv&quot;</span>&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&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;footerDivText&quot;</span>&gt;</span>Copyright text<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></div>
</li>
<li class="li1">
<div class="de1">&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></div>
</li>
<li class="li1">
<div class="de1"><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></div>
</li>
</ol>
</div>
</div>
<p>Here is styles defined in css</p>
<div class="codesnip-container" >
<div class="css codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="re1">.container</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">margin</span><span class="sy0">:</span> <span class="re3">0px</span> <span class="kw2">auto</span><span class="sy0">;</span> <span class="kw1">width</span><span class="sy0">:</span> <span class="re3">927px</span><span class="sy0">;</span> <span class="kw1">padding</span><span class="sy0">:</span><span class="re3">0px</span><span class="sy0">;</span> <span class="kw1">border</span><span class="sy0">:</span><span class="re3">0px</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">.contentDiv</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">height</span><span class="sy0">:</span> <span class="kw2">auto</span><span class="sy0">;</span> <span class="kw1">width</span><span class="sy0">:</span><span class="re3">925px</span><span class="sy0">;</span> <span class="kw1">padding</span><span class="sy0">:</span><span class="re3">2px</span> <span class="re3">2px</span> <span class="re3">2px</span> <span class="re3">2px</span><span class="sy0">;</span> <span class="kw1">margin-top</span><span class="sy0">:</span><span class="re3">5px</span><span class="sy0">;</span> <span class="kw1">background</span><span class="sy0">:</span><span class="re0">#F9E6EC</span><span class="sy0">;</span> <span class="kw1">border</span><span class="sy0">:</span><span class="re3">0px</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">.contentDiv_left</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">padding</span><span class="sy0">:</span> <span class="re3">0px</span> <span class="re3">0px</span> <span class="re3">0px</span> <span class="re3">0px</span><span class="sy0">;</span> <span class="kw1">float</span><span class="sy0">:</span> <span class="kw1">left</span><span class="sy0">;</span> <span class="kw1">height</span><span class="sy0">:</span> <span class="kw2">auto</span><span class="sy0">;</span> <span class="kw1">width</span><span class="sy0">:</span> <span class="re3"><span class="nu0">35</span>%</span><span class="sy0">;</span> <span class="kw1">background-image</span><span class="sy0">:</span><span class="kw2">url</span><span class="br0">&#40;</span><span class="co2">../../images/column_bg.gif</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="kw1">background-repeat</span><span class="sy0">:</span><span class="kw2">repeat-y</span><span class="sy0">;</span> <span class="kw1">border</span><span class="sy0">:</span><span class="re3">0px</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">.contentDiv_right</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">padding</span><span class="sy0">:</span> <span class="re3">0px</span> <span class="re3">0px</span> <span class="re3">0px</span> <span class="re3">0px</span><span class="sy0">;</span> <span class="kw1">float</span><span class="sy0">:</span> <span class="kw1">right</span><span class="sy0">;</span> <span class="kw1">height</span><span class="sy0">:</span> <span class="kw2">auto</span><span class="sy0">;</span> <span class="kw1">width</span><span class="sy0">:</span> <span class="re3"><span class="nu0">28</span>%</span><span class="sy0">;</span> <span class="kw1">background-image</span><span class="sy0">:</span><span class="kw2">url</span><span class="br0">&#40;</span><span class="co2">../../images/right_column_bg.gif</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="kw1">background-repeat</span><span class="sy0">:</span><span class="kw2">repeat-y</span><span class="sy0">;</span> <span class="kw1">border</span><span class="sy0">:</span><span class="re3">0px</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">.contentDiv_mid</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">padding</span><span class="sy0">:</span> <span class="re3">0px</span> <span class="re3">0px</span> <span class="re3">0px</span> <span class="re3">0px</span><span class="sy0">;</span> <span class="kw1">float</span><span class="sy0">:</span> <span class="kw1">left</span><span class="sy0">;</span> <span class="kw1">height</span><span class="sy0">:</span> <span class="kw2">auto</span><span class="sy0">;</span> <span class="kw1">width</span><span class="sy0">:</span> <span class="re3"><span class="nu0">35</span>%</span><span class="sy0">;</span> <span class="kw1">background</span><span class="sy0">:</span><span class="re0">#FFC6E2</span><span class="sy0">;</span> <span class="kw1">margin-left</span><span class="sy0">:</span><span class="re3">10px</span><span class="sy0">;</span> <span class="kw1">background-image</span><span class="sy0">:</span><span class="kw2">url</span><span class="br0">&#40;</span><span class="co2">../../images/column_bg.gif</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="kw1">background-repeat</span><span class="sy0">:</span><span class="kw2">repeat-y</span><span class="sy0">;</span> <span class="kw1">border</span><span class="sy0">:</span><span class="re3">0px</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">.footerDiv</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">height</span><span class="sy0">:</span> <span class="re3">20px</span><span class="sy0">;</span> <span class="kw1">width</span><span class="sy0">:</span><span class="re3">925px</span><span class="sy0">;</span> <span class="kw1">padding</span><span class="sy0">:</span><span class="re3">0px</span> <span class="re3">2px</span> <span class="re3">2px</span> <span class="re3">2px</span><span class="sy0">;</span> <span class="kw1">margin-top</span><span class="sy0">:</span><span class="re3">5px</span><span class="sy0">;</span> <span class="kw1">margin-bottom</span><span class="sy0">:</span><span class="re3">10px</span><span class="sy0">;</span> <span class="kw1">background</span><span class="sy0">:</span><span class="re0">#AD5B66</span><span class="sy0">;</span> <span class="kw1">border</span><span class="sy0">:</span><span class="re3">0px</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
</ol>
</div>
</div>
<p>Now here is outcome of the effort.</p>
<p style="text-align: center;"><a href="http://blog.webconsultingengineering.com/wp-content/uploads/col2_layout_first.jpg"><img class="aligncenter size-full wp-image-30" style="border: 1px solid black;" title="col2_layout_first" src="http://blog.webconsultingengineering.com/wp-content/uploads/col2_layout_first.jpg" alt="" width="500" height="294" /></a></p>
<p>A brief explanation about the structure.<br />
To design the 3 column structure I have used nested <strong>div</strong> tags with proper styles. There is a outermost div tag having class name <em>contentDiv</em>. Within that I have put 3 more divs with class names as <em>contentDiv_left</em>, <em>contentDiv_mid</em> and <em>contentDiv_right</em>. For these 3 divs I have defined <em>float property</em> in CSS and width in percentage value to achieve liquidity. For all those divs I have used height property as auto in CSS. This helps div to grow in lenght depending upon the content put in it.</p>
<p>Though I have implemented the 3 column liquid layout, there is a problem in it. If you look at the above picture you can spot out the problem. Yehh, the three columns are not of equal height. Depending upon the content added in those columns, their lengths will get adjusted. This is due to <em>height:auto;</em> in CSS for the 3 inner divs. One solution is to specify a big value as height in CSS. Pages will be unnecessarily long containing small content in those divs. Will create another problem.</p>
<p>I have used a technique to overcome this problem. I will be discussing it in my next post and this time next post I will do very soon. Till then comments, suggestions and queries are always welcome.</p>
<!-- Social Buttons Shared Counts Generated by Digg Digg plugin v4.2.2, 
    Author : Yong Mook Kim
    Website : http://www.mkyong.com/blog/digg-digg-wordpress-plugin/ -->]]></content:encoded>
			<wfw:commentRss>http://blog.webconsultingengineering.com/development/liquid-column-display-layout.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
