19 replies [Last post]
GraphiX2004
Offline
Regular
Last seen: 10 years 2 weeks ago
Timezone: GMT+1
Joined: 2009-09-24
Posts: 11
Points: 3

Been coding stylesheets for years and now i have seen a lot of people
saying designers should stay away from tables and use div's instead

tables have been used and proved pretty damn important for the past 20 years.
so why all of a sudden is tables so bad is it because one person said it and then
everyone just copied and jumped on the band wagon?

90% of websites and templates are designed in tables not divs
then you have table equivalent display: table etc.. why bother using
an equiv when you have the real thing?

ever tried to design the following in CSS

700px wide container with 2 div's centered in the middle?

sounds simple but the amount of different code you need to use to get it just right is insane.
when tables do the job perfectly without problems or hassle and work over every browser.

not knocking CSS i think it's great thing i love it so this comment is about
using tables vs divs or divs with a selector of display:table.

So can we start a discussion n why after all this time suddenly something
that has been working perfectly fine for the past 2 decades is now suddenly bad?

What advantage or reason is there to use div's or div's with display:table
over actual tables? not speaking about other styling of the div,

imagine trying to create a table with 20 td's 20 tr's all with border colors in div's lol

t-bone
Offline
newbie
Los Angeles
Last seen: 10 years 2 weeks ago
Los Angeles
Joined: 2009-09-25
Posts: 10
Points: 0

Tables

You know.

I read your comment and identify. I was a flash programmer for years. You rarely have to deal with the same nonsense you do with CSS. The seo sucks. And if you don't know how to code it well it weighs a ton. But if you do it well. Then generally the person sees exactly what you want or if their on a portable device they don't.

Currently I am the chief CSS coder for a decent sized firm. I began using it out of necessity and because all coders I worked with would talk about it's superiority and capabilities.

So I started using it and for the most part have gotten fairly good at it. You start out with your first layout. Over

everything. And spend hours doing small tweeks. Then the thing just falls apart in other browsers. So you spend all your time doing hacks and tweeks.

I really hate the language. I can make a really dynamic page and do some cool stuff with it. But I really do not see it as what I would consider stable.

On the bright side. The more I do. The cleaner the code. The less tags I need. And the less hacks I have to generate.

But overall I think there are some really serious and significant drawbacks because it is not read and interpreted the same between all the browsers and versions. But it is getting better. I can actually use my original firefox / safari stylesheets in IE8 without modification.

Generally speaking I don't have anything against tables. I use them and can control and place them with CSS. But the pages are heavier. A correctly displayed CSS layout looks better. You have more control. But then you have "browser x" "platform y" "browser version Z" and somewhere out there, there will be someone who sees a mess.

The key I have found over the years is essentially have a master container id with an auto margin property. Then a header container, and containers for the column. And try and use good HTML with breaks and such to separate content and sections. The more

you have. The more errors. Time and work allows you to do more with much less.

CupidsToejam
CupidsToejam's picture
Offline
Guru
Florida
Last seen: 4 years 5 weeks ago
Florida
Timezone: GMT-4
Joined: 2008-08-15
Posts: 2637
Points: 1556

I dont have time right now

I dont have time right now to get into it, but off the top of my head..this is why table-based layouts are not good.

1. Semantics. You want your code to make sense. You want to use appropriate tags for the content you want to display. Tables were never meant for layout, but rather displaying and organizing tabular data.

2. weight. A page build with tables has, at-least, twice as many lines of code.

3. Accessibility and ADA. This goes along with number one, semantics. Some research for you

W3C view on the subject. see checkpoints 2

Web Content Accessibility Guidelines Working Group

downtap
downtap's picture
Offline
Enthusiast
Dallas, TX
Last seen: 4 years 39 weeks ago
Dallas, TX
Timezone: GMT-7
Joined: 2008-01-18
Posts: 227
Points: 36

Cupid's right on there and

Cupid's right on there and the OP, no offense meant, seems to be speaking from a point of inexperience and lack of understanding of CSS at all.

There are numerous reasons....first of all, the situation you described (700px wide...etc) seems pretty straight forward and easy to accomplish. In fact try using the css layout generator on this site and look at the code. Very clean and straight forward. Secondly, this is not an all of a sudden thing. The trouble, as Ed always seems to point out here...and he's right, is that the web is not paper, and designers have tried to design it that way. What's easier, learning to hand code a site properly having never done it before.....or, slice up an image in photoshop and let it spit some absurd table based layout that replicates your screen exactly.

Not to mention the following: accessibility, weight of code, ease of updating or rearranging layout, ease of changing properties globally, seo, etc..etc...etc

There are just way too many to list. And don't think for an instant that table-based layouts aren't subject to the same cross browser compatibility issues that tableless layouts run into.

t-bone
Offline
newbie
Los Angeles
Last seen: 10 years 2 weeks ago
Los Angeles
Joined: 2009-09-25
Posts: 10
Points: 0

I agree

I agree with much of what you say.

I code CSS for a living. My work requirements require cross platform testing. I have to get it to work in some really archaic browsers.

And it never ceases to amaze me that there is not a more uniform method. Granted. Don't get me wrong. Diversity is great. But the web would be a more uniform place if there was a more standardized browser.

What is gospel in Firefox is gospel in safari and usually Opera. Then there is IE < 8. 8 was a great improvement. And generating a relevant stylesheet for <8 is generally a matter of duplicating the stylesheet and removing html>body.

I know tables cause problems. But really. Even if you code really meticulously with CSS. Unless your just doing the design as plain jane as possible. Your lucky if you don't end up with at least one offshoot in IE.

gary.turner
gary.turner's picture
Offline
Moderator
Dallas
Last seen: 22 hours 28 min ago
Dallas
Timezone: GMT-5
Joined: 2004-06-25
Posts: 9743
Points: 3822

GraphiX2004 wrote:Been

GraphiX2004 wrote:

Been coding stylesheets for years and now i have seen a lot of people saying designers should stay away from tables and use div's instead tables have been used and proved pretty damn important for the past 20 years. so why all of a sudden is tables so bad is it because one person said it and then everyone just copied and jumped on the band wagon?

Table layouts were important right up until there was a reasonable support for css2; about 2001. The table as a layout tool was a poor stand-in for a powerful presentation language.

It was not just one person proselytizing in favor of using css over tables for layout. It was everyone who grokked in fullness just what css offered.

Quote:

90% of websites and templates are designed in tables not divs then you have table equivalent display: table etc.. why bother using an equiv when you have the real thing?

It is clear that you do not really understand the difference between structure and presentation.

The table element names a container for holding a flat database, i.e. one or more records (rows, tr) of one or more fields of either data (td cells) or headers (th cells). This is about structure, and says nothing about how the structure, or its content will be displayed.

The table value for the display property defines the presentation characteristics of any element with that display value. For example, the internal stylesheet for Firefox applies the following ruleset to the table element:

table {
  display: table;
  border-spacing: 2px;
  border-collapse: separate;
  margin-top: 0;
  margin-bottom: 0;
  /* XXXldb do we want this if we're border-collapse:collapse ? */
  -moz-box-sizing: border-box;
  text-indent: 0;
}
Without the presentation rules, a table would be linearized as a single long inline box. So would any other element.

Quote:

ever tried to design the following in CSS 700px wide container with 2 div's centered in the middle? sounds simple but the amount of different code you need to use to get it just right is insane.
when tables do the job perfectly without problems or hassle and work over every browser.

That's trivial. You're over-thinking. Or, are you trying to create a table structure? That would be insane.

Quote:

not knocking CSS i think it's great thing i love it so this comment is about using tables vs divs or divs with a selector of display:table. So can we start a discussion n why after all this time suddenly something that has been working perfectly fine for the past 2 decades is now suddenly bad?
What advantage or reason is there to use div's or div's with display:table over actual tables? not speaking about other styling of the div,

Why are you taking that approach? There are good reasons to use {display: table;}, but the table display in those cases simplifies things, it doesn't make them more complex.

Quote:

imagine trying to create a table with 20 td's 20 tr's all with border colors in div's lol

Why would you do that?

cheers,

gary

If your web page is as clever as you can make it, it's probably too clever for you to debug or maintain.

gary.turner
gary.turner's picture
Offline
Moderator
Dallas
Last seen: 22 hours 28 min ago
Dallas
Timezone: GMT-5
Joined: 2004-06-25
Posts: 9743
Points: 3822

t-bone wrote:<snip>I have to

t-bone wrote:

I have to get it to work in some really archaic browsers.

Those old browsers have as many or more issues with tables as with css. Why would you have to support browsers beyond their vendors' end of service?

Quote:

But the web would be a more uniform place if there was a more standardized browser.

Well, MSFT are finally coming around.

Quote:

And generating a relevant stylesheet for <8 is generally a matter of duplicating the stylesheet and removing html>body.

Huh? Why?

Quote:

I know tables cause problems. But really. Even if you code really meticulously with CSS. Unless your just doing the design as plain jane as possible. Your lucky if you don't end up with at least one offshoot in IE.

Tables are the source of a potload of anomalies, especially in IE, but with css, only a few well known work-arounds are usually required for IE6/7. Once you understand the basic cause of the issues, fixing them is near trivial.

The largest source of coding problems comes mostly from soi-disant web designers who want the web to emulate print.

cheers,

gary

If your web page is as clever as you can make it, it's probably too clever for you to debug or maintain.

GraphiX2004
Offline
Regular
Last seen: 10 years 2 weeks ago
Timezone: GMT+1
Joined: 2009-09-24
Posts: 11
Points: 3

Hiya Guys! First of thank

Hiya Guys!

First of thank you very much for replying to this thread and hope i get
more input from other designers the problem i had was this

http://csscreator.com/node/37335

Sadly i never got any help with it yesterday you guys must of missed it.
but it's the hassle and trouble i went too with a container div of 700px with
two div's centered in the middle but with custom spaces between the center div's.

by all means please view that thread and tell me is that the best way to do it.
to me the whole thing looks sloppy but it works i'd like a much neater way.

Why is it someone always says "no offence" right before they offend you? lol
why not just say right im going to offend you now okay.. great then do it Smile

Seem's there is mixed views on tables people keep going on about Semantics to do with tables.
i see the same speech same lines on most coding forums but yet no-body explains what this is
or have to do with the visual display because after all , all your trying to do is acheive
something to work and look right accross browsers right?

Tables wasn't meant for what they are used for today people say but why not.
it works and works perfectly, i personally like tables with a little CSS to jazz em up
they look great and work fine, will tables be depreciated i have no idea hope not.

seem's the people who created stylesheets didn't think the whole thing thorough
for simplicity when it comes to putting 2 div's side by side centered in the middle.

you have to deal with floats, and position:absolute/relative per div just to get them
where you want them, why couldn't they just make it alot easier and more simple?

please check the link above out to see what i'm speaking about if you will.

Anyway since everyone seem's to be favouring div transformed into tables over actual table.
i guess i too should jump on the same band wagon and try to keep away from tables.

but it just gets anoying the amount of selectors you need to do such a little task.
as for all other css selectors i have no issue with any of them they work and look great.
it's just when it comes to replacing tables and table data with div's.

we'll i've seen a decent amount of view points by all means if you have a view please reply.

t-bone_two
t-bone_two's picture
Offline
Enthusiast
Los Angeles
Last seen: 3 years 43 weeks ago
Los Angeles
Timezone: GMT-6
Joined: 2009-09-26
Posts: 209
Points: 268

Response

This is still me but I am no longer at work.

I work for a firm that sells products nationwide and pays attention to Browser Marketshare. Like it or not. Much of America uses IE. And there are lots of old versions out there.

Firefox, Safari and modern browsers INCLUDING now IE 8 in non compatibility mode will follow the complete path:

html>body .header
{
width: 1013px;
height: 170px;
margin: -5px 0 0 0;
background-image:url(images/header_middle.gif);
background-repeat:no-repeat;
}

IE < 8 will not.

.header
{
width: 1013px;
height: 170px;
margin: -5px 0 0 0;
background-image:url(images/header_middle.gif);
background-repeat:no-repeat;
}

You can technically write them in the same stylesheet and IE <8 will take the .header path and use that to place styles. The other browsers that are standard such as Firefox will follow html>body.

Microsoft finally got on the ball with version 8. Because I can use the exact same stylesheet as for the other browsers.

But I had to consult a C sharp coder to get the browser java to recognize IE-8 and pull from the original stylesheet and redirect IE <8 to style-ie.css.

If I code very carefully generally I pull a pretty clean first draft in even IE 6 by duplicating the original stylesheet and removing the html>body. But I have to work and generate mass volume. I have to be able to just fix the little errors specific to IE < 8 and move on.

Tables still have a place when managing data and such. I have never been a fan of them. Personally I think flash creates the most interesting content with the most freedom. But the iphone and security / SEO etc sunk a few more nails in it's coffin.

I can generally produce pretty good cross browser code. But there are limitations in older browsers. And my work requires content in those browsers . . . so I do what I gotta do.

For what it's worth. Code and computers are still young. And I think there is still a long way to go and there will be better solutions on the horizon.

t-bone_two
t-bone_two's picture
Offline
Enthusiast
Los Angeles
Last seen: 3 years 43 weeks ago
Los Angeles
Timezone: GMT-6
Joined: 2009-09-26
Posts: 209
Points: 268

Tables

Here is the honest to goodness truth about Tables vs CSS.

I work specifically with CSS. Hand coding and writing stylesheets. There are issues with BOTH languages. There is NO holy grail out there.

I also have to manage the html content coming from designers who spit layouts out in Dreamweaver and Photoshop.

What I can say is the code produced via that method is very sloppy. I can see when the person did something and then undid part of the move and there are blocks of irrelevant code just scattered throughout the document. I don't take it personally or think their lazy. They didn't get hired to generate clean HTML.

I am a designer. And I can also generate clean CSS layouts and html. So I just get a bigger check. Smile

The structure of a table layout is more rugged and forgiving. There can be a whole lot of crap that does nothing in there. Just blocks of ghost code without closing tags that is a product of doing something via an automated interface and undoing half the steps and such, and the page still will display and function. With CSS I can close a

in the wrong spot and throw off everything after it.

The links will work etc. Dedicated table pages are Extremely heavy. They load significantly slower. Once the automated spit out is produced it is resistant to change and further customization without almost re-walking the entire code spit path. The way it handles images, gradients and menus is highly inefficient.

In CSS you can have universal controls across an entire site. A browser can layer elements similar to your layers pallete in photoshop. Technically you can Div out a table and Z-index it. You can also do the same with Flash. You change something in one spot in CSS and it goes across the board. So you can structure and change major site themes in one place and have it occur everywhere. I can generate a 2px wide gradient for a menu header, set the height and width / repeat-x and use it across the entire site. Then change the gradient color one time in one file and it will change across the entire site.

You have more control over how content loads. Page weight is DRASTICALLY smaller. I have built entire sites that weigh about 148kb. Because the menus are standardized. A designer doing the same thing in Dreamweaver would probably give me something about 3+mb.

Regardless of what anyone says. Your best bet is to know enough of everything to do what you need to get done and meet industry standards. I know CSS well. I don't use tables because they are more inefficient and just not practical to build out large themes. CSS is also something you have to approach from a strategic dry erase board standpoint. You may do 40 extra laps up front. But then it is a ship that can sail it's self and you can just control and mass produce with little effort.

When you start working with it. As I did. You get this idea that the content will be 100% accurate across the board. Like it's some kind of end all solution. I can tell you it's just not true. You will have to learn more about browsers than you want to. There will be some hole in some browser at some point you have to accomodate for. The technology in one browser will advance faster than another. So you may have this amazing capability in one. And utilizing it will destroy it in other browsers until they catch up. And it is and will be ongoing. You are likely to start out with a very large headache until you know what your doing.

And there are lots of egos out there. There is never an end to what you have to learn and continue to learn. EVER.

There are people who tell you your doing something wrong according to XYZ. And what I do is look at who I am listening to. I look through their work. And pull up their stylesheets. See how their sites display on about 5 platforms before I decide their worth listening to. Because I can check IE 6, 7, 8, Firefox, Safari, my iPhone and Opera without leaving my desk.

And I have had people who have done less work and whose stuff falls apart in half those browsers telling me I am doing something the wrong way.

Another thing I will say. Is part of my job is dealing with highly inefficient mess coded table layouts spit out by designers with no HTML knowledge automated through Dreamweaver. I don't care what anyone says. From a cross browser standpoint they maintain stability better than some people I have worked with who have better knowledge of HTML but are still not on the level with CSS and after spending a heck of alot of time with it.

The moral is. Table technology is much older. It's way more forgiving. It's much heavier and it's way less sophisticated.

I believe you are better off using CSS. But you are also better off using tables (older technology that is more forgiving) / dreamweaver / automated software uless you have CSS mastery. Because your mess with beginner CSS errors will be WAY bigger than a some crap shot out of Dreamweaver. It is really messy. It is really heavy. It also is more likely to work in more browsers if you have not spent significant time with CSS.

My .02.

CupidsToejam
CupidsToejam's picture
Offline
Guru
Florida
Last seen: 4 years 5 weeks ago
Florida
Timezone: GMT-4
Joined: 2008-08-15
Posts: 2637
Points: 1556

t-bone_two wrote:This is

t-bone_two wrote:

This is still me but I am no longer at work.

Why did you create two accounts?

t-bone_two
t-bone_two's picture
Offline
Enthusiast
Los Angeles
Last seen: 3 years 43 weeks ago
Los Angeles
Timezone: GMT-6
Joined: 2009-09-26
Posts: 209
Points: 268

Administrator

Are you the site administrator?

I see in your account a status with a joined date.

If you are an admin and have some sort of policy regarding multiple accounts I am happy to adhere to it.

My work computer and home computer are separate. No offense. If your not an admin I see that as my business and not yours.

CupidsToejam
CupidsToejam's picture
Offline
Guru
Florida
Last seen: 4 years 5 weeks ago
Florida
Timezone: GMT-4
Joined: 2008-08-15
Posts: 2637
Points: 1556

t-bone_two wrote: I see in

t-bone_two wrote:

I see in your account a status with a joined date.

Umm, yeah, and?

Sorry, didnt mean to offend you. just a simple question is all. Just doesnt make any sense. Seems childish to me.

t-bone_two
t-bone_two's picture
Offline
Enthusiast
Los Angeles
Last seen: 3 years 43 weeks ago
Los Angeles
Timezone: GMT-6
Joined: 2009-09-26
Posts: 209
Points: 268

No offense Taken

I prefer to keep to my self and answer questions regarding my account status with an administrator if there is an issue in private as I see there is a private email option.

I appreciate your concern and understanding!!

Hugo
Hugo's picture
Offline
Moderator
London
Last seen: 4 years 40 weeks ago
London
Joined: 2004-06-06
Posts: 15668
Points: 2806

Great stuff was just

:thumbsup: Great stuff was just thinking it had been a while since having a good old debate over tables versus divs - always entertaining!

Before you make your first post it is vital that you READ THE POSTING GUIDELINES!
----------------------------------------------------------------
Please post ALL your code - both CSS & HTML - in [code] tags
Please validate and ensure you have included a full Doctype before posting.
Why validate? Read Me

gary.turner
gary.turner's picture
Offline
Moderator
Dallas
Last seen: 22 hours 28 min ago
Dallas
Timezone: GMT-5
Joined: 2004-06-25
Posts: 9743
Points: 3822

IE 5/6/7: IE is a problem

IE 5/6/7: IE is a problem with everyone. Fortunately, IE5 issues are well known, as are the fixes. Most are related to hasLayout, and may be addressed by either a work-around, requiring no special handling, i.e. they have no negative effect on compliant browsers, or you can target 5 & 6 with the star html hack. IE 5's box model issue can be dealt with by careful distribution of margins and padding. Fortunately IE5 is long past its service life, and only Windows9x and 2k even had IE5. Those of us who ignore IE5 seldom experience breakage, though it may render differently from 6+.

There is no need to use the child selector to segregate older IEs from the modern browsers.

There is no sane reason to browser sniff. Don't do it.

I'm trying to think of a reason to have separate stylesheets for modern browsers and IE5/6/7, and can't come up with one.

cheers,

gary

If your web page is as clever as you can make it, it's probably too clever for you to debug or maintain.

GraphiX2004
Offline
Regular
Last seen: 10 years 2 weeks ago
Timezone: GMT+1
Joined: 2009-09-24
Posts: 11
Points: 3

T-Bone: can i get a view on

T-Bone: can i get a view on the link to my problem on the other thread
you'll find the link a few reply's up thanks.

btw noticed on every CSS fix you've done for people you include
something in the style sheet about removing >html >body?

can you expand on this please what you mean when telling people to remove
the html or body, sorry don't know how to explain it any better just know
you have some javascript that basically says if viewing in i.e do this.
or if firefox load this stylesheet, but there's something about >html >body
is the parts i'm not understanding

Hugo
Hugo's picture
Offline
Moderator
London
Last seen: 4 years 40 weeks ago
London
Joined: 2004-06-06
Posts: 15668
Points: 2806

'>' is known as a child

'>' is known as a child selector and is - I think - being used in the manner of a 'hack' as we used to do but seldom do nowadays. Read Gary's post a few comments up.

Before you make your first post it is vital that you READ THE POSTING GUIDELINES!
----------------------------------------------------------------
Please post ALL your code - both CSS & HTML - in [code] tags
Please validate and ensure you have included a full Doctype before posting.
Why validate? Read Me

t-bone_two
t-bone_two's picture
Offline
Enthusiast
Los Angeles
Last seen: 3 years 43 weeks ago
Los Angeles
Timezone: GMT-6
Joined: 2009-09-26
Posts: 209
Points: 268

My .02

I would like to respectfully offer my .02.

I have had specific discussions with coders regarding java and such. And who and why it would be disabled and specific discussions regarding serving styles.

I can see that careful coding will always generally yield good cross platform results. I can even code carefully enough that I can almost use one stylesheet and it work even in IE<8.

But it is just not perfect. And those browsers and versions are the problem child of the industry. And people across the country still use them. I have a virtual box and I have to check IE 6, 7 and 8 prior to publishing a site. Because the guy I answer to doing analytics requires it.

So I have had to develop strategies to deal with those browsers and very quickly.

I am just going to discuss my reasoning and methodology. I know there are weaknesses in every strategy. I know they exist. Someone asked so I will explain it in more detail.

Generally when I develop a site I work off a master stylesheet. Generally just called style.css. At the conclusion of the site I do a find and replace on the exact same stylesheet and eliminate html>body and save it as style-ie.css. Generally if I was very careful with the code. About 70% of the time there is not much modification required for IE 6 or 7.

And if there is. I can usually fix all the problems in a matter of minutes in that stylesheet. Everyone else gets style.css

So when I write for style.css. The typical declaration is.

html>body .legal_footer
{

}

Because Firefox, safari, opera and generally all other browsers will follow that path.

So the main stylesheet is complete. I do find and replace and generate

.legal_footer
{

}

For IE <8 and it spits it out almost instantaneously. Because IE<8 will not follow html>body. And you can even declare the duplicate it in the same stylesheet for IE and it will read that path.

I break it off. Because it gets to be a headache with them combined.

I know the arguments against it. And alot of people just assume leave those browsers off. Or claim they can code so specifically to w3c that they are served correctly every single time.

I deal in an environment that has a high emphasis on volume and turnaround. And if I have a couple IE offshoots I have been able to fix all the problems in those browsers really quickly. They are usually minimal and can be done in a half an hour.

Also recently with IE 8. There are some adaptations required in how it needs to be served stylesheets. And I can say that a beta stylesheet I develop using Firefox as my testing platform serves up in IE 8 almost identically. And IE 8 needs to use the same stylesheet as Firefox. And it will follow html>body.

My .02.

Chris..S
Chris..S's picture
Offline
Moderator
Last seen: 7 years 3 weeks ago
Timezone: GMT+1
Joined: 2005-02-22
Posts: 6078
Points: 173

How odd for one of these

How odd for one of these threads to pop up again. I thought this issue got tired and left the building back in 2005/6.

Some odd stuff said by T-Bone. The most odd is people telling you, "you are doing something wrong". Maybe your Boss can get away with that, anyone else says so, tell them where to go.

If you want to use tables, no one can tell you its wrong. Conversely, if you want to use CSS, no one can tell its wrong either. Both can be done very badly. Neither is an all encompassing solution. If compatibility with older versions of IE is important, there are some things that are just plain easier to do in tables and other things where CSS is much more straightforward.

I always think good design includes designing within the capabilities of the medium. If you aim to use CSS, avoid variable width equally spaced elements. If you aim to use tables, don't use odd shapes and odd placements.

The aim with CSS was to separate content from appearance. Its a rare site that manages that. CSS isn't a strong enough language to provide that, so HTML ends up with structures that are determined by the design. With the rise of so many dynamic websites, the content html is often now separated from the layout html by templates. If you're accomplished at CSS, you can structure your html to allow a great deal of flexibility in layout via the CSS, but only at the cost of lots of html - probably about the same extra weight as came with tables!

The ideal (as I understand it) was to be able to change the CSS to change the design. The reality is change the template (html) AND the CSS.

CSS can be used for changes of limited scope. Say from a full screen visual browser to a mobile browser to a screen reader. Reality, is that many sites that do consider mobile browsers, produce different content for them. And that mobile browser makers put lots of effort into being able to display full screen pages effectively/usably on small screens - in which case they don't want you to prepare mobile versions of CSS or layout.

Personally I prefer CSS. I never "moved away from tables" because I was never "at tables". If you want to stick with tables, feel free - no one should be able to tell you otherwise.

Remember though, as with any construction, do consider your users and the legal requirements of the jurisdiction. We build websites for people to use, not as monuments to our own hubris Wink