<?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>Consilience Media &#187; Dynamics</title>
	<atom:link href="http://www.consil.co.uk/blog/category/webinterface/dynamics/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.consil.co.uk</link>
	<description></description>
	<lastBuildDate>Thu, 12 Jan 2012 12:03:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Ionic &#8211; CSS multi column framework</title>
		<link>http://www.consil.co.uk/blog/2009/05/01/ionic/</link>
		<comments>http://www.consil.co.uk/blog/2009/05/01/ionic/#comments</comments>
		<pubDate>Fri, 01 May 2009 21:27:52 +0000</pubDate>
		<dc:creator>Phill Brown</dc:creator>
				<category><![CDATA[CMS/Frameworks]]></category>
		<category><![CDATA[Dynamics]]></category>
		<category><![CDATA[Search Engine Optimisation]]></category>
		<category><![CDATA[CSS Frameworks]]></category>
		<category><![CDATA[CSS Layouts]]></category>
		<category><![CDATA[CSS Positioning]]></category>

		<guid isPermaLink="false">http://www.consil.co.uk/blog/?p=385</guid>
		<description><![CDATA[Introducing Ionic, a CSS framework put together to specifically handle layouts with more than 2 columns in CSS. The framework, originally written by Jason under the name &#8216;fluid1&#8242;, has been used on our client&#8217;s website, IEMA.net, since 2005. The aim of the project was to make it accessible to all the common browsers, whilst keeping the HTML markup as semantic as possible. Currently the script only supports a maximum of 3 columns, but there is no reason why the algorithm <a href="http://www.consil.co.uk/blog/2009/05/01/ionic/" title="Read more" class="sprite-wrapper arrow-green-right">...<span class="sprite"></span></a>]]></description>
			<content:encoded><![CDATA[<p>Introducing <a href="http://www.consil.co.uk/ionic/">Ionic</a>, a CSS framework put together to specifically handle layouts with more than 2 columns in CSS.</p>
<p>The framework, originally written by Jason under the name &#8216;fluid1&#8242;, has been used on our client&#8217;s website, <a href="http://www.iema.net" target="_blank">IEMA.net</a>, since 2005. The aim of the project was to make it accessible to all the common browsers, whilst keeping the HTML markup as semantic as possible.</p>
<p>Currently the script only supports a maximum of 3 columns, but there is no reason why the algorithm can&#8217;t be extended to support any number of columns.</p>
<p>Ionic has its own microsite under development where you&#8217;ll be able to grab the latest releases and find out more about the framework. The link is:<a href="http://www.consil.co.uk/ionic/"><br />
www.consil.co.uk/ionic.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.consil.co.uk/blog/2009/05/01/ionic/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Clearing floats</title>
		<link>http://www.consil.co.uk/blog/2008/12/29/phills-clearing-method/</link>
		<comments>http://www.consil.co.uk/blog/2008/12/29/phills-clearing-method/#comments</comments>
		<pubDate>Mon, 29 Dec 2008 18:13:08 +0000</pubDate>
		<dc:creator>Phill Brown</dc:creator>
				<category><![CDATA[Dynamics]]></category>
		<category><![CDATA[clearing]]></category>
		<category><![CDATA[floats]]></category>
		<category><![CDATA[haslayout]]></category>

		<guid isPermaLink="false">http://www.consil.co.uk/blog/?p=277</guid>
		<description><![CDATA[To anyone out there reading up on clearing, this is the best method: http://www.positioniseverything.net/easyclearing.html It&#8217;s totally cross-browser compatible, doesn&#8217;t leave any messy markup and leaves the code fully accessible. It does however have 1 flaw&#8230; Scroll down to the part about the IE/Mac problem and you&#8217;ll see the fix involves adding a display: inline-block to the container block, which is then re-instated to a display: block in the IE stylesheet. The problem is that inline-block also affects all the other <a href="http://www.consil.co.uk/blog/2008/12/29/phills-clearing-method/" title="Read more" class="sprite-wrapper arrow-green-right">...<span class="sprite"></span></a>]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-298" src="http://www.consil.co.uk/files/2008/12/clearing-floats-29dec08.jpg" alt="clearing-floats-29dec08" width="200" height="200" />To anyone out there reading up on clearing, this is the best method:</p>
<p><a href="http://www.positioniseverything.net/easyclearing.html">http://www.positioniseverything.net/easyclearing.html</a></p>
<p>It&#8217;s totally cross-browser compatible, doesn&#8217;t leave any messy markup and leaves the code fully accessible. It does however have 1 flaw&#8230;</p>
<p>Scroll down to the part about the IE/Mac problem and you&#8217;ll see the fix involves adding a <strong>display: inline-block</strong> to the container block, which is then re-instated to a display: block in the IE stylesheet.</p>
<p>The problem is that inline-block also affects all the other non-IE browsers. This gives us a wrapper that&#8217;s not 100% wide. So what can we do?</p>
<h3>Initial Setup</h3>
<p>The following example will work on every modern browsing environment except Internet Explorer on Macs. You may just want to leave it like this and not bother accommodating the ancient browser.</p>
<h4>MyPage.html</h4>
<pre>&lt;html&gt;
&lt;head&gt;
   &lt;link rel="stylesheet" type="text/css" href="main.css" media="screen" /&gt;
   &lt;!--[if IE]&gt;
      &lt;link rel="stylesheet" type="text/css" href="ie.css" media="screen" /&gt;
   &lt;![endif]--&gt;
&lt;/head&gt;
&lt;body&gt;
   &lt;div class="clear"&gt;
      &lt;div style="float: left;"&gt;&lt;/div&gt;
      &lt;div style="float: right;"&gt;&lt;/div&gt;
   &lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
<h4>main.css</h4>
<pre>.clear:after {
   content: ".";
   display: block;
   height: 0;
   clear: both;
   visibility: hidden;
}</pre>
<h4>ie.css</h4>
<pre>.clear { zoom:1; }</pre>
<h3>Getting it working in IE/Mac</h3>
<p>As described in the <a href="http://www.positioniseverything.net/easyclearing.html">P.I.E article</a>, an inline-block trigger on the wrapper will trigger Internet Explorer&#8217;s  built in auto-clearing. There are 2 ways to do this:</p>
<h4>Overwriting display</h4>
<p>Apply 100% width to the inline-block in your main stylesheet This works 99% of the time, just be aware of issues with the <a href="http://en.wikipedia.org/wiki/Internet_Explorer_box_model_bug">IE box model bug</a>.</p>
<p>Add this code to <strong>main.css </strong>after the clear:after rule:</p>
<pre>.clear { display:inline-block; width:100%; }</pre>
<p>You now need to revert the display property back to block for IE/Win to get the auto-clearing effect to work. Replace the code in <strong>ie.css </strong>with:</p>
<pre>.clear { zoom:1; display:block; }</pre>
<h4>Browser sniffers</h4>
<p>Have different stylesheets for IE/Win and IE/Mac and include them using a server-side or JavaScript browser sniffer. This is arguably the cleanest fix.</p>
<p>First off <strong>remove the conditional include</strong> from MyPage.html (&lt;!&#8211;[if IE]&gt; &#8230;). This file will be included later on using a different method.</p>
<p>Create a new file called <strong>iemac.css</strong>:</p>
<pre>.clear { display:inline-block; width:100%; }</pre>
<p><strong>PHP</strong> users can them add this code in the html &lt;head&gt; element:</p>
<pre>&lt;?php
$browser = strtolower($_SERVER['HTTP_USER_AGENT']);
if (strpos($browser, 'msie')) {
   if (strpos($browser, 'mac')) {
      echo "&lt;link rel='stylesheet' type='text/css' href='iemac.css' /&gt;";
   }
   echo "&lt;link rel='stylesheet' type='text/css' href='ie.css' /&gt;";
}
?&gt;</pre>
<p>Alternatively, you can apply a fix using <strong>JavaScript</strong>. Again this goes in the &lt;head&gt;:</p>
<pre>&lt;script language="javascript" type="text/javascript"&gt;
&lt;!--
if (navigator.appName.indexOf("Microsoft Internet Explorer") &gt;= 0) {
   if (navigator.platform.indexOf("Mac") &gt;= 0) {
      document.write("&lt;link rel='stylesheet' type='text/css' href='iemac.css' /&gt;");
   }
   document.write("&lt;link rel='stylesheet' type='text/css' href='ie.css' /&gt;");
}
// --&gt;
&lt;/script&gt;</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.consil.co.uk/blog/2008/12/29/phills-clearing-method/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

