<?xml version="1.0" encoding="utf-8"?>

























	
	



	
		
		
			
			
			
		

		
		
			
			
			
			
		
	
	
	

	
	
	
	
	
	


<rss version="2.0">	
	<channel>
		<title>Radiant Core: HTML/CSS</title>
		<link>http://www.radiantcore.com/</link>
		<description>All of the Radiant Core posts from the HTML/CSS category.</description>
		<language>en-ca</language>
		<copyright>Copyright 2006, Radiant Core Inc. All rights reserved.</copyright>
		<managingEditor>webmaster@radiantcore.com</managingEditor>
		<webMaster>webmaster@radiantcore.com</webMaster>
		
			
			
			
			
			
			
			
			

			
				
			
			<item>
				<title><![CDATA[Another site launches]]></title>
				<author>Martin Kuplens-Ewart &lt;info@radiantcore.com&gt;</author>
				<link>http://www.radiantcore.com/blog/archives/09/01/2008/wildlawlaunch</link>
				<guid isPermaLink="true">http://www.radiantcore.com/blog/archives/09/01/2008/wildlawlaunch</guid>
				<comments>http://www.radiantcore.com/blog/archives/09/01/2008/wildlawlaunch#comments</comments>
				<description><![CDATA[We were very excited to see that our friends (and clients) at Wildeboer Dellelce LLP <a href="http://www.wildlaw.ca/">launched their new site</a> this week. It's a very different looking site for a very different law firm, and has features such as live-filtering lawyer and transaction listings (with obligatory vcard downloads), customised JavaScript market update on the homepage, and plenty of RSS feeds.<br /><br />I'm especially pleased because I headed up the design and build - call it a little parental pride!<br /><br />The project includes some interesting technical elements - all AJAX is built using the YUI toolkit; we've added some handlers in place to combat Internet Explorer's difficulties with displaying layers over HTML elements such as drop-downs; and there are a number of interesting cross-links between content areas that combine for great exploration.<br />]]></description>
				<category>Taking Care of Business, HTML/CSS, Design</category>
				<pubDate>Wed, 09 Jan 2008 12:00:00 GMT</pubDate>
			</item>
		
			
			
			
			
			
			
			
			

			
				
			
			<item>
				<title><![CDATA[HTML5 and CSS3]]></title>
				<author>Jay Goldman &lt;info@radiantcore.com&gt;</author>
				<link>http://www.radiantcore.com/blog/archives/21/10/2007/html5andcss3</link>
				<guid isPermaLink="true">http://www.radiantcore.com/blog/archives/21/10/2007/html5andcss3</guid>
				<comments>http://www.radiantcore.com/blog/archives/21/10/2007/html5andcss3#comments</comments>
				<description><![CDATA[<p>We currently write websites to the <a href="http://www.w3.org/TR/xhtml1/">XHTML 1.0 Strict</a> specs, which was published by the W3C in 2002 and extends the <a href="http://www.w3.org/TR/html4/">HTML 4.0 specs</a>, which were published in 1997-1999. Although it may not feel like it when you pay attention to sites like <a href="http://www.techcrunch.com" title="TechCrunch">TechCrunch</a>, the pace of change in the technologies which underly the web is actually remarkably slow. It would be fair to say, from a purely HTML-focused perspective, that there have been no major innovations in nearly ten years (if you don't count XHTML as anything more than a natural evolution of HTML). Even the<a href="http://www.w3.org/TR/CSS2/"> Cascading Style Sheets 2.0 spec (CSS2)</a> that we use to format and display websites is nearly ten years old, having been published in May 1998.</p><br /><br /><p>So, almost needless to say, we're getting really excited about the emerging drafts of the <a href="http://www.w3.org/html/wg/html5/">HTML5</a> and <a href="http://www.w3.org/Style/CSS/current-work">CSS3</a> specs. This may seem somewhat abstract to some of you, particularly if you don't do what we do, but it means your websites are 'about' to gain some great new functionality which will solve a number of the problems we bump into on a regular basis. Some things we're really looking forward to:</p><br /><br /><ul><li><strong>CSS3 Fonts:</strong> The technology to embed fonts in a web page was first specified a long time ago (so long ago that there's a <a href="http://www.webmonkey.com/design/fonts/tutorials/tutorial2.html" title="Webmonkey: Embedding Fonts">webmonkey tutorial</a>!), but support from the browser makers never materialized and it died in the water (for a complete history, I refer you to our esteemed colleague, <a href="http://joeclark.org" title="Joe Clark">Joe Clark</a>: <a href="http://blog.fawny.org/2007/09/13/simonda/" title="Joe Clark: Personal Blog">Simon&nbsp;Daniels: Web font embedding rides again!</a>). This is a very complicated issue given that the web exists in virtually every language on the planet (does your favourite font include a full set of <a href="http://en.wikipedia.org/wiki/Kanji" title="Wikipedia: Kanji">Kanji characters</a>?), and that fonts have licenses (just like other software) and many of those licenses prohibit things like embedding them in web pages. CSS3 brings it back to life with the <a href="http://www.w3.org/TR/css3-webfonts/#font-descriptions" title="W3C CSS3 Working Draft: @font-face">@font-face</a> at-rule, which means that we will finally be able to use something other than <span style="font-family: Verdana;">Verdana</span>, <span style="font-family: 'Trebuchet MS',Trebuchet;">Trebuchet</span>, <span style="font-family: Georgia;">Georgia<span>, and <span style="font-family: Arial;">Arial</span>.</span></span></li><li><strong>CSS3 Multiple Columns:</strong> Clients who are used to working with print layouts are often surprised to discover that there's no way to automatically layout HTML content in multiple columns. Sure, we can count out the total number of elements in a list, divide by two, then output the first half, end the column manually, and finally output the second half, but that's about as tedious as it sounds. The Multi-Column Module in CSS3 makes it about as simple as specifying: <pre>column-count: 2</pre> and Bob's your multi-column uncle.<br /></li><li><strong>HTML5 Client Side Storage:</strong> Of less import from a visual perspective, <a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/section-sql.html#sql" title="W3C Working Draft: HTML5 4.11 Client Side Storage">Client Side Storage</a> gives web applications the ability to store data locally in the browser, which effectively makes the app accessible offline (e.g.: if you had a website which allowed people to store recipes and share them, client side storage would make those recipes available even when Tom's laptop wasn't connected to the Internet and he was in his kitchen making Duck à L'Orange). This is fundamentally similar to <a href="http://gears.google.com/" title="Google Gears">Google Gears</a>, but would mean that your site's visitors wouldn't need to install anything in their browser to make use of the technology. Congrats to Dave Hyatt and the WebKit team, who have <a href="http://webkit.org/blog/126/webkit-does-html5-client-side-database-storage/" title="Surfin' Safari: WebKit does Client Side Storage">announced preliminary support</a> in the latest nightly builds.<br /></li></ul><p>Keep in mind that we're a good five years away from actually being able to make use of these fun new features, since they'll have to get built into the next release of the major browsers, and then those will take some time to eventually replace the current versions in popular enough numbers to make the new stuff widely available. As always, we'll do our best to keep covering the new specifications for your ongoing edification, as well as to start producing some fun samples for you to play with once some browsers with HTML5 and CSS3 support become a little more stable and easy to download.</p>]]></description>
				<category>Tech Geekery, HTML/CSS</category>
				<pubDate>Sun, 21 Oct 2007 11:18:00 GMT</pubDate>
			</item>
		
			
			
			
			
			
			
			
			

			
				
			
			<item>
				<title><![CDATA[exPhone (New) Home]]></title>
				<author>Jay Goldman &lt;info@radiantcore.com&gt;</author>
				<link>http://www.radiantcore.com/blog/archives/05/07/2007/exphone</link>
				<guid isPermaLink="true">http://www.radiantcore.com/blog/archives/05/07/2007/exphone</guid>
				<comments>http://www.radiantcore.com/blog/archives/05/07/2007/exphone#comments</comments>
				<description><![CDATA[Are you one of the lucky 700,000 new iPhone owners? Wondering what to do with that clunky old BlackBerry or Nokia that you used to love but now can't even look at without stroking your new toy happily? Enter <a href="http://exphone.org/">exPhone</a>, a site dedicated to helping you find ways to responsibly reuse or recycle your old cellphone. Launched by our good friends at <a href="http://citizenagency.com">Citizen Agency</a>, with the help of <a href="http://weknowhtml.com/">We Know HTML</a>, the site is chock full of great info about how to donate or recycle old cellphones, as well as important things like reminding you to erase them first. Or you could save yourself the trouble and just send us your iPhone. We'll take good care of it. Promise.<br />]]></description>
				<category>Taking Care of Business, HTML/CSS, Design</category>
				<pubDate>Thu, 05 Jul 2007 22:46:00 GMT</pubDate>
			</item>
		
			
			
			
			
			
			
			
			

			
				
			
			<item>
				<title><![CDATA[Fixing an IE 7 bug in mm_menu.js navigation]]></title>
				<author>Martin Kuplens-Ewart &lt;info@radiantcore.com&gt;</author>
				<link>http://www.radiantcore.com/blog/archives/16/02/2007/ie7mmmenu</link>
				<guid isPermaLink="true">http://www.radiantcore.com/blog/archives/16/02/2007/ie7mmmenu</guid>
				<comments>http://www.radiantcore.com/blog/archives/16/02/2007/ie7mmmenu#comments</comments>
				<description><![CDATA[We're proud (even stubborn) hand-coders, so we don't often get the opportunity to delve into the JavaScript libraries deployed by using applications such as Dreamweaver.<br /><br />Recently, however, we were contacted with an IE7 bug: a navigation system that was using the mm_menu.js library appeared to be only showing the first word of each option.<br /><br />At 800 lines of dense JavaScript, this was not going to be fun to debug. Fortune, however, smiled upon us in the form of an invidual named Hiroto, who posted the following <a href="http://www.cre8asiteforums.com/forums/lofiversion/index.php/t42213.html">on the Cre8asite Forums</a>:<br /><br /><blockquote>function writeMenus(container) {<br />&nbsp;&nbsp;&nbsp;&nbsp;.... some code here ....<br />&nbsp;&nbsp;&nbsp;&nbsp;menu.menuItemHeight = menu.menuItemHeight || defaultHeight;<br />&nbsp;&nbsp;&nbsp;&nbsp;var itemProps = ''; <span style="font-weight: bold;">&lt;= CHANGE THIS LINE TO =&gt;</span> var itemProps = 'white-space:nowrap;';<br />&nbsp;&nbsp;&nbsp;&nbsp;if( menu.fontFamily != '' ) itemProps += 'font-family:' + menu.fontFmaily+';';<br />&nbsp;&nbsp;&nbsp;&nbsp; .... some code here .... <br />}<br /></blockquote><br />You should find this spot around line 163 of mm_menu.js. The change worked a charm. Thanks Hiroto!<br /><br />]]></description>
				<category>HTML/CSS</category>
				<pubDate>Fri, 16 Feb 2007 13:15:00 GMT</pubDate>
			</item>
		
			
			
			
			
			
			
			
			

			
				
			
			<item>
				<title><![CDATA[Keyword Placement]]></title>
				<author>Michael Glenn &lt;info@radiantcore.com&gt;</author>
				<link>http://www.radiantcore.com/blog/archives/06/11/2006/keywordplacement</link>
				<guid isPermaLink="true">http://www.radiantcore.com/blog/archives/06/11/2006/keywordplacement</guid>
				<comments>http://www.radiantcore.com/blog/archives/06/11/2006/keywordplacement#comments</comments>
				<description><![CDATA[David Dougherty has a great post at <a href="http://www.onedegree.ca/">One Degree</a> on developing your <a href="http://www.onedegree.ca/2006/10/10/keyword-strategy-seos-most-critical-element-part-1">keyword strategy</a>, (<a href="http://www.onedegree.ca/2006/10/26/keyword-strategy-seoas-most-critical-element-part-2">part two</a>). David provides an extensive process for choosing your keywords, phrases and deciding how to structure your pages most effectively.<br /><br />It's not only important what you say on your web page but it's also very important where you place content within the page. Specifically, where you place it within the HTML code. Search engines such as Google place value on content within a web page based on whether it occurs at the top of a page or farther down. Additionally, the HTML tag that the keyword is within may influence the way in which it ranks the words contained within it.<br /><br />For instance, placing content within the "title" tag gives it the highest ranking of all-content within your page from the search engine's perspective. Following that, placing content in an "h1" tag will garner a much higher value than if it were placed within a styled "p" tag or "div" tag. Google naturally assumes that content marked as a header is more important than content marked as a paragraph and subsequently content within a title tag is more important than anything within a header tag. Beyond important tags such as titles and headers Google basically ranks content at the top of the page source higher than content that is lower within the page. It has been suggested anecdotally that Google places further emphasis "strong" tags. <br /><br />It's also worth noting that search engines can change the way in which they analyse pages at any time. At one time it was quite useful to make use of the "meta" tags to provide hidden keywords that would help search engines optimize for page content. Unfortunately the spam community abused the feature by aggressively populating meta tags with misleading information to generate traffic. The merit of that approach is best left for another discussion but the result is that few search engines utilize the meta tag making is effectively useless.<br /><br />Strong keyword strategies combined with a program to generate inbound links are your first lines of attack. But implementing these simple placement guidelines will help you get the most mileage out of your keywords.<br /><br />]]></description>
				<category>Marketing, HTML/CSS</category>
				<pubDate>Mon, 06 Nov 2006 10:00:00 GMT</pubDate>
			</item>
		
			
			
			
			
			
			
			
			

			
				
			
			<item>
				<title><![CDATA[Having High Standards]]></title>
				<author>Michael Bodalski &lt;info@radiantcore.com&gt;</author>
				<link>http://www.radiantcore.com/blog/archives/27/07/2006/havinghighstandards</link>
				<guid isPermaLink="true">http://www.radiantcore.com/blog/archives/27/07/2006/havinghighstandards</guid>
				<comments>http://www.radiantcore.com/blog/archives/27/07/2006/havinghighstandards#comments</comments>
				<description><![CDATA[Here at Radiant Core we take our W3C standards seriously. Our projects are delivered to clients with clean, validated markup that we consider the mark of a properly done website. Sometimes that means a little extra work, and often an equal amount of frustration dealing with rendering issues across various web browsers.<br /><br />The guys over at Icon Factory have recently undertaken the the job of cleaning up the markup on their own site and have <a href="http://iconfactory.com/news.asp?day=1">documented the adventure</a> in true Icon Factory style.<br />]]></description>
				<category>HTML/CSS</category>
				<pubDate>Thu, 27 Jul 2006 10:00:00 GMT</pubDate>
			</item>
		
			
			
			
			
			
			
			
			

			
				
			
			<item>
				<title><![CDATA[5 Tips for protecting your site against XSS]]></title>
				<author>Michael Bodalski &lt;info@radiantcore.com&gt;</author>
				<link>http://www.radiantcore.com/blog/archives/18/07/2006/5xsstips</link>
				<guid isPermaLink="true">http://www.radiantcore.com/blog/archives/18/07/2006/5xsstips</guid>
				<comments>http://www.radiantcore.com/blog/archives/18/07/2006/5xsstips#comments</comments>
				<description><![CDATA[<p>While some still debate the risks associated with <a href="http://en.wikipedia.org/wiki/Cross_site_scripting">cross-site scripting (XSS)</a> attacks, after the high exposure attacks against MySpace and Hotmail the pendulum has definitly swung in the direction of treating XSS as seriously as other more common injection type attacks. Either way, as with most things involving security on the web, it never hurts to err on the side of caution. The trick with XSS is that since the problem isn't specific to a particular technology, it can be tricky to know if you are vulnerable. Here are five common XSS injection techniques to check for any time you accept user input on your site.</p><ol><li><strong>Your forms accept unnecessary HTML tags:</strong> This one should be obvious, but if a form on your site lets a user insert a <script></script> tag in a comments form, you've got a potential problem. Unless there is a very good reason for it, it's usually not advisable to let users send HTML entities through a form.</li><li><strong>Failing to validate properties in anchor tags:</strong> It's often convenient or necessary to allow users to insert HTML in their input. If your site allows this, it is highly advisable to validate the properties passed along with the HTML. A common exploit is to hide script source inside of URLs. Depending on the user's browser, &lt;a href="http://domain.com/page.asp?value=&lt;script&gt;code&lt;/script&gt; will escape the URL and execute the value contained within the script tags.</li><li><strong>Not checking for correct data types:</strong> As with anchor tags, it's possible for a user to insert code disguised within an img tag. Since it's possible to have a server side script generate an image dynamically, most browsers will accept &lt;img src="http://domain.com/script.php"&gt; as a valid image resource. However accepting such input without verifying what value is being returned exposes your site to possible risks.</li><li><strong>Not cleaning user added CSS:</strong> As Niklas Bivald points out in his A List Apart article "<a href="http://www.alistapart.com/articles/secureyourcode">Community Creators, Secure Your Code!</a>", in-line CSS styling provides another opportunity. Niklas spends far more time on the subject than I can here including suggestions for cleaning input.</li><li><strong>Ignoring &lt;embed&gt; and &lt;object&gt; tags:</strong> While Javascript is the most common tool for implementing an XSS attack, you should also be careful that users can't link to external objects that have their own scripting languages. For example, Flash could be used to display an element on a page, or even open new browser windows. Since &lt;embed&gt; ad &lt;object&gt; tags are not directly dangerous, many developers overlook them when filtering user input.</li></ol><p>For more information on XSS vulnerabilities, I highly recommend reading <a href="http://www.technicalinfo.net/papers/CSS.html">HTML Code Injection and Cross-site scripting</a> which provides detailed information on detecting and filtering user input to protect your site from attack.</p>]]></description>
				<category>HTML/CSS</category>
				<pubDate>Tue, 18 Jul 2006 11:00:00 GMT</pubDate>
			</item>
		
	</channel>
</rss>