Everything You Know About CSS is Wrong
videos

Everything you Know is Wrong!

Everything is changing.
This weekend, I read a very interesting book: “Everything You Know About CSS is Wrong”. The book illustrates how, now that IE has passed the ACID 2 test, we can finally begin to build our websites the proper ways. Up until now, we’ve been forced to implement hacks to form the perfect layout – absolute positioning, precarious floats, etc. But that’s all beginning to change! I’ll show you how in twenty minutes.

CSS tables are so much easier to use that it’s worth adopting them as soon as you possibly can.
-Kevin Yank

This tutorial will show you how you’ll be building your layouts in the future. Actually, you should be using these methods right now! Rather than relying on floats and absolute positioning to build our layouts, we’ll instead focus on utilizing css tables.

Step 1: Creating A Two-Column Layout the Current Way

Knowing that IE7 and below do not recognize the CSS table properties, we first need to build our incredibly simple site the “old” way. Paste in the following code into your “index.html” file.

<body>
    <div id="wrap">
        <div id="header">
            <h1> My Header</h1>
        </div><!--end header-->
        <div id="main">
            <ul id="nav">
                <li><a href="#">1</a></li>
                <li><a href="#">2</a></li>
                <li><a href="#">3</a></li>
                <li><a href="#">4</a></li>
            </ul>
            <div id="primaryContent"> -- dummy text-- </div>
        </div><!--end main-->

        <div id="footer">
            <h1>My Footer</h1>
        </div><!--end footer -->
    </div><!--end wrap-->
</body>

There isn’t too much that we need to go over. We’ve created the content for our two column layout. The navigation (#nav) will be floated to the left of the main content (#primaryContent). Let’s go ahead and add some quick styling. I’m going to use background colors (ugly ones too!) so that you can easily determine where each div begins and ends.

Step 2: Adding the CSS

/* Just resetting a few elements */

h1, ul, li {
	margin: 0; padding: 0; list-style: none;
}

p {
	margin: 0; padding: .5em 0;
}

/* Main content styling */

#wrap {
	width: 800px;
	margin: auto;
}

#header, #footer {
	background: red;
}

#nav {
	background: gray;
	width: 150px;
	float: left;
}

#primaryContent {
	background: yellow;
	margin-left: 150px;
	padding: 0 .5em;
}

We’ve set a width to our sidebar (#nav) of 150px and have floated it to the left. Rather than floating the primaryContent section as well, it would be better to simply add a left margin that is equal to the width of our sidebar. We’ll also add a bit of padding to push the text away from the edges of the div.

#primaryContent {
	background: yellow;
	margin-left: 150px;
	padding: 0 .5em;
}

You should end up with something similar to this:

Product

Immediately (after the glare from those awful colors goes away) you’ll see that the gray background in the sidebar isn’t stretching to the bottom. This is because floated elements only take up as much space as is necessary.

One solution would be to hard-code a specific height, but this is a bad idea. What if the main content changes? You’ll have to go back into your CSS file to adjust the height value again. So don’t do that! Instead, the accepted solution is to create a background image and tile it vertically. This is referred to as creating faux columns” Simply move to Photoshop, create a 800×10 pixel canvas, and insert the appropriate colors. You know that the sidebar has a gray background and is 150 pixels wide, so simply use the marquee tool to the select that area, and fill it with gray. After you do the same for the awful yellow, you’ll end up with this:

BG

Save it into the root of your solution and call it “bg.png”. We can now vertically tile this image, thus creating faux columns.

#main {
	background: url(../bg.png) repeat-y;
}

Now, we’ve successfully created the illusion of equal columns.

Faux Columns

Step 3: The New Way

So that wasn’t all together too difficult! But it still required too much time to create something as simple as a two column layout. We even had to go into Photoshop to complete the look! This time, let’s recreate the site using CSS tables. Don’t worry, very little needs to change!

Keep reminding yourself, IE7 and below don’t recognize CSS tables. So, at least for now, we still need to use the method that we performed above. Create a new stylesheet and call it “ie.css”. Then copy and paste all of the CSS that we’ve written into this file. Now don’t delete it from “default.css”. We’ll simply remove a few styles. We won’t be implementing any hacks or floats to create our columns this time.

Remove the following styles from your “default.css” stylesheet.


/* Because we'll be using a "table" layout, we won't need to tile a background image! */
#main {
	background: url(../bg.png) repeat-y;
}

/* No floats! */
#nav {
	float: left;
}

/* No floats = no left margin. */
#primaryContent {
	margin-left: 150px;
}

Implementing the CSS Tables

Now that you’ve removed the unnecessary styles, let’s add some new ones! First, we need to create two columns within our “main” div: one for the navigation, and the other for the primary content. Let’s set the display type of #main to be a table.

#main {
display: table;
}

Next, we should declare the #nav and #primaryContent elements to be table cells.

#nav, #primiaryContent {
display: table-cell;
}

Believe it or not, that’s all that we need to do to create our column layout. We already set the width of the navigation to be 150px wide. The primaryContent div will simply fill the remaining space. Here is a snapshot of our layout using CSS tables.

Faux Columns

It looks exactly the same! But we didn’t use any floats or absolute positioning! However, as I said before, if we now view our site in IE, we’ll see.

IE doesn't recognize css tables yet

Though IE8 will display the site correctly, IE7 and below will not. To compensate, we need to include a conditional stylesheet. (That’s why we saved the CSS from our original layout and placed it into “ie.css”).

<!--[if lte IE 7]>
  <link href="css/ie.css" rel="stylesheet" type="text/css" />
<![endif]-->

Now, all is well! Modern browsers will render the site using CSS tables, and IE will use the traditional float method.

The True Power

The true power comes into play when we make modifications. For example, let’s imagine that, down the road, we decide to add a third column to our site. We can accomplish this in about thirty seconds.

Step 1: Add the Additional Markup

After the closing tag on the primaryContent div, add your new column.

....
</div><!--end primaryContent-->
<div id="secondaryContent"> -- dummy text -- </div>
...

Step 2: CSS

Access your stylesheet and set the display property of secondaryContent to “table-cell”. You’ll also need to determine how wide it should be. In this case, I chose 90px.

#secondaryContent {
	width: 90px;
	display: table-cell;
	background: orange;
}

That’s it. No floats, no zeroing out margins, no browser inconsistencies.

Three columns

You should start using this method today! The IE devs finally listened and gave us the tools that we need to build sites the way we want to build them. So, we must utilize these tools – even if it requires a bit more work for a couple of years. If you start today, you’ll be ahead of the pack!

  • Subscribe to the NETTUTS RSS Feed for more daily web development tuts and articles.


Tags: CSSVideos
Note: Want to add some source code? Type <pre><code> before it and </code></pre> after it. Find out more
  • http://stevejamesson.com Steve

    What’s really crappy is that CSS layout tables weren’t included in CSS2 from the start.

  • Jeff

    @James – Very true, old browsers will be around for a while. Witch is why i like to try to force people to update, if it is possible. The Google push this is great. Any something I hope other browser really consider as well. Fact, of the matter is I believe that older version of safari, firefox, and opera will have problem rendering the css tables as well.

  • http://www.ninoharris.com Nino

    Ok lets get this straight. You CANNOT get some people to update from IE6:
    1.They don’t care
    2.They think if it works its good enough
    3.(The most popular one) They have NO idea what IE6 is, they just call it…the internet.
    4.They’re forced to

    We know about standards, browsers and how a website works…they just don’t care.

    IE6 is not gonna die unless you have google to stop working for it with a huge florescent button saying CLICK ME.

  • http://Matsko.net Matias Niemela

    You are aware that you can automatically (without the margin-left property) set the right div to move itself to the side of the div.

    #left { float:left; width:150px; }
    #right { overflow:auto; padding:0 0.5em; }
    #container { overflow:auto; } /* this makes sure that the div size adjusts to the float or the other element */

    IE6 doesn’t like this, but you can always fix it by enabling hasLayout.

    * html #right, * html #container { height:1px; overflow:visible; }

  • http://mcarthurgfx.com Sean

    1. Floats weren’t meant to position elements? Perhaps it wasn’t, but it works remarkably well. Computers weren’t meant to play games, but they do a great job at that also.

    2. Display:table has one very annoying drawback. The table model completely ingores the position property. You want to absolutely position something inside a table cell, and you’re screwed.

    3. You also CANNOT re-arrange the location of the columns. The table rows/columns will appear in the order they appear in the XHTML. That can be troublesome when source order matters, but you want something on the right side of the screen, or what have you.

    Floats work just fine. Their not hard to understand.

    It’s honestly not so hard to CSS a website in very short amount of time. And you don’t need to do weird background imagery like this post suggests, it’s not difficult to get faux-columns working.

  • http://URL(Optional) mike

    I’m pretty baffled by the negativity in this thread, I see this as a great opportunity to be ahead of the learning curve. Tons of people are going to have the “screw it for the next couple years” attitude, so why not be ahead of the pack?

    I rarely find sites that don’t use conditional stylesheets so I am pretty surprised that people would be throwing a fit about having to do one, since you probably already are anyhow.

    I have to agree that the books title is a bit misleading but that’s basic marketing, and it clearly works because it seems to have received everyones attention.

    And for those that think IE6 is dead and you don’t need to develop for it you are dead wrong, perhaps in some applications you can eliminate, but I personally know of companies that still use IE6 and they have strict policies about upgrading, they update company wide and they have rules/regulations on when to do it. There are plenty of people who still use it, who don’t know how “bad” it is because they aren’t web developers. And when 8 is released people are still going to use 6 and 7 because realistically not everyone upgrades right away. So developers are STILL going to have to develop for older browsers, which is most likely going to result in conditional stylesheets being used.

    For me, like I said, I see this as a great opportunity to move ahead of the curve and learn something new that will without a doubt save hours of developing time in the future, yet everyone seems to only complain that it may cost them a couple hours today to make some changes to accommodate this new method. I don’t really get that….

  • Lubes

    Can everyone please just read Andy Clarke’s take on CSS tables, please?

    http://forabeautifulweb.com/blog/about/are_css_tables_ready_for_prime_time/

    @ Jeff, you said: “I know I am going to get flamed for this one, but on the whole IE6, IE7 debate. I feel that if your creating something large like a web based Line of business app, or SaaS. There is nothing wrong in telling people that they need to upgrade there browser”

    YES EXACTLY!

    People can’t upgrade if they don’t know they should for crying out loud! We’re so terrified to put in a little script that will prompt users to upgrade but huge websites like Hotmail do exactly this!

  • http://themeforest.net/user/JeffreyWay Jeffrey Way
    Author

    @Sean

    In response to #2 – it definitely is a drawback. But I would hardly say that we’re screwed. If you wrap the set in a parent div, you can then set the positioning properly.

    It adds an extra div – which isn’t ideal.

  • http://www.itcamefromthelab.com/ sean steezy

    well. after everyone cools down, I just want to say, I only code for the latest browsers. People should upgrade their stuff, it’s free after all.

    I usually just put a little disclaimer, “This website will look stupid unless you have the latest version of Blah Blah and Blah. Download them here.”

    Then you don’t have to worry if they have IE6 cuz you told them your site will look dumb with it and it becomes their problem.

    easy.

  • Dice

    “2) IE7 is going out of market faster than you think. Windows 7’s coming soon with great impact and ACID2 passing IE8 on board.

    2-3 years and you won’t mention IE6/7 name anymore. Until then..”

    Vista has been out for almost 2 years and you don’t see IE6 disappearing all that fast. So that statement makes it invalid.

    Nice tutorial, but I don’t think this is really practical.

  • http://themeforest.net/user/JeffreyWay Jeffrey Way
    Author

    Hey guys. I want to clarify one quick thing.

    In no way am I suggesting that you should ignore IE6. That decision is entirely dependent upon your situation.

    I’m actually suggesting that you implement these modern techniques, and then create an alternate stylesheet to make IE6 and IE7 happy.

  • http://www.kevinjmay.com Kevin May

    I think that anyone who is using anything below IE7 when IE8 comes out.. should just get a site with no css at all on it. Big pages of text, thats all they get.

  • http://mcarthurgfx.com Sean

    @Jeffrey

    Granted, you could do that. But it’s less than ideal in a situation where you don’t have access to the markup. In a CMS I develop, I sometimes help the CSS coders to fix their template. But the XHTML is generated by the CMS, so we can’t go changing that around. I tried doing a table layout as a pet project, and it broke some stuff that I haven’t taken time to fix.

    but my other points still stand. In my pet project, I couldnt throw the left column on the right real easily (or at all) like I can when everything is floated.

    And I didn’t feel that it was much easier than floating everything anyways. Floats are so simple.

  • http://james.padolsey.com James

    @sean steezy, Is that because you can’t be bothered?

  • http://talkjesus.com Chad

    Thanks for the article. I’m curious, where do all these web design blogs get their content (articles + beautiful pictures)??? I’m lost how each blog has unique articles with all these related pictures. I’ve tried Googling about this, got nothing much but generic article repo sites with no pictures.

  • http://URL(Optional) mike

    @sean

    I have to disagree with that completely, if you have clients that simply don’t care that is one thing, and they are losing potential visitors/customers as a result I’m sure, but to me that just sounds like the easy/lazy approach.

    I would bet money if you had clients that were serious about their website being accessible you would get fired if their site looked like crap in a browser that is still used regularly.

    Personally I don’t know of any developers who don’t test down to IE6, I’m sure there are plenty, but to me that is a very bad habit because even with IE8, people are still going to be using 6 & 7 which means that for at least a few more years people are going to have develop sites more multiple browser versions, I don’t see an end to that any time soon.

  • Brian K

    CSS Tables! I can see a huge benefit to this now and in the future. You people are nuts and are obviously stuck in a hole.

    This is a wonderfully useful technology that will be featured in more books in the future because it will most likely simplify workflow.

    How could you ignore saving time in the long run?

    I don’t know about you, but Time=Money for me

    If you will not consider this ‘method’ as a new technology than…. Leave the market now!

  • http://www.wengerball.com dfunkydog

    @nino

    Maybe google should take you up on that, I’d like to see how fast ie6 would die if all the big websites including microsoft.com drop support for it.

  • http://www.itcamefromthelab.com/ sean steezy

    @james:

    i wouldn’t freelance if I didn’t want to be bothered… it’s because I like the latest technology. I want to implement the latest technology on my websites. People who don’t update their browser prevent me from using the latest technology. They’re doing a dis-service to themselves and designers who want to make cool stuff cuz some dufus wants to disable scripts or something.

    For that matter, if I were making something that needed to be accessible to everyone, then for sure I would make sure it’s at least compatible with the last browser version, or 2 versions back. I would not make a complex, high tech website compatible with an old browser. Those hours of coding are better spent elsewhere.

    Geez, you could make a whole article about how much IE eats code and all the f–ed up stuff it does… standards. thats all i want…standards.

  • Jarod Taylor

    I spent 5 minutes reading the article.

    I spent 30 minutes, with a bag of popcorn, reading the World War Web comments.

    Good article. The reality of this is, use it if you want to and use it if you can, otherwise keep doing what you’re doing and keep all this in mind for future use.

  • http://createsean.com/blog Sean

    I reviewed this book a few weeks back on my blog.
    Review: Everything You Know about CSS is Wrong.

    Long story short, it’s overpriced and not practical.

  • http://www.crea-t.net Henry

    Great post, thank you

    http://www.crea-t.net

  • http://www.afestein.net Afe

    Wow, I’ve just started thinking about dropping support for IE6 and already I can see IE7 is going to be the next pain in the butt.

    The CSS tables are pretty cool, and it would make my life a lot easier. What concerns me is that users will not adopt IE8 for another five years so we’ll be stuck doing conditional styles for another age. I really hope it’s only a couple of years as you say. I will experiment with this, but probably not adopt it just yet as the extra styling just creates more work.

  • http://www.broadcastingadam.com Adam Hawkins

    I’ve also written about this on my blog (www.broadcastingadam.com), but using these techniques are so far away. It will most likely be 3-4 years before IE7 slowly moves away. By then hopefully CSS3 will be ready. Around and around we go!

  • http://whatupderek.com Derek

    I ordered this book a few weeks back and was a little disappointed in it’s short length, but then again it really doesn’t need to be much longer.

    I have the benefit of building a small app for my office where the majority of users are on the latest version of FireFox. I’ve been using the css table technique for my recent designs and it’s working out great!

  • http://butai8.net Ben Carroll

    Hmmm yeah i’ll pass on this idea. I will continue to use what works and what i know. I have evolved beyond tables and no longer use them except for when i need to present data. I don’t care if the tables are css based or html based they don’t work for me 90% of the time.

    As long as what I do looks the way I want in all browsers I am not changing. When browsers evolve I will.

  • secretmode

    Nothing is practical for now in this screencast. The solution creates extra problems which is not what anyone would recommend to try.

  • Jeff

    I still hold on to the stance ther is nothing worng with telling people they need to upgrade.

    Anyway back on topic. I definitly like this, but I am still looking for information in the CSS spec that would point out that CSS Tables areintended for layout. Even if they work well, ther is no need for the headers, footers, and captions if the intent was layout. Those are all things traditionally used for tables the define tabular data.

    Also, if the floats weren’t suppost to be used for positioning, what were they supposed to be used for. It seems to me the floating somthing to the right or left is exacly telling the item how to be positioned.

    Also it seems kind of funny that if CSS tables were supposed to be used for positioning then the wouldn’t negate the position: attribute. I know you can overcome this, but adding extra divs just because is a workaround not somthing I suspect the authors of CSS intended.

  • http://elitenick.com Nick

    To some of the people who responded to my comment – I did not mean that nobody is coding for IE6 anymore, I just mean that it is debatable whether or not you should code for it or just tell the user they need to upgrade their browser.

    That being said, maybe there should be some sort of web initiative that promotes ALL websites big and small to make a universal message for people on IE6. Right now, some sites will simply work with it, others will prompt you to get a new browser. It’d be nice if we all could decide on a way to go with this.

    Also, I work at Geek Squad, and restore a lot of computers. Most XP recovery discs have IE6 on them. I know that if it wasn’t me doing the restore, the customer would just restore and stop, thinking IE6 was fine.

    Meh.

  • Jeff

    @Nick – True about the XP restore. There are a lot of techs that want an update to the new browser to be in the criticle update list for this reason. AS for right now they just make the security update for whatever browser that is installed part of that list.

    It would be great if there was something for older browsers like there is for HDTV. Hey people if you don’t correct your problem by this date don’t cry to us. That would be great, especially since there are security uses involved with using older browsers. Even if your using Firefox V1, or old Opera version.

  • Jarryd

    I personally would love to try to use this new way of creating website styles, but it will have to wait for smaller web sites, just because of the time it will take the understand the display attributes better and converting to them.

    Nice to see such a large comment base!

  • http://eneza.wordpress.com Eneza

    I agree with James!!! Its more tedious to have another css file. About the title, its misleading and yes its totally for sales….. and there are still many users of IE6 and IE7 (IE6 sucks). It will be a matter of choice, the MAJORITY of users or IE8 users?

    still the answer is FOR THE CLIENTS! hehehehehe
    I like the comment more….. yay!

  • http://johnsanders.me John Sanders

    Jeffery, thanks for the article.

    I’m sure by the time you’re reading this comment you’re probably ready to shoot yourself in the head with these debates. However, keep something in mind. Not all IE6 users can upgrade. I worked for a very large telecom company, and when I left them in July 08, the standard browser was IE6 with practically no options to upgrade, nor was any other browser acceptable (Firefox, Opera, Safari). That’s over 1/4 million PC’s on IE6 from just one big company.

    I like the idea of informing users that they’re using IE6 and offering links to upgrade, however that could be annoying if you’re a corporate user and you have no option to do so.

    Ultimately, your approach will be dictated by your user base. There’s no right or wrong approach.

  • h-a-r-v

    Jeff: I’ve gone through the specs as well and I totally get your point, especially that they mention of using it as tables with tabular data in xml driven apps (no html tags). But ask yourself this:

    1) What is the ‘display’ property of a div for? And what is a div for? – both for design purposes, of course. So it’s just another display property bringing particular behavior to divs – exact with normal tables (that’s why it’s called the same).

    2) Who said that nowadays box model is the right way? No one but ourselves. There was a designer who found out it’s the best way at a time and everyone agreed. But is it in the specs? No. You won’t find me a single sentence from W3 that YOU SHOULD design using box model. What you’ll probably find is that you should do it in A VALID way (with newest markup) – that’s why they gave you a validator. You will also find that you should not use normal tables due to accessibility issues (screen readers confusion) + the fact that tables are intended to present tabular data only, which’s been out of speculation since the very beginning (what btw. affects search engines behavior in result).

    3) Using table-cell display property:

    a) does not any harm to screen readers
    b) doesn’t harm your site in terms of SEO
    c) passes all kinds of validation (including WCAG)

    So.. Again, it’s up to us to decide whether this way is better just as we did years ago about the box model to replace html tables. With that decision we opened the door for another group of problems:

    1) browsers imperfection in CSS2 interpretation which made us using tons of hacks ’til this day (not only IE.. Opera e.g. still doesn’t understand body background bottom property)

    2) making design process harder and code bigger by replacing complete, logical and fluid grid with individual “puzzles” that needs to be placed and defined from zero one by one + bringing limitations (there are atleast few importan things you simply can’t do in box model no matter how hard you try).

    That’s why css tables are revolutionary. They give you back the old good grid WITHOUT all the flaws that were reasons we abandoned it.

    So.. no, it’s not in the specs, but on the other hand – it doesn’t break any rule, so it’s free to use without being told to.

    The choice is yours.

    Ps. If you need to be told the right way, you’ll have to wait for full css3 browsers support and use css3 grid positioning module:

    http://www.w3.org/TR/css3-grid/

  • h-a-r-v

    Sorry for all the typos and grammar flaws, it’s kinda late ;) Goodnight.

  • h-a-r-v

    Oh.. and Dice: read more one Windows 7, read more on Vista market failure reasons, read more on IE7 slow implementation reasons, read more on XP still-popularity reasons, read more on IE8, get the goddamn big picture and then make comparisons ’cause the one you’ve made, my friend, is an epic fail.

  • http://imbuzu.wordpress.com Buzu

    When I first got the news letter from site point in which they introduced this book I thought “this is the most stupid thing I’ve read.”

    I still think the same way, but I think it depends on many things. For example, if you use a lot of hacks to build websites (bad idea) then you’ll think this is great. It just depends on your developing habits.

    I develop using no hacks, following the standards and recommendations the W3C gives us. I don’t think any hack is worth using. I rather stick to the browser capabilities, but again that’s just the way I develop.

  • http://imbuzu.wordpress.com Buzu

    BTW, everything I know is not wrong at all.

  • http://themeforest.net/user/JeffreyWay Jeffrey Way
    Author

    @John – I’ve never once suggested that you should make your IE6 users upgrade. I’ve mentioned that many times. So, I’m in total agreement with you.

    This is exactly why I advocated the use of conditional stylesheets.

  • http://themeforest.net/user/JeffreyWay Jeffrey Way
    Author

    @h-a-r-v – Well said!

  • Andrew Larcombe

    @Lubes: “People can’t upgrade if they don’t know they should for crying out loud!”

    Most of the 20% of IE6 users are corporates laptops/desktops using XP pre SP2. It’s not the users choice to upgrade or not. In one office I was in this very morning it was IE6 all the way – users (even up to Director level) can’t even install Firefox or Opera. You want to lose 20% of your viewers for dogmatic reasons, fine. I’d never be able to sell that to any of my clients though…

  • http://www.raphyy.com Raphael Caixeta

    Looks good, but until at least 70% of users upgrade to IE8, I don’t see why waste the time to build 2 versions of a website.

  • Jeff

    @h-a-r-v: Very good points. And i agree with most of them. I like the table model. But usually you can find information on what the spec was written for. In the end your absolutely right. But I would just hate to design up some websites with a CSS table layout and say this is standard and validates, then have the client talk to another design who trashes it and says that it was designed poorly. A table based layout will validate but when someone else looks at the code they will most likely trash it.

    anyhow, this is great because you can get the table like ease of layout. but with the flexibility and pros of css. Also you markup can remain clean with tags that truly describe the element. Witch is all great.

    I don’t don’t want it to come down on us from somewhere “hey guys, we never intended you to use CSS tables for layout purposes”. Thats all.

  • Jeff

    @h-a-r-v: CSS grid support is exactly what we need. I don’t know how I didn’t read up on the spec yet. thanks for that link.

  • http://joshmmiller.com Josh

    I actually think this is fascinating. I’ve never heard of CSS tables before, but by the looks of it, they can greatly speed up my development. I’m still a student at college, and think learning these techniques may give me an edge in the business world. Thanks!

  • icomir

    I guess Microsoft made it very hard for us when making Windows XP so good. Most of the world(including me) do not want to upgrade to Vista and they just stay stuck with IE6. I completely agree with Jeff that we need to tell that user should upgrade(they can do it with even Windows XP) to a newer browser. Unless Windows 7 is something worth spending money for over XP(and Vista is not) i don`t see us out of that mess for a decade.

  • gasbag85

    Its unfortunate that a lot of the corporate places still use IE6 (20% of web browser base) and therefore view their sites we’re developing in it.
    *html hack for the win.

  • http://www.abhijitdutta.com abhijit

    CSS3 has lots of promising stuff. One such is the border-radius property. It makes rounded corners so easy to achieve and the thing is that its supported in Firefox as well as Safari. I think the problem still is IE and Microsoft’s policies regarding it. Whenever we talk about browser inconsistencies we generally talk about IE’s lack of support towards some standard property.

  • Pingback: Everything You Know About CSS Is Wrong! |

  • h-a-r-v

    Jeff: to build your own brand you need to know things for sure, have your own style and opinion, and consequently execute it – if someone else thrashes it, just tell your client he should be careful with choosing advisers ;) I believe you can sleep tight seeing how 10000% sure you wanna be, hehe.

    I had enough “arguing” with such people. They never won. Unless the company president is an idiot, but I never worked with one. There was one compromise only, but that was not such an essential thing, but more of a detail they wanted against all standards (regarding printing). I agreed ’cause that was easy to do, didn’t break the contract and they had ( underline ) some ( / underline ) good arguments. One might say it worked for them despite being a VERY uncommon solution. Still, I’ve learned something new ’cause I had to figure out how to do it first before I accepted doing this, so it wasn’t that bad :) Ok, I’ve gone off the track a little.

    So anyway, don’t worry Jeff – css table model isn’t anything new, it’s in css2 from the very beginning. If they didn’t want it to be used for layout purposes they’d have already written that just as they did everywhere about html tables. I tried hard but couldn’t find anything about css table layout being e.g. inaccessible.

    I only found one girl’s blog who complained about height property for css tables being not treaten as min-height by default. Women..

    It’s plain and simple just as Wiki says:

    “CSS also specifies a “table model” which allows the semantics of “tabular representation” to be applied: The “display: table” element. In this way the decision and definition for tables is tranfered from the HTML code over to CSS.[2] One reason this distinction is sometimes overlooked is because of the lack of support for the CSS table model up to, and including Internet Explorer 7; Internet Explorer 8 however does support the CSS table model.”

    Breaking news: I find this guy speaking with common sense as well:

    http://blog.ale-re.net/2007/10/css-21-and-tables.html

    It’s my impression I’ve said enough in total on that matter. Lemme get back to work ;-)