<?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>Wed, 30 Nov 2011 11:16:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Computational Search Engine &#8211; Wolfram&#124;Alpha</title>
		<link>http://blog.webconsultingengineering.com/development/computational-search-engine.html</link>
		<comments>http://blog.webconsultingengineering.com/development/computational-search-engine.html#comments</comments>
		<pubDate>Thu, 20 Oct 2011 12:17:22 +0000</pubDate>
		<dc:creator>Susenjit</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[search engine]]></category>

		<guid isPermaLink="false">http://blog.webconsultingengineering.com/?p=151</guid>
		<description><![CDATA[When we look for something in the web we use search engines. Like many of you my favourite SE is Google. The term googling started upon doing search using the Google. Then comes Bing. Now what do we search using SE? I asked my friends &#38; collogues about this. Majority of the answers are almost [...]]]></description>
			<content:encoded><![CDATA[<p>When we look for something in the web we use search engines. Like many of you my favourite SE is Google. The term googling started upon doing search using the Google. Then comes Bing. Now what do we search using SE? I asked my friends &amp; collogues about this. Majority of the answers are almost anything. Well I also think more or less the same, but with an assumption of existence of the information on the web. This means I search for things like address of restaurant or coffee shop,  specific product review, news for certain things or may be work related information etc. I believe most of you also do the same. In simple words we search information present in the web using SE.</p>
<p>Now if you need to find out the some information like 30 degree C equivalent F or 8% tax upon $1200 or interest amount upon $4500 with 13.5% yearly compound interest etc. Best way is to find out pen &amp; paper and a calculator to do the math. I found out an interesting search engine powered by computational power. <span id="more-151"></span></p>
<p><a href="http://blog.webconsultingengineering.com/wp-content/uploads/wa-interface.jpg"><img class="aligncenter size-full wp-image-152" title="Wolfram|Alpha Search Interface" src="http://blog.webconsultingengineering.com/wp-content/uploads/wa-interface.jpg" alt="" width="461" height="160" /></a></p>
<p>The tagline <a title="Wolfram|Alpha" href="http://www.wolframalpha.com/">Wolfram|Alpha</a> says that it is the computational knowledge engine. The home page contain a nice interface to search with self-explanatory hints. The interface also provides random link to generate search items in the search box randomly. IMO this feature is helpful for the newbie with Wolfram|Alpha. The tour is also helpful. Same way <a title="examples" href="http://www.wolframalpha.com/examples/">examples</a> are really good to understand the we can use Wolfram|Alpha</p>
<p>I found lot of good resource in Wolfram|Alpha. Likely they have announced API version 2.0 with various features. It is free for personal/experimental use. They also provide commercial license. For webmasters &amp; bloggers Wolfram|Alpha provides a wide variety of <a title="widget gallery" href="http://www.wolframalpha.com/widgets/gallery/">widgets</a> in different categories. Here are two among them that I have used in this page.</p>
<table width="60%" border="0" align="center">
<tbody>
<tr>
<td><script type="text/javascript" id="WolframAlphaScript7578a0ade3252ab922b65239ed6e53d1" src="http://www.wolframalpha.com/widget/widget.jsp?id=7578a0ade3252ab922b65239ed6e53d1&#038;theme=blue"></script></td>
<td><script type="text/javascript" id="WolframAlphaScript8135d1bf28501f18186f9152e28c1b3f" src="http://www.wolframalpha.com/widget/widget.jsp?id=8135d1bf28501f18186f9152e28c1b3f&#038;theme=blue"></script></td>
</tr>
</tbody>
</table>
<p>Wolfram|Alpha is a result of continuous development effort from Wolfram Research driven by the key person <a href="http://www.stephenwolfram.com/about-sw/">Stephen Wolfram</a>. Two most important key component of WA is Wolfram Mathematica &amp; A New Kind of Science(NKS).</p>
<p>Though I have started using Wolfram|Alpha for few days but I need to admit its usefulness. I am exploring its features day by day. I am sure you will like this too. I will feel better if you share your experience with Wolfram|Alpha.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.webconsultingengineering.com/development/computational-search-engine.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Chart Tools by Google Code</title>
		<link>http://blog.webconsultingengineering.com/development/google-chart-tools.html</link>
		<comments>http://blog.webconsultingengineering.com/development/google-chart-tools.html#comments</comments>
		<pubDate>Fri, 25 Feb 2011 14:39:54 +0000</pubDate>
		<dc:creator>Susenjit</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[charting tool]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[dynamic chart]]></category>
		<category><![CDATA[google api]]></category>
		<category><![CDATA[google code]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://blog.webconsultingengineering.com/?p=112</guid>
		<description><![CDATA[&#8220;A picture is worth a thousand words.&#8221; To explain a set of data, the better way is create a chart. In PHP there a lot of chart designing tools/application. Today I spent some time with a charting tool provided by Google Code. I find this tool is really useful and easy to use. Like other [...]]]></description>
			<content:encoded><![CDATA[<p><span style="color: #2b40a1;"><strong><em>&#8220;A picture is worth a thousand words.&#8221;</em></strong></span> To explain a set of data, the better way is create a chart. In PHP there a lot of chart designing tools/application. Today I spent some time with a charting tool provided by Google Code. I find this tool is really useful and easy to use. Like other Google codes it provides a lots of customization options. There are 2 kind of charting type supported by 2 different APIs. One produces Image chart and another produces Interactive Charts.</p>
<p>To explore with <a href="http://code.google.com/apis/chart/index.html">Google Chart API</a> for Image chart I chose the data set of browser usages by visitors on my blog for the month of January 2011. Here is a snapshot from Awstats from my blog cPanel.</p>
<div id="attachment_114" class="wp-caption aligncenter" style="width: 555px"><a href="http://blog.webconsultingengineering.com/wp-content/uploads/browser_comparison_jan11.jpg"><img class="size-full wp-image-114" title="browser_comparison_jan11" src="http://blog.webconsultingengineering.com/wp-content/uploads/browser_comparison_jan11.jpg" alt="" width="545" height="230" /></a><p class="wp-caption-text">Browse usage comparison of Cohesive Web for January 2011</p></div>
<p>Here is the chart produced by the Google Chart API.</p>
<div class="wp-caption aligncenter" style="width: 570px"><img title="Comparison Chart" src="https://chart.googleapis.com/chart?chs=560x270&amp;cht=p3&amp;chd=t:31.2,27.6,17.4,8.8,7.5,3.5,2.5,0.9,0.1&amp;chdl=Internet%20Explorer%20%3A%2031.2%25|Firefox%20%3A%2027.6%25|Unknown%20%3A%2017.4%25|Google%20Chrome%20%3A%208.8%25|Mozilla%20%3A%207.5%25|Safari%20%3A%202.5%25|Netscape%20%3A%200.9%25|Android%200.1%25&amp;chco=2855F0EE|FE8019EE|999999EE|FFE814EE|D20202EE|DE8074EE|5CA4D4EE|585991EE|00FF00EE&amp;chtt=Browser%20Usage%20Comparison%20January%202011&amp;&amp;chts=32446D,16&amp;chf=bg,s,FAF0FF" alt="" width="560" height="270" /><p class="wp-caption-text">Comparison Chart produced by Google Chart</p></div>
<p>Let me explain the process I have used for drawing this chart. <span id="more-112"></span>If you send a request URL with parameters in GET or POST then The Google Chart API returns a chart image as response. The request URL is <span style="color: #0000ff;"><em>https://chart.googleapis.com/chart</em></span>. Here I have used GET method to send the parameters. Here is my URL for drawing this chart</p>
<div class="codesnip-container" >https://chart.googleapis.com/chart?chs=560&#215;270&amp;cht=p3&amp;chd=t:31.2,27.6,17.4,8.8,7.5,3.5,2.5,0.9,0.1&amp;chdl=Internet%20Explorer%20%3A%2031.2%25|Firefox%20%3A%2027.6%25|Unknown%20%3A%2017.4%25|Google%20Chrome%20%3A%208.8%25|Mozilla%20%3A%207.5%25|Safari%20%3A%202.5%25|Netscape%20%3A%200.9%25|Android%200.1%25&amp;chco=2855F0EE|FE8019EE|999999EE|FFE814EE|D20202EE|DE8074EE|5CA4D4EE|585991EE|00FF00EE&amp;chtt=Browser%20Usage%20Comparison%20January%202011&amp;&amp;chts=32446D,16&amp;chf=bg,s,FAF0FF</div>
<p>Here are the list of parameters with brief description :-</p>
<p><span style="color: #2b40a1;"><strong>chs</strong></span><br />
This is the dimension for the chart. The syntax is <span style="color: #9b5031;"><em>chs=&lt;width&gt;x&lt;height&gt;</em></span>. For both width &amp; height max value is 1000 pixcels. However width<em>x</em>height should not exceed more than 300000.</p>
<p><span style="color: #2b40a1;"><strong>cht</strong></span><br />
The chart type. The syntax is <span style="color: #9b5031;"><em>cht=&lt;chart_type&gt;</em></span>. I have used p3(for 3D pie chart). You can use values like p(pie chart), lc(line chart), v(venn chart), s(scatter chart), bhs/bvs(bar chart) etc. Check the <a href="http://code.google.com/apis/chart/docs/gallery/chart_gall.html">chart gallery</a> for complete listing of available chart types.</p>
<p><span style="color: #2b40a1;"><strong>chd</strong></span><br />
The data set for drawing the chart Basic syntax is <span style="color: #9b5031;"><em>chd=t:n1,n2,n3,n4&#8230;</em></span>. n1, n2, n3 are floating point numbers with a value range of 0 &#8211; 100. Numbers below zero will be dropped and above 100 will be truncated to 100.</p>
<p><span style="color: #2b40a1;"><strong>chdl</strong></span><br />
This is the chart legend text/label for each data/data series. The syntax is <span style="color: #9b5031;"><em>chdl=&lt;data_1_label&gt;|&#8230;|&lt;data_n_label&gt;</em></span>. If you have multiple words as label then they must be used in encoded format(<span style="color: #9b5031;">URL encoding</span>).</p>
<p><span style="color: #2b40a1;"><strong>chco</strong></span><br />
The color specification for each elements/series. Syntax for this parameter is <span style="color: #9b5031;"><em>chco=element_1_color|element_2_color|&#8230;|element_n_color</em></span>. The color code is a string of RRGGBB format hexadecimal number format. With this each 6 character color code you can use optional 2 character hexadecimal number from 00 to AA. Hence the color code format used here is RRGGBB[AA]. The last AA is used as transparency value , where 00 means complete transparent and FF means complete opaque.</p>
<p><span style="color: #2b40a1;"><strong>chtt</strong></span><br />
This parameter is for chart title. Syntax is <span style="color: #9b5031;"><em>chtt=&lt;chart_title&gt;</em></span>. To provide a line break you can use &#8220;<span style="color: #9b5031;">|</span>&#8220;. However the chart title also should be in encoded format.</p>
<p><span style="color: #2b40a1;"><strong>chts</strong></span><br />
This is used to mention the font size and the color of the chart title. Syntax is <span style="color: #9b5031;"><em>chts=&lt;color&gt;,&lt;font_size&gt;</em></span>. Color is as RRGGBB format hexadecimal format and font size is in point value.</p>
<p><span style="color: #2b40a1;"><strong>chf</strong></span><br />
This parameter is used for background fill. Syntax is <span style="color: #9b5031;"><em>chf=&lt;fill_type&gt;,s,&lt;color&gt;</em></span>. Here I have used bg as fill_type which means background fill. s means solid color. Color code is in RRGGBB hexadecimal format.</p>
<p>Beyond these parameters there are more which can be used to draw charts as per requirement. You can draw more complex charts using this API. You can read <a href="http://code.google.com/apis/chart/docs/making_charts.html">Google Chart Tools</a>. To use this chart API you don&#8217;t require any API key from Google. Currently there is no limit to the number of requests per day you can make to the Google Chart API, but Google have reserved the right to block any use that they regard as abusive.</p>
<p>There is <a href="http://imagecharteditor.appspot.com/">Image Chart Editor</a> which you can use to draw your chart. So happy charting then. <img src='http://blog.webconsultingengineering.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.webconsultingengineering.com/development/google-chart-tools.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<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[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 client-end. One of the interesting feature of jQuery is that it provides a large number of plugins [...]]]></description>
			<content:encoded><![CDATA[<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>
]]></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[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. Case 1: In one of my project there [...]]]></description>
			<content:encoded><![CDATA[<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><span id="more-48"></span><br />
<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>
]]></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[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 have declared the height property as auto in the css. I could have declared them with some [...]]]></description>
			<content:encoded><![CDATA[<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><span id="more-39"></span><br />
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>
]]></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[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. Earlier web page designing was highly dependent on HTML table [...]]]></description>
			<content:encoded><![CDATA[<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><span id="more-28"></span><br />
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>
]]></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>

