I'm not a web designer. I'm a software developer. However, unlike a big shop, I work for a 4-man company developing software applications for the government sector. My speciality is web applications, specifically ASP.Net web applications. I also work with rich client applications using VB6 and Winforms. Prior to working with Microsoft's .NET, I worked with VB6 and in web application development I worked with classic ASP.
In all the time I've worked developing web applications I've taken some pride in the UI experience for users of the web applications I've developed. While I'm not a designer, I have a pretty good eye for beautiful design and I try to make the things I develop pretty and usable.
This brings me to the point of this blog post. Using CSS for layout or using HTML tables. I use CSS a lot in my application UI design. It really simplifies things and makes applying application-level formatting much easier. Think about it...you simply change one of the CSS styles for your element and it's applied application-wide. Beauty.
But...
I read a lot of web design-related blogs and web sites and they all push CSS for the total layout of the UI for your web application. I have tried and tried again to master it. I'm sure that if it was my job I would master it, but for a web application supporting a big application, it is just way too easy to use HTML tables to build out the layout. For everything else, CSS is beautiful, but for laying out my page and form, I just bang my head against the screen when I try to introduce pure CSS layout.
Judging by the many popular sites I visit, their designers must bang their head against the screen too. Sure, there are plenty of <DIV>'s in there, but I still see the familiar <TABLE>, <TR>, and <TD>'s.
Am I crazy or plain dumb? CSS is pretty hard for laying out your pages, right? Sometimes you just have to ignore the blogosphere designer elite and do what works for you.