<?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>Intunet &#187; Front End Development</title>
	<atom:link href="http://weblog.intunet.co.uk/topics/front-end-development/feed/" rel="self" type="application/rss+xml" />
	<link>http://weblog.intunet.co.uk</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Fri, 19 Aug 2011 11:10:06 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>CSS, HTML5 and PIE! Lots of PIE</title>
		<link>http://weblog.intunet.co.uk/blog-article/css-html5-and-pie-lots-of-pie/</link>
		<comments>http://weblog.intunet.co.uk/blog-article/css-html5-and-pie-lots-of-pie/#comments</comments>
		<pubDate>Fri, 19 Aug 2011 10:59:27 +0000</pubDate>
		<dc:creator>intunet</dc:creator>
				<category><![CDATA[Cool Stuff]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Front End Development]]></category>

		<guid isPermaLink="false">http://weblog.intunet.co.uk/?p=895</guid>
		<description><![CDATA[
I&#8217;d like to share some very useful HTML development tools that I&#8217;ve found.
The latest versions of CSS allow some very interesting commands to be used allowing some very useful features. Unfortunately as with all new features, the older browsers (particularly IE)  don&#8217;t support them and can leave a very professional website looking, well, not so [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-904" title="pie" src="/wp-content/uploads/2011/08/pie1.gif" alt="pie" width="432" height="543" /></p>
<p>I&#8217;d like to share some very useful HTML development tools that I&#8217;ve found.</p>
<p>The latest versions of CSS allow some very interesting commands to be used allowing some very useful features. Unfortunately as with all new features, the older browsers (particularly IE)  don&#8217;t support them and can leave a very professional website looking, well, not so professional when those features aren&#8217;t appearing.</p>
<p>There is a very useful tool called PIE, this is a &#8216;behaviour&#8217; that you can add to CSS that tells the older browsers what to do with commands that they don&#8217;t understand. Basically you need to have the file PIE.htc on your website (ideally for speed of access and reliability although you could link to a remote copy as well) and add to the CSS styles that use it &#8216;behaviour: url(/PIE.htc). This now allows the older browsers access to a list of CSS commands that previously would be ignored.</p>
<p>One particular affect that you need to be aware of here is that in the server setup, you need to set the MIME type for .htc files, which is not added as standard on a lot of server setups. On IIS, you can do this in the MIME types settings in the IIS setup, on Apache hosting you can just add the line &#8216;AddType text/x-component .htc&#8217; to the .htaccess file in the root folder of the site. Basically this just tells the browser what type of file .htc files are and what to do with them.</p>
<p>After that you can now add a load of new CSS commands:</p>
<p>border-radius is probably the most useful, you express it like this:<br />
border-radius: &lt;top-left&gt; &lt;top-right&gt; &lt;bottom-left&gt; &lt;bottom-right&gt;</p>
<p>This allows you to round the corners of any div. Now I can hear some people thinking, &#8220;well why bother with this when I can just use a graphic with rounded corners?&#8221;. There are several very good reasons, number one is going to be load speed, you can just use a background tile meaning the graphical load is much lower. The second issue this works around is site zoom and text zoom. In order to do rounded corners that work with both forms of zooming, you end up with quite a complex structure that doesn&#8217;t always work in all browsers without a lot of work. Our previous examples of this required 9 separate divs just to create the rounded corner affect, requiring 8 graphics (4 corners, 4 tiles). Not impossible but far more difficult than it needed to be.</p>
<p>Of course this isn&#8217;t a perfect solution, older versions of Firefox, Safari and Chrome aren&#8217;t supported by PIE, but this is fine because they actually have been supporting these features for quite a while under their own tags, it&#8217;s only been IE which hasn&#8217;t supported them. To make sure they work in all browsers we need to add the following lines:</p>
<p>-moz-border-radius:<br />
-webkit-border-radius:</p>
<p>Use the same settings as for the border-radius command and the rounded corners should now look correct in all browsers from IE5 to the latest and greatest browsers.</p>
<p>I&#8217;m not going to go into a great amount of detail about the other functions, but there are many useful tools there such as box-shadow and a gradient shadow that can be implemented.</p>
<p>For full details of PIE, including the download of the files please visit: <a href="http://css3pie.com/" target="_blank">http://css3pie.com/</a></p>
<p>-Steven Lockey<br />
Web Developer, Search Engine Optimiser</p>
]]></content:encoded>
			<wfw:commentRss>http://weblog.intunet.co.uk/blog-article/css-html5-and-pie-lots-of-pie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using the png image format in modern web design</title>
		<link>http://weblog.intunet.co.uk/blog-article/using-the-png-image-format-in-modern-web-design/</link>
		<comments>http://weblog.intunet.co.uk/blog-article/using-the-png-image-format-in-modern-web-design/#comments</comments>
		<pubDate>Fri, 28 May 2010 11:27:39 +0000</pubDate>
		<dc:creator>matthew</dc:creator>
				<category><![CDATA[Front End Development]]></category>

		<guid isPermaLink="false">http://weblog.intunet.co.uk/?p=696</guid>
		<description><![CDATA[
The support that new browsers offer Front End Developers these days allows us to build more visually appealing web sites. Every modern browser from the much revered Firefox 3 through to IE (nuff said) 7 support the use of the .png.
More specifically, modern browsers support the alpha channel of .png&#8217;s. This is the part of [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-809" title="blogstervspng" src="/wp-content/uploads/2010/05/blogstervspng.png" alt="blogstervspng" width="432" height="350" /></p>
<p>The support that new browsers offer Front End Developers these days allows us to build more visually appealing web sites. Every modern browser from the much revered Firefox 3 through to IE (nuff said) 7 support the use of the .png.</p>
<p>More specifically, modern browsers support the alpha channel of .png&#8217;s. This is the part of the image that allows for a transparent effect, letting the viewer see part of what is behind the image. Common effects that this image format are useful for are things like drop shadows or smooth gradient effects. The reason they are so desirable in the eyes of the Front End developer is accessibility. They allow background colours or images to be changed without worrying about changing half of the rest of the graphics along with it. This makes a potentially lengthy amendment into a formality.</p>
<hr />
<h3>So what’s the problem?</h3>
<p><img class="alignright size-full wp-image-712" style="margin-left:20px;margin-right:0;" title="ie6-grad" src="/wp-content/uploads/2010/02/ie6-grad.jpg" alt="ie6-grad" width="200" height="200" /></p>
<p>The problem with IE6 is that it does not support the alpha-transparency property that other more modern browsers have addressed. This can be overcome in a tiresome method of browser hacking and combersome use of another image format called the .gif file. The .gif file was used as the default option <a rel="external" href="http://en.wikipedia.org/wiki/Graphics_Interchange_Format">before .png&#8217;s came along</a> (as well as the .jpg format) while they support transparency to an extent, they do not support the alpha channel of the file. This also has an impact on the accessibility of the site and doubles up the amount of editing required to make a design change that involves a .png. Also, it is not possible (from the front end anyway) to serve up two separate images in, say, a blog post or other dynamically generated content. I&#8217;m sure you could run something server side that recognised .png&#8217;s and replaced them with a jpg, but this is overly complicated and unnecessary if it can be done more quickly.</p>
<p>While you can use a .png in your design on IE6, you will get a pretty odd looking result. Due to the settings a .png requires to produce its transparent appearance, IE6 will put a grey tone in place of the area that should be transparent (or translucent, depending on the gradient or apha setting).</p>
<p><img class="alignnone size-full wp-image-718" title="ie6-dropshadow" src="/wp-content/uploads/2010/02/ie6-dropshadow.jpg" alt="ie6-dropshadow" width="432" height="149" /></p>
<hr />
<h3>Other quirks</h3>
<p>There are so many different &#8216;.png fixes&#8217; out there that while they work in very basic situations, as soon as you use them on slightly more complicated designs such as one with a repeating background or a background that isn&#8217;t the same size as the element it is styling, they start to behave strangely. In the latter situation, the image should stay off to one side but instead would just stretch the image until it fitted into the space the element covered. The following example shows what happens when you try to use a .png with a dodgy fix in an unordered list item.</p>
<p><img class="alignnone size-full wp-image-722" title="ie6-unorderedlist" src="/wp-content/uploads/2010/02/ie6-unorderedlist.jpg" alt="ie6-unorderedlist" width="432" height="64" /></p>
<p>I usually stick to jQuery because I’m used to it but after trying offerings from various people like <a rel="external" href="http://jquery.andreaseberhard.de/pngFix/">http://jquery.andreaseberhard.de/pngFix/</a> or <a rel="external" href="http://www.campbellsdigitalsoup.co.uk/about/png-fix/">http://www.campbellsdigitalsoup.co.uk/about/png-fix/</a> (it was thanks to the latter that I found a better solution) I found a much better solution to the problem.</p>
<p>Its not a jQuery solution, however, it is also not reliant on any other framework. That means that there is little to no risk of any conflicts with jQuery. Yes I also know about the &#8216;no conflict&#8217; rule that jQuery offers but trust me, having a solution that doesn&#8217;t require the developer to realise this, is much more desirable than having to realise it and make all the adjustments necessary to get it to work! The luscious javascript from <a rel="external" href="http://www.dillerdesign.com/experiment/DD_belatedPNG/">http://www.dillerdesign.com/experiment/DD_belatedPNG/</a> allows you to deal with the problem of stretching and repeated backgrounds.</p>
<hr />
<h3>How to make it work</h3>
<p>It’s fairly simple and best to restrict the usage of the script to IE6 by placing it in a conditional statement in the header.</p>
<pre class="brush: html;">
&lt;head&gt;
&lt;!-- other markup --&gt;

&lt;!--[if IE 6]&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;/js/DD_belatedPNG.js&quot;&gt;&lt;/script&gt;
&lt;![endif]--&gt;
&lt;/head&gt;
</pre>
<p>Follow this with the command to execute the .png fix either in the head of the document, just after the above javascript embed ..</p>
<pre class="brush: html;">
&lt;head&gt;
&lt;!-- other markup --&gt;
&lt;!--[if IE 6]&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;/js/DD_belatedPNG.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
 DD_belatedPNG.fix('.wrapper');
&lt;/script&gt;
&lt;![endif]--&gt;
&lt;/head&gt;
</pre>
<p>.. or as I do, add it into your jquery functions code. I do this for accessibility purposes to reduce the amount of code in the page, just good practice.</p>
<pre class="brush: js;">
$(document).ready(function(){
 /* other scripts */

 // Browser check for IE6
 if ($.browser.msie &amp;&amp; parseInt(jQuery.browser.version) == 6) {
 DD_belatedPNG.fix('.wrapper');
 }

});
</pre>
<p>The script currently doesn’t work on the body element of the page because of the way it detects the elements using siblings in the DOM (read more about that in the ‘Known issues’ section of the <a rel="external" href="http://www.dillerdesign.com/experiment/DD_belatedPNG/">.png fix page</a>).</p>
<hr />
<h3>Don&#8217;t over use it</h3>
<p>Yes, this is a pretty flexible solution for IE6, however, personally, I never like to get carried away with over use of solutions that are not native to any particular browser. Javascript should not be relied upon 100% as it can, after all, be turned off like a light switch, making all your beautiful script and the hard work that went into it, absolutely pointless.</p>
<p>Over use of the .png in the above situation would mean your site will look awful with javascript turned off. Any professional will be automatically aware of this. I personally still try to use .jpg or .gif  (thanks <a rel="external" href="http://en.wikipedia.org/wiki/Graphics_Interchange_Format">compuserve</a>) wherever possible in sites that I build.</p>
]]></content:encoded>
			<wfw:commentRss>http://weblog.intunet.co.uk/blog-article/using-the-png-image-format-in-modern-web-design/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Make a whole area clickable with jQuery</title>
		<link>http://weblog.intunet.co.uk/blog-article/make-a-whole-area-clickable-with-jquery/</link>
		<comments>http://weblog.intunet.co.uk/blog-article/make-a-whole-area-clickable-with-jquery/#comments</comments>
		<pubDate>Fri, 23 Oct 2009 14:35:48 +0000</pubDate>
		<dc:creator>matthew</dc:creator>
				<category><![CDATA[Front End Development]]></category>

		<guid isPermaLink="false">http://weblog.intunet.co.uk/?p=572</guid>
		<description><![CDATA[A common requirement we hear from clients at Intunet is the fact that only links are clickable on most Web sites. Increasing usability of, for example, a homepage, it is desirable to increase the link target area so that users of the site have a larger active area in which to click.


How is this possible?
This [...]]]></description>
			<content:encoded><![CDATA[<p>A common requirement we hear from clients at Intunet is the fact that only links are clickable on most Web sites. Increasing usability of, for example, a homepage, it is desirable to increase the link target area so that users of the site have a larger active area in which to click.</p>
<p><img src="/wp-content/uploads/2009/10/clickable.jpg" alt="clickable" title="clickable" width="432" height="242" class="alignnone size-full wp-image-596" /></p>
<hr />
<h3>How is this possible?</h3>
<p>This can be in the form of a large image which is wrapped in a link like so:</p>
<pre class="brush: html;">

&lt;a href=&quot;/link-to-page.html&quot;&gt;
 &lt;img  src=&quot;/path/to/image.jpg&quot; alt=&quot;tag for seo&quot; /&gt;
&lt;/a&gt;
</pre>
<p>This way, the whole image becomes clickable and increases the target area as desired. This is a perfectly valid solution.</p>
<hr />
<h3>Another way</h3>
<p>To please SEO practitioners, designers and developers alike, areas of a Web site that appear to be made up of text, images and other xhtml elements should be exactly that wherever possible. It makes the design much more flexible, allowing direct editing of text if it were ever to change.</p>
<pre class="brush: js;">

function(elmt){

 $(elmt).each(function(i){
 var hrefEle = $(this).find('a').attr('href');

 $(this).click(function(){
 location.href = hrefEle;
 });
 $(this).css(&quot;cursor&quot;,&quot;pointer&quot;);
 });

}
</pre>
<p>This script is the function I used to achieve this. When you call the function, you pass it the element you want to be clickable, this element needs to have a link somewhere inside it. The first thing the script does is to find the first link attribute within the chosen element via jqueries very useful find() and attr() methods. It then goes back to the original $(this) element and creates a click event, making the page navigate away to the link found previously.</p>
]]></content:encoded>
			<wfw:commentRss>http://weblog.intunet.co.uk/blog-article/make-a-whole-area-clickable-with-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Devil is in the Detail</title>
		<link>http://weblog.intunet.co.uk/blog-article/the-devil-is-in-the-detail/</link>
		<comments>http://weblog.intunet.co.uk/blog-article/the-devil-is-in-the-detail/#comments</comments>
		<pubDate>Tue, 14 Jul 2009 11:37:40 +0000</pubDate>
		<dc:creator>matthew</dc:creator>
				<category><![CDATA[Front End Development]]></category>

		<guid isPermaLink="false">http://weblog.intunet.co.uk.matthew.intunet/?p=293</guid>
		<description><![CDATA[Building sites with XHTML and css has become a bigger and bigger task over the last few years. Browsers seem to be getting upgraded every few months with entirely new browsers coming out too.
Front End Developers have their work cut out to be sympathetic to all these browsers and to do a good job. There [...]]]></description>
			<content:encoded><![CDATA[<p>Building sites with XHTML and css has become a bigger and bigger task over the last few years. Browsers seem to be getting upgraded every few months with entirely new browsers coming out too.</p>
<p>Front End Developers have their work cut out to be sympathetic to all these browsers and to do a good job. There are many methods to acheive this such as:</p>
<ul>
<li>Online Browser testing tools</li>
<li>Javascript Browser detection</li>
<li>Browser specific css</li>
<li>Browser specific hacks</li>
</ul>
<p><img class="alignnone size-full wp-image-318" title="firefox" src="/wp-content/uploads/2009/07/firefox.jpg" alt="firefox" width="430" height="276" /></p>
<p>The main tool that often gets neglected is approaching the Build of the Front End in the correct way. Personally I prefer to use Firefox as my default browser and always start my Build process using this browser. Firefox is extremely difficult to hack but it has the best rendering engine. It has also been built very much with the Web and the way it works in mind. Most Internet Explorer Browsers allow for a small but effective piece of code to target the Browser:</p>
<pre class="brush: html;">
&lt;!--[if IE]&gt;
	&lt;link href=&quot;css/ie.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot;&gt;
&lt;![endif]--&gt;
&lt;!--[if IE 6]&gt;
	&lt;link href=&quot;css/ie6.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot;&gt;
&lt;![endif]--&gt;
</pre>
<p>This allows you to have a seperate file for specific Browsers. The rendering engine for various different browsers does differ and this is a useful thing to have.</p>
<p>Never get side-tracked and forget to test all browsers at every major step along the way. The best way is to just keep all the browsers you support open and when you finish a major structural section of the site, test, browser fix IE6 (a front end in joke &#8211; IE6 is a very old browser and notorious for breaking layouts) and you will not go too far wrong. Any issues that arise will need fixing at some point and this can be the difference between a professionally built site and one that has been thrown together.</p>
]]></content:encoded>
			<wfw:commentRss>http://weblog.intunet.co.uk/blog-article/the-devil-is-in-the-detail/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

