<?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>KILLERSITES.COM &#187; CSS</title>
	<atom:link href="http://www.killersites.com/blog/category/css/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.killersites.com/blog</link>
	<description>Real world talk about web design, programming and the business of web design.</description>
	<lastBuildDate>Fri, 06 Nov 2009 16:49:38 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.3</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>How to organize your css code: the ‘killer’ css structure</title>
		<link>http://www.killersites.com/blog/2008/how-to-organize-css/</link>
		<comments>http://www.killersites.com/blog/2008/how-to-organize-css/#comments</comments>
		<pubDate>Tue, 29 Apr 2008 16:05:11 +0000</pubDate>
		<dc:creator>Stefan Mischook</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Real World Web Design]]></category>
		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://www.killersites.com/blog/2008/how-to-organize-css/</guid>
		<description><![CDATA[I can&#8217;t stand articles that make you read two pages before getting to the point. With that in mind, let&#8217;s look at how I think css code should be organized.

In a nutshell: css code should be divided up into at least 4 separate pages:

page-structure.css
text-styles.css
misc.css
ie-styles.css

How about we call this the &#8216;killer&#8217; css structure.
  
Before I [...]]]></description>
			<content:encoded><![CDATA[<p>I can&#8217;t stand articles that make you read two pages before getting to the point. With that in mind, let&#8217;s look at how I think css code should be organized.</p>
<p><img src='http://www.killersites.com/blog/wp-content/uploads/2008/02/picture-2.jpg' alt='php-video-tutorial' style="float: right; margin: 15px;" /></p>
<p><strong>In a nutshell:</strong> css code should be divided up into at least 4 separate pages:</p>
<ol>
<li>page-structure.css</li>
<li>text-styles.css</li>
<li>misc.css</li>
<li>ie-styles.css</li>
</ol>
<p>How about we call this the &#8216;killer&#8217; css structure.</p>
<p> <img src='http://www.killersites.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Before I go into the details of what each css file contains (if it&#8217;s not already obvious), I want to quickly cover WHY you might want to use this basic css structure for all your websites. </p>
<p><span id="more-270"></span></p>
<p><strong>Why use the &#8216;killer&#8217; css structure?</strong></p>
<p>It all comes down to one of the key reasons for using css in the first place: </p>
<p><strong><em>Grouping code so that it is easier to update and easier to understand.</em></strong></p>
<p>-</p>
<p><strong>A common mistake</strong></p>
<p>What I see over and over again, are web designers who put all their css code into one css file. This is indeed a big leap forward from using font tags all over your website &#8230; but by having only one huge css file, you&#8217;ve just created another big messy file to deal with. </p>
<p><strong>To the point</strong></p>
<p>Page-structure.css contains only css that defines the structure of your page. That is to say things like:</p>
<p>- css code that sets whether the page is liquid of fixed.<br />
- css code that sets whether the page is centered or justified left.<br />
- css code that sets up the columns</p>
<p>etc &#8230;</p>
<p>I like to put the page structure code in its&#8217; own file because page structure css code is verbose (there&#8217;s a lot) and it can get a little black-magical. </p>
<p><strong>What is black-magical css?</strong></p>
<p>We all know that except for the simplest css layouts, it can be a real pain in the ass to get page layout to work in css. </p>
<p>&#8230; Especially when floats and Internet Explorer bugs come into the mix. </p>
<p>Anyway, the point is that css for page layout often contains nonsensical (black-magical) code to make it work. </p>
<p><strong>OK, back to page-structure.css:</strong></p>
<p>Another reason to have page-structure.css, is that once you&#8217;ve done creating your page structure, you rarely have to go into that code. So why bother having to scroll past it every time you edit other parts of your css? </p>
<p>Personally I find myself tweaking css rules for text, color and images much more than I do page structure css. </p>
<p><strong>Text-styles.css</strong> contains css code that only affects text. So I have all my header tags defined along with paragraph tags and classes. Again, when needing to edit some aspect of my text for the hundredth time &#8230; I just pop open the very clean and simple text-styles.css.</p>
<p><strong>Misc.css</strong> is a style sheet that contains css code that does things other than page structure and text styling. This ultimately is a judgment call, but I typically put in formating for tables, forms, list or special id&#8217;s and classes.</p>
<p><strong>IE-styles.css</strong> is of course, for your css rules that manage the Internet Explorer bugs. This all ties into the <a href="http://www.killersites.com/blog/2006/ie-conditional-comments-video/">IE Conditional comments</a> strategy.</p>
<p>You may need another ie-styles.css to deal with specific versions of IE. For example, you may have an ie6-styles.css. But thankfully, this is becoming less and less likely since IE6 use is falling fast. </p>
<p>Thanks for reading,</p>
<p>Stefan Mischook</p>
<p>www.killersites.com</p>
]]></content:encoded>
			<wfw:commentRss>http://www.killersites.com/blog/2008/how-to-organize-css/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>Book Review: HTML Utopia: Designing Without Tables using CSS.</title>
		<link>http://www.killersites.com/blog/2006/book-review-html-utopia-2nd-edition/</link>
		<comments>http://www.killersites.com/blog/2006/book-review-html-utopia-2nd-edition/#comments</comments>
		<pubDate>Wed, 04 Oct 2006 03:40:29 +0000</pubDate>
		<dc:creator>Stefan Mischook</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Nerd Book Reviews]]></category>
		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://www.killersites.com/blog/2006/book-review-html-utopia-2nd-edition/</guid>
		<description><![CDATA[Another good book from the boys and girls at Sitepoint &#8211; a well written book that walks you through the techniques of modern web design.

Over the last few years a whole bunch of CSS / web standards based books have hit the market. Some were good and some sucked
but there was one thing that was [...]]]></description>
			<content:encoded><![CDATA[<p>Another good book from the boys and girls at Sitepoint &#8211; a well written book that walks you through the techniques of modern web design.</p>
<p><iframe src="http://rcm.amazon.com/e/cm?t=wwwmontrealma-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=0975240277&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;lc1=0000ff&#038;bc1=000000&#038;bg1=ffffff&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></p>
<p>Over the last few years a whole bunch of CSS / web standards based books have hit the market. Some were good and some sucked<br />
but there was one thing that was been consistent about them: they all reflected the <strong>maturing</strong> web design community.</p>
<p>You need to pay attention the word <strong>maturing</strong>: there were still a few technnical things that had not exactly settled in terms of how web designers should do things.</p>
<p><em>HTML Utopia: Designing Without Tables using CSS</em> is among the first books I&#8217;ve seen that demonstrates a maturity in web design. </p>
<p><strong>WHAT IS THIS BOOK ABOUT</strong></p>
<p>It&#8217;s all about modern web design practices and techniques. The following topics are covered over 450 pages:</p>
<p>01. Basics<br />
02. CSS 101<br />
03. CSS Code<br />
04. Validation &#038; Backward Compatibility<br />
05. Color<br />
06. Fonts<br />
07. Text Effects<br />
08. Simple CSS Layouts<br />
09. Three-Column Layouts<br />
10. Fixed-Width Layouts<br />
A. CSS Miscellaneous<br />
B. CSS Color Reference<br />
C. CSS Property Reference </p>
<p><strong>WHO IS THIS BOOK FOR?</strong></p>
<p>If you are a total noob to web design, this is not the book for you. You can start with my free <a href="http://www.how-to-build-websites.com/">web design tutorial</a> to get your feet wet, then you&#8217;ll be ready to buy this book!</p>
<p>You need to have a basic understanding of HTML and CSS. Once you have that, this book would quickly guide you through the sometimes thorny path to web design nerd glory.</p>
<p>Again, a book worth getting.</p>
<p>Stefan Mischook</p>
<p>www.killersites.com<br />
www.killerphp.com</p>
]]></content:encoded>
			<wfw:commentRss>http://www.killersites.com/blog/2006/book-review-html-utopia-2nd-edition/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Book Review: Web Designer&#8217;s Reference</title>
		<link>http://www.killersites.com/blog/2006/book-review-web-designers-reference/</link>
		<comments>http://www.killersites.com/blog/2006/book-review-web-designers-reference/#comments</comments>
		<pubDate>Thu, 03 Aug 2006 00:44:30 +0000</pubDate>
		<dc:creator>Stefan Mischook</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Nerd Book Reviews]]></category>
		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://www.killersites.com/blog/2006/book-review-web-designers-reference/</guid>
		<description><![CDATA[This book is a mirror image of the book Web Design with Dreamweaver 8 by the same author &#8211; except this book is for hand coders.

A good title for people new to modern web design practices that include:

CSS for layouts
Semantic code
Accessibility in web design

The topics are covered within the context of small usable projects, that [...]]]></description>
			<content:encoded><![CDATA[<p>This book is a mirror image of the book <em>Web Design with Dreamweaver 8</em> by the same author &#8211; except this book is for hand coders.</p>
<p><iframe src="http://rcm.amazon.com/e/cm?t=wwwmontrealma-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=1590594304&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;lc1=0000ff&#038;bc1=000000&#038;bg1=ffffff&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></p>
<p>A good title for people new to modern web design practices that include:</p>
<ul>
<li>CSS for layouts</li>
<li>Semantic code</li>
<li>Accessibility in web design</li>
</ul>
<p>The topics are covered within the context of small usable projects, that can easily be adapted to your own web design work.</p>
<p>Though published in 2005, the material is still relevant and still is a pretty good buy.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.killersites.com/blog/2006/book-review-web-designers-reference/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Book Review: Web Design in a Nutshell &#8211; 3rd edition</title>
		<link>http://www.killersites.com/blog/2006/book-review-web-design-nutshell/</link>
		<comments>http://www.killersites.com/blog/2006/book-review-web-design-nutshell/#comments</comments>
		<pubDate>Wed, 02 Aug 2006 23:51:37 +0000</pubDate>
		<dc:creator>Stefan Mischook</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Nerd Book Reviews]]></category>
		<category><![CDATA[Professional Web Design]]></category>
		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://www.killersites.com/blog/2006/book-review-web-design-nutshell/</guid>
		<description><![CDATA[This book should probably be on any web designers/developers desk.

Web design has changed drastically since this book&#8217;s first edition came out &#8230; and thankfully Web Design In A Nutshell has been updated accordingly.
As with all of Oreilly&#8217;s &#8216;Nutshell&#8217; books, Web Design In A Nutshell covers each topic in a concise and yet complete manner making [...]]]></description>
			<content:encoded><![CDATA[<p>This book should probably be on any web designers/developers desk.</p>
<p><iframe scrolling="no" frameborder="0" style="width: 120px; height: 240px" marginwidth="0" marginheight="0" src="http://rcm.amazon.com/e/cm?t=wwwmontrealma-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=0596009879&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;lc1=0000ff&#038;bc1=000000&#038;bg1=ffffff&#038;f=ifr"></iframe></p>
<p>Web design has changed drastically since this book&#8217;s first edition came out &#8230; and thankfully <em>Web Design In A Nutshell</em> has been updated accordingly.</p>
<p>As with all of Oreilly&#8217;s &#8216;Nutshell&#8217; books, Web Design In A Nutshell covers each topic in a concise and yet complete manner making it both a great learning title (for people with some web design skills,) and a great reference.</p>
<p>Some of the topics covered:</p>
<ul>
<li>CSS &#8211; basics, page layout methods, hacks, tricks etc</li>
<li>HTML, XML and XHTML</li>
<li>Accessibility</li>
<li>Web graphics</li>
</ul>
<p>&#8230; and so much more.</p>
<p>Besides the core coverage of the material itself, this book is also packed with great references to web sites and other good books on web design.</p>
<p>Get the book.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.killersites.com/blog/2006/book-review-web-design-nutshell/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Matching Columns Script Video Tutorial: Matching CSS div Heights</title>
		<link>http://www.killersites.com/blog/2006/matching-div-heigths/</link>
		<comments>http://www.killersites.com/blog/2006/matching-div-heigths/#comments</comments>
		<pubDate>Wed, 05 Apr 2006 03:13:20 +0000</pubDate>
		<dc:creator>Stefan Mischook</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Podcast | Videos]]></category>
		<category><![CDATA[Real World Web Design]]></category>
		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://www.killersites.com/blog/?p=74</guid>
		<description><![CDATA[One of the fundamental problems people have with CSS page-level layout is matching CSS div heights. Others might call this 'matching columns heights' in web pages. ]]></description>
			<content:encoded><![CDATA[<p>One of the fundamental problems people have with CSS page-level layout is matching CSS div heights. Others might&nbsp;call&nbsp;this &#8216;matching column heights&#8217; in web pages.&nbsp;&nbsp;</p>
<p>In this article/video (see below,) we are going to solve this problem using&nbsp;a lesser known&nbsp;JavaScript method: the <strong>Matching Columns Script</strong>. </p>
<p>Let&#8217;s start&nbsp; out by checking out a diagram that illustrates&nbsp;the problem:</p>
<p><img height="239" alt="Diagram of div heights problem." hspace="5" src="http://www.killersites.com/UserFiles/Image/div_heights.gif" width="378" vspace="5" /></p>
<p>People have come out with different solutions including the &#8216;Faux columns&#8217; hack: &nbsp;using a vertically tiled background image to create the illusion of a column. </p>
<p>The &#8216;Faux columns&#8217; hack/trick works, but it does have some limitations:</p>
<ul>
<li>You have to mess around with background images when creating the fake/faux columns effect &#8211; there is even more <font size="2">mucking about</font> when you have liquid layouts. </li>
<li>You won&#8217;t be able to use CSS border styling (on your div&#8217;s that create the columns) because it would reveal the hack. </li>
</ul>
<p><strong>THE BETTER WAY TO HANDLE THIS PROBLEM: DOM SCRIPTING (JavaScript)</strong></p>
<p>JavaScript (sometimes called ECMA script,) is the programming language built into all the browsers that allow geeks/nerds, to have practically total control over how things appear in a web page &#8211; it&#8217;s very powerful.</p>
<p><strong>Note:</strong> DOM scripting (the term,)&nbsp;is a quick way to describe&nbsp;<strong>using JavaScript to control a web page&#8217;s structure</strong>. If this makes no sense, don&#8217;t worry about it as&nbsp;you need no programming knowledge&nbsp;to use the technique that is covered here.&nbsp;</p>
<p>&nbsp;<strong>WHY IS THE JAVASCRIPT METHOD BETTER?</strong></p>
<p>You are better off with the JavaScript method (rather than the &#8216;Faux columns&#8217; hack,&nbsp;) because:</p>
<ol>
<li>Once it is applied, you don&#8217;t have to worry about it as it automatically adjust itself to change&nbsp;with your page(s). </li>
<li>It is much easier/faster to apply than the &#8216;Faux columns&#8217; hack. </li>
</ol>
<p>&nbsp;<strong>GETTING STARTED</strong></p>
<p>Attached with this article you will find the files you need to apply the script:</p>
<ol>
<li>The Javascipt file. </li>
<li>The CSS document. </li>
<li>A sample web page that puts it altogether. </li>
</ol>
<p>Now it&#8217;s time to watch the video to learn how to use it.</p>
<p></p>
<p class="video">&nbsp;<a href="http://killersites.com/videoTutorials/Tutorial_WebDesign2/matching_divs.html" target="_blank"><em>MATCHING DIV HEIGHTS VIDEO</em></a></p>
<p><a href="http://killersites.com/videoTutorials/Tutorial_WebDesign2/matching_divs.html" target="_blank"><em><br /></em></a></p>
<p><strong>CONCLUSION</strong></p>
<p>There&nbsp;is one downside to this technique: </p>
<p>It won&#8217;t work if people have JavaScript turned off. Fortunately, the vast majority of people out there have it on. Last time I checked my own stats, nobody had JavaScript disabled.</p>
<p>That said, though it looks a lot better when your columns heights match, I would <strong>not</strong> consider it mission-critical to a website. That is to say;&nbsp;people will still be able to use the website, so I am willing to accept that for some rare (paranoid) individuals,&nbsp;the columns will not match.</p>
<p class="files"><a href="http://www.killersites.com/videoTutorials/Tutorial_WebDesign2/MatchingColumns.zip">Source Files</a></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.killersites.com/blog/2006/matching-div-heigths/feed/</wfw:commentRss>
		<slash:comments>99</slash:comments>
		</item>
		<item>
		<title>IE Conditional Comments Video</title>
		<link>http://www.killersites.com/blog/2006/ie-conditional-comments-video/</link>
		<comments>http://www.killersites.com/blog/2006/ie-conditional-comments-video/#comments</comments>
		<pubDate>Thu, 23 Mar 2006 16:17:08 +0000</pubDate>
		<dc:creator>Stefan Mischook</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Podcast | Videos]]></category>
		<category><![CDATA[Real World Web Design]]></category>
		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://www.killersites.com/blog/2006/ie-conditional-comments-video/</guid>
		<description><![CDATA[
As some of you may know, I have been against using CSS hacks for a long while. 
Now that IE7 is coming out very soon and we know that many CSS&#160;hacks will break in IE7, we need to come up with another viable solution to make CSS based layouts work in IE6, and the other [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.killersites.com/videoTutorials/Tutorial_WebDesign2/ie_conditional_comments.html" target="_blank"><img height="119" hspace="5" src="http://www.killersites.com/UserFiles/Image/ie_conditional_comments.gif" width="200" vspace="5" border="0" alt="" /></a></p>
<p>As some of you may know, I have been against using CSS hacks for a long while. </p>
<p>Now that IE7 is coming out very soon and we know that many CSS&nbsp;hacks will break in IE7, we need to come up with another viable solution to make CSS based layouts work in IE6, and the other more capable browsers &#8230;</p>
<p>That&#8217;s where IE conditional comments come in. This IE specific&nbsp;code/tool is safe and solves all our problems when creating cross browser&nbsp;pure CSS layouts.</p>
<p>Check out the video: <a href="http://www.killersites.com/videoTutorials/Tutorial_WebDesign2/ie_conditional_comments.html" target="_blank">IE Conditional Comments</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.killersites.com/blog/2006/ie-conditional-comments-video/feed/</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
		<item>
		<title>CSS 3 column layout &#8211; the holy grail!?</title>
		<link>http://www.killersites.com/blog/2006/css-3-column-layout/</link>
		<comments>http://www.killersites.com/blog/2006/css-3-column-layout/#comments</comments>
		<pubDate>Sun, 05 Feb 2006 06:36:40 +0000</pubDate>
		<dc:creator>Stefan Mischook</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Real World Web Design]]></category>
		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://www.killersites.com/blog/?p=63</guid>
		<description><![CDATA[I recently was surfing the web and found myself on a popular web standards zealot website. The featured article referred to 3 column CSS based page layout as being the &#8216;Holy Grail&#8217;! My first reaction to this was: geez, how silly this&#160;is! 
&#8230; 
Indeed, a simple thing&#160;like&#160;a 3 column layout is a challenge -&#160;when you [...]]]></description>
			<content:encoded><![CDATA[<p>I recently was surfing the web and found myself on a popular web standards zealot website. The featured article referred to 3 column CSS based page layout as being the &#8216;Holy Grail&#8217;! My first reaction to this was: geez, how silly this&nbsp;is! </p>
<p>&#8230; </p>
<p>Indeed, a simple thing&nbsp;like&nbsp;a 3 column layout is a challenge -&nbsp;when you don&#8217;t use tables.&nbsp;As such, you can find many articles on many web standards zealot websites&nbsp;that attempt to solve this problem. All of them falling short, all of them requiring the use of hacks &#8211; hacks that can break and WILL break.</p>
<p><strong>IRRESPONSIBLE &#8216;EXPERTS&#8217;</strong></p>
<p>The article in question, though recent, still advocates/demonstrates the use of a hack to get it to work&nbsp;with the most&nbsp;popular browsers &#8230; they don&#8217;t learn, do they? </p>
<p>I say this because a few months ago, it was discovered by the web community that many commonly used CSS&nbsp;hacks will break in the new, fully standards compliant IE7 &#8230;&nbsp;thus breaking countless web standards zealot website&#8217;s. So much for saving time and the myth of forward compatibility.</p>
<p><strong>PEOPLE SHOULDN&#8217;T USE HACKS TO MAKE THEIR CSS WORK!</strong></p>
<p>It gets me &#8216;hot under the collar&#8217; when I see articles that promote the use of CSS hacks &#8211; <strong>this is bad practice for obvious reasons</strong>. </p>
<p>I&#8217;ve been warning about this for some time before the IE7 problem. None of these web standards zealots payed me much attention before the IE7 problem came to light; and now after this problem has been well publicized, it seems that these people still have their heads in the sand!</p>
<p><strong>CSS FOR PAGE-LEVEL LAYOUT IS WEAK</strong></p>
<p>Even in a perfect world, where all the browsers supported the standards perfectly, CSS page-level layout capabilities suck for many types of layouts &#8230; HTML tables are much easier to use. </p>
<p>That said, there is a CSS tables specification that works like HTML tables, but no browsers support it! There should be a &#8216;call to action&#8217; to force browser makers to implement CSS tables. </p>
<p><strong>Note:</strong> </p>
<p>Tables are grids, and grids are a proven tool for page layout that are used in programming languages (like Java) to create user interfaces. <strong>It&#8217;s about time that we web-nerds have access to this powerful and flexible system of page layout in CSS. </strong>For now, we can use HTML tables.</p>
<p>HTML tables may not be semantically correct, and&nbsp;they may bind your formatting to your page structure, but&nbsp;they will work in all browsers without the need for fragile hacks and they are really easy to use.</p>
<p><strong>&nbsp;CONCLUSION</strong></p>
<p>Web standards were created to make web design easier for web developers by having the browser makers build their browsers according to a standard specification &#8211; the web standards. </p>
<p>As soon as you have to work harder, and have to jump through hoops (use hacks) to make your pages work &#8211; the point of the&nbsp; web standards is lost. It makes no sense to try and force web standards (in ultra-strict terms,) unless <strong>the browsers properly support the web standards &#8211; they don&#8217;t right now</strong>.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.killersites.com/blog/2006/css-3-column-layout/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
		</item>
		<item>
		<title>What are CSS tables?</title>
		<link>http://www.killersites.com/blog/2005/what-are-css-tables/</link>
		<comments>http://www.killersites.com/blog/2005/what-are-css-tables/#comments</comments>
		<pubDate>Sat, 19 Nov 2005 15:23:23 +0000</pubDate>
		<dc:creator>Stefan Mischook</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://www.killersites.com/blog/?p=47</guid>
		<description><![CDATA[Grid layout patterns are commonly used in creating software interfaces - in web design we call them 'tables'. ]]></description>
			<content:encoded><![CDATA[<p>NOTE: This article is theoretical &#8211; CSS tables are not supported by the browsers yet, and cannot be used. I wrote this article to make a few points and to expose people to lessons learned in software development: that grids are an excellent way to layout user interfaces.</p>
<p><em>Stefan</em></p>
<p>-</p>
<p>Grid layout patterns are commonly used in creating software interfaces &#8211; in web design we call them &#8216;tables&#8217;. </p>
<p>But today HTML table based layout is generally frowned upon because:</p>
<ol>
<li>HTML tables render/display content in a fixed format/style that might not display properly in certain types of browsers.</li>
<li>Tables semantic meaning is thought to represent tabular data &#8211; like a spread sheet. Thus using them for page level layout is just wrong &#8230; gosh darn it!</li>
</ol>
<p>There are other reasons why some web designers will say HTML tables suck:</p>
<ul>
<li>HTML tables cause code to be bloated and thus pages will take longer to download.</li>
<li>HTML tables will make your website less search engine friendly.</li>
<li>HTML tables will make your websites less accessible.</li>
</ul>
<p>The last 3 points are myths and should be ignored &#8211; I covered that in other articles. </p>
<p>That being said, the first point about tables imposing a fixed format/style (where formatting and structure are intertwined &#8211; that&#8217;s bad,) is very real and very important. It is  so important in fact, that I will do what I can to avoid table based layout despite the extra work and problems this can cause.</p>
<p><strong>It&#8217;s a terrible shame</strong></p>
<p>Using a grid/table to create UI&#8217;s is  intuitive, too bad that table based layouts are so controversial &#8230; but there maybe is a light at the end of the web UI tunnel: CSS table layouts.</p>
<p><strong>What the heck are CSS tables?</strong></p>
<p>From the W3C:</p>
<blockquote><p>&#8216;The CSS table model is based on the HTML 4.0 table model, in which the structure of a table closely parallels the visual layout of the table.&#8217;</p></blockquote>
<p><strong>Now in English:</strong></p>
<p>CSS tables are just a set of CSS attributes that you can apply to (probably) div tags to create a &#8216;table&#8217;. Check out this code snippet and things should clear up:</p>
<div class="codeblock">
<p>
  &lt;div class=&#8221;table&#8221;&gt;<br />
   &lt;div class=&#8221;row&#8221;&gt;<br />
&lt;div class=&#8221;cell&#8221;&gt;<br />
&lt;p&gt;Yallow!&lt;/p&gt;<br />
&lt;/div&gt;<br />
&lt;/div&gt;<br />
&lt;/div&gt;</p>
</div>
<p>This is an official <a target="_blank" href="http://www.w3.org/TR/REC-CSS2/tables.html#q2">W3C specification</a>, I&#8217;m not inventing anything here! </p>
<p><strong>So why invent CSS tables when we have HTML tables?</strong></p>
<p>The answer is simple young grasshoppers: to gain the advantage of table based layout while avoiding the problems (mentioned above) with HTML tables:</p>
<ol>
<li>HTML tables format content in a fixed structure that might not render properly in certain browsers.</li>
<li>Tables semantic meaning is thought to represent tabular data &#8211; like a spread sheet. Thus using them for page level layout is just wrong.</li>
</ol>
<p><strong>CSS tables can&#8217;t be used in any browser today, so why mention them?</strong></p>
<p>I have two reasons why I wrote this article:</p>
<ol>
<li>To educate people of this long term possibility and maybe to start stirring things up &#8211; it would nice to have this web design tool.</li>
<li>To make a point about grid based layouts:  they have merit and should be considered.</li>
</ol>
<p>Stefan Mischook</p>
]]></content:encoded>
			<wfw:commentRss>http://www.killersites.com/blog/2005/what-are-css-tables/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>Using CSS hacks is just plain stupid</title>
		<link>http://www.killersites.com/blog/2005/css-hacks-are-stupid/</link>
		<comments>http://www.killersites.com/blog/2005/css-hacks-are-stupid/#comments</comments>
		<pubDate>Wed, 09 Nov 2005 19:20:16 +0000</pubDate>
		<dc:creator>Stefan Mischook</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Real World Web Design]]></category>
		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://www.killersites.com/blog/?p=43</guid>
		<description><![CDATA[The Web Standards movement has created a 'culture of hacks' to compensate for browser incompatibilities (OK, mostly IE) and this is a bad idea.]]></description>
			<content:encoded><![CDATA[<p>The Web Standards movement has created a &#8216;culture of hacks&#8217; to compensate for browser incompatibilities (OK, mostly IE) and this is a bad idea.</p>
<p>Before anyone attempts to tell me that the Web Standards community does not promote the use of hacks, please refer to just about every book written on <a target="_blank" href="http://www.killersites.com/blog/2005/css-books-outdated/">Web Standards based web design</a>.</p>
<p><strong>Why were hacks promoted?</strong></p>
<p><strong>In a nutshell:</strong> those who promoted them are inexperienced &#8230; in other words: green. It is simply bad practice to rely on broken aspects of a technology in an attempt to make things work &#8211; any programmer worth his salt knows this. And that is exactly what many/most hacks rely on &#8211; broken aspects of Internet Explorer.</p>
<p>-<br />
<strong>Anecdote:</strong> I&#8217;ve often had to &#8217;slap-down&#8217; young-pup programmers (just a few years out of school,) when they&#8217;ve tried to introduce into the code base, what would be the equivalent of CSS hacks.<br />
-</p>
<p>CSS hacks are a recipe for disaster that I&#8217;ve been predicting for a while, a disaster that seems to be happening:  it looks as though <a target="_blank" href="http://www.killersites.com/blog/2005/ie7-breaks-common-css-hacks/">IE7 will be breaking CSS hacks</a> and thus, the <a target="_blank" href="http://www.killersites.com/blog/2005/web-standards-myths-debunked/">Web Standards myth of forward compatibility</a>.</p>
<p><strong>I&#8217;ve used a hack:  I&#8217;m a god-curse hypocrite:</strong></p>
<p>Yes, I&#8217;m guilty of &#8216;following the pack&#8217; and I&#8217;ve used a single CSS hack (child of div hack) but I used it in a minimal way &#8211;  should the hack fail (and it will in IE7,) my layouts will still work though the pixels will shift a little. </p>
<p>The real problem occurs when you start using many hacks or if your hacks should fail, your website&#8217;s usability will be severely compromised. </p>
<p>If you have to use hacks, use them very delicately.</p>
<p><strong>The hack-free cross browser compatible solution:</strong></p>
<p>When you&#8217;re critical of something, you should try to present alternatives &#8230; and my alternative to using brittle CSS hacks:</p>
<p>Use a <a target="_blank" href="http://www.killersites.com/mvnforum/mvnforum/viewthread?thread=3151#15801">IE conditional comments</a>, Microsoft intelligent solution to cross browser coding. </p>
<p>I know, I know &#8230; Microsoft coming up with an intelligent solution!?</p>
<p> <img src='http://www.killersites.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Stefan Mischook (a.k.a: The Web Design Heretic )</p>
]]></content:encoded>
			<wfw:commentRss>http://www.killersites.com/blog/2005/css-hacks-are-stupid/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>The raison d&#8217;être for the Web Standards.</title>
		<link>http://www.killersites.com/blog/2005/web-standards-raison-detre/</link>
		<comments>http://www.killersites.com/blog/2005/web-standards-raison-detre/#comments</comments>
		<pubDate>Tue, 08 Nov 2005 23:02:11 +0000</pubDate>
		<dc:creator>Stefan Mischook</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Professional Web Design]]></category>
		<category><![CDATA[Real World Web Design]]></category>
		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://www.killersites.com/blog/?p=33</guid>
		<description><![CDATA[Amidst all the talk, it is rare that you actually get a concise explanation regarding the ultimate purpose of the Web Standards ... so I've decided to state it here for those who may be interested ...]]></description>
			<content:encoded><![CDATA[<p>Amidst all the nerd talk, it&#8217;s rare that you actually get a concise explanation of the <strong>ultimate</strong> purpose of the Web Standards &#8230; so I&#8217;ve decided to state it here for those who may be interested:</p>
<p><strong>The raison d&#8217;être for the Web Standards: </strong>to simplify the web design work-flow.</p>
<p>Keep that in mind when you are doing your web design work; if you find you&#8217;re getting caught up in details that will not have any practical impact on the project&#8217;s success &#8230; you must learn to think (and work,) outside of the Web Standards box.</p>
<p>I&#8217;m not saying to forget the Standards (heaven forbid,) all I&#8217;m suggesting is that you remember that your ultimate goal is to build  quality websites as quickly as possible.</p>
<p><strong>Case in point:</strong> The use of <a target = "_blank" href="http://www.killersites.com/mvnforum/mvnforum/viewthread?thread=3151#15778">IE conditional comments</a>.</p>
<p>Instead of using questionable CSS hacks to make your web pages work in both IE and Standards compliant browsers (FireFox etc,) it is better to use a the non-standard IE conditional comments.  </p>
<p><strong>Why?</strong></p>
<p>IE conditional comments are forward and backward compatible (in Internet Explorer,) and will not break functionality in the other browsers &#8211; thus you can safely use them to isolate CSS code for IE.</p>
<p><strong>Conclusion:</strong></p>
<p>IE conditional comments are NOT part of the Web Standards (that&#8217;s for sure!) but they offer a better solution than the hodgepodge of widely touted and soon to be breaking CSS hacks.  </p>
<p>Yes, we are thinking and working outside of the Web Standards box &#8230; but by golly, it works better! </p>
<p>The web heretic. (a.k.a.: Stefan Mischook)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.killersites.com/blog/2005/web-standards-raison-detre/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
