PDA

View Full Version : tabular layout: is it really that bad?


whackaxe
07-14-2003, 04:36 PM
ive just been working on a layou wihc im forcing myself to do in CSS, and my hand is about 2 seconds away from going through the screen. its the most infuriating thing ever. you fix everything up and because one lttle pixel margin or something you have to rewrite the whole *ù$'(y_'ç(_-èà-çè)ç^!!! thing. if i had used tables id have finished an age ago

the question: even though tables arent for layout, is it REALLY that bad to have one, even though the W3C dont like it and its not really good coding practice. will tabular layouts become a ting of the past or will they always exist?

jkd
07-14-2003, 05:46 PM
Yes, it is bad. HTML and XHTML are semantic languages, not presentational. You're abusing the markup if you aren't using tables for what they're meant for.

And CSS layouts are really quite simple. Very simple actually, once you know what you're doing. And much faster than table-based layouts.

Ben@WEBProp
07-14-2003, 05:49 PM
WHOOPS!
I wanted to push whatever corresponds to "tables are acceptable", but I think I misread the poll question...:o
So move one vote to whatever "yay for tables" is.

I'm not a pro or anything, and tables in % seem to work fine for me so far, although I do aim to lean css eventually...

-Ben

whackaxe
07-14-2003, 05:54 PM
IMO tables are simple and CSS has so many ways of having nearlly the same thing that you get lost :p

MotherNatrsSon
07-14-2003, 06:18 PM
If tables work, use them. I have been attempting CSS and it isn't quite as "simple" as some make it out to be. If i use a table I know it will be compatible with pretty much every browser and look the same in every browser and you can't say that for CSS yet. Maybe in the future IF standards are adopted by ALL browser makers it will be easier, but for now it seems like , from what I have seen, there are many "tricks/hacks" one needs to know to be able to get it to function well.

I am learning CSS and when I can "easily" get a style sheet to work in a majority of browsers so that my pages look the same or very close to the same, it will be tables or really simple HTML for me.

MNS

bradyj
07-14-2003, 06:23 PM
I have seen some of the profitability, usability, and all around ease of CSS for layouts and am growing fond of it's use. It's saved me time in updates and improvements, speed of coding -- it's made it easier for others to advance on my work.

However, I do have my quirks with CSS -- and, on great occassions, have cheated with a table or two -- either because of degradation, or because I spent hours trying to get something to work, which I just couldn't figure out across the browser boards, and that was just my fault.

So, I say Tables are wrong for their accesibility -- as well as, though certain things are easier to create with tables, there are many things easier about going back into that layout and changing it later without tables. It seems cleaner... And, with all my complaints, many people here have told me that all my *#&$#ing about 100% divs adding scrollbars, margins and paddings off -- will be fixed with the onset of CSS 3. Hopefully:)

ACJavascript
07-14-2003, 06:25 PM
I totaly agree with MNS.

Tables i think are the way to go no matter what.

The main reason is for browser compatibility.
But CSS has its place.

pardicity3
07-14-2003, 07:04 PM
Originally posted by MotherNatrsSon
Maybe in the future IF standards are adopted by ALL browser makers it will be easier, but for now it seems like , from what I have seen, there are many "tricks/hacks" one needs to know to be able to get it to function well.I can think of no current browser (by this I mean the latest version) in which I cannot get a CSS layout to work in. If you are waiting for the day when all browsers are fully compatible with CSS and other standards, then you are going to be waiting forever. We will always have the Netscape 4 and IE 4--heck even IE 5--that will never fully support lots of things. But that is the wonder of CSS, it doesn't needed to be supported. As long as the page is coded logically and semantically, without CSS it will still be readable and make sense.

One might argue, "But I want my page to look the same in every browser, images and all. I know there aren't a lot of people out there who use older browsers, but I still feel I need to cater to them. It's not their fault they don't have the technology to upgrade." As a counter to that, if you accept the fact that these people are using older browsers because they don't have the technology to upgrade, then using tables isn't helping them one bit. If these people do not have the technology to upgrade, they are probably still on 56k or worse modems. All those background images and other decoration images merely slow them down. I am sure they would be much more happy with a basic text and necessary images page anyday.

Also, I still stand by my thought that tables are the biggest hack ever, so complaining about CSS hacks is a moot point. I mean, you are using CSS hacks to cater towards older browsers anyway... so either way--tables or no tables--you are using a "hack" to achieve your desired layout.

jkd said it very well in his post, tables are just flat out wrong, and CSS is a simpler and faster way of achieving all layouts. Granted, people who are well versed in making table-based layouts (as I once was) will not find it easier at first. But with just a little bit of learning, CSS layouts become much easier. I am sure that anyone who use tables for layouts will admit to the fact that it took them a decent bit of time to master the art.

CSS is the way to go--as I have always said (well, always since I stoped making table-based layouts :))--and tables just don't cut it anymore.

MotherNatrsSon
07-14-2003, 07:35 PM
Originally posted by pardicity3
I can think of no current browser (by this I mean the latest version) in which I cannot get a CSS layout to work in. If you are waiting for the day when all browsers are fully compatible with CSS and other standards, then you are going to be waiting forever. We will always have the Netscape 4 and IE 4--heck even IE 5--that will never fully support lots of things. But that is the wonder of CSS, it doesn't needed to be supported. As long as the page is coded logically and semantically, without CSS it will still be readable and make sense.

One might argue, "But I want my page to look the same in every browser, images and all. I know there aren't a lot of people out there who use older browsers, but I still feel I need to cater to them. It's not their fault they don't have the technology to upgrade." As a counter to that, if you accept the fact that these people are using older browsers because they don't have the technology to upgrade, then using tables isn't helping them one bit. If these people do not have the technology to upgrade, they are probably still on 56k or worse modems. All those background images and other decoration images merely slow them down. I am sure they would be much more happy with a basic text and necessary images page anyday.

Also, I still stand by my thought that tables are the biggest hack ever, so complaining about CSS hacks is a moot point. I mean, you are using CSS hacks to cater towards older browsers anyway... so either way--tables or no tables--you are using a "hack" to achieve your desired layout.

jkd said it very well in his post, tables are just flat out wrong, and CSS is a simpler and faster way of achieving all layouts. Granted, people who are well versed in making table-based layouts (as I once was) will not find it easier at first. But with just a little bit of learning, CSS layouts become much easier. I am sure that anyone who use tables for layouts will admit to the fact that it took them a decent bit of time to master the art.

CSS is the way to go--as I have always said (well, always since I stoped making table-based layouts :))--and tables just don't cut it anymore.

If I wanted my web site to show up as black text on a white page I'd call it a letter and not a web site. Many of the "newer" sites done in CSS are basically that, text on a white background. Extremely visually unappealing and dull. Granted there are a few exceptions to this but again they are not widely supported.

Having an "alternative" business, a majority of the people that come to my site have been given a "hand-me-down" computer and would not be using one at all if they had not been given one or do not have nor want to spend the big bucks $$$$ to stay on the bleeding edge with hardware or software. I refuse to upgrade to Mac OS X because of all the problems I keep hearing about it. By staying with OS 9, I am now "cut-off" from any newer browser versions (Mozilla and Netscape already, with others to follow soon I am sure) because they are no longer making them for anything but OS X. This has been my arguement about accessiblity from the beginning. The web is "falling" into the hands of fewer and fewer people and that, imho, is not a good thing.

Using tables does help people using older browsers because without that "hack" if you will, and using "proper" coding techniques they get proverbially screwed out of a decent experience on the web. They use browsers, not text readers.

I realize as I learn more of the CSS that at some point it may become "easy" to me as it is to others here, but until then if what I can get to work and is supported more across the board by browsers is tables, I will use them. In the near future, I will keep a version of my site in tables for those with older browsers as long as my stats tell me people are still visiting my site using them even though I have a CSS/XHTML site up for newer browsers.

MNS

whackaxe
07-14-2003, 08:13 PM
im currently deveoping something that half liquid half images, and knowing where to use pixels, %s and wher to use position: asolute or relative is a nightmare. tables are easy to visualise, and CSS is just imposible to visualise. just getting two DIVs to stay on the same line has a few things you need to think of whereas with tables you just throw in another tag

Roy Sinclair
07-14-2003, 08:14 PM
Table base sites are a royal pain. Tables nested inside tables nested inside tables make even simple looking pages into hideously complex nightmares. You can't pretend there are all kinds of hacks needed for CSS and that tables come easily because the truth is that tables require hacks too. For example Netscape 4 often incorrectly inserts whitespace into table layouts if you have any spaces between the closing </td> and the next <td> or closing <tr> tag.

It isn't the need for hacks, it's just which set of hacks you're going to learn. Face facts, table based layouts are excessively complex, break the pages up in non-logical fashions and make it difficult to change the pages later. Using CSS allows you to completely redesign a web page without ever having to touch the web page itself.

CSS alone doesn't hack it though, you need to have proper semantic markup as well. You can use CSS and "valid" xHTML to make a page every bit as complex and difficult to change as you can with tables. However, using semantic markup and CSS does make your pages less likely to need to be completely rewritten just because someone thinks the pages need a "new look" to make them "fresh".

jkd
07-14-2003, 08:25 PM
Originally posted by MotherNatrsSon
If I wanted my web site to show up as black text on a white page I'd call it a letter and not a web site. Many of the "newer" sites done in CSS are basically that, text on a white background. Extremely visually unappealing and dull. Granted there are a few exceptions to this but again they are not widely supported.

Ever been here?
http://www.csszengarden.com/

Anyway, why must you all believe tables are the only way to achieve table-like layouts? Assume you cannot use floating or positioning, you still have:
display: table;
display: table-row;
display: table-cell;

etc. If you have your website organized in a way that semantically makes sense, you may able to exactly emulate a table with those property/value combinations (be careful though not to make your markup fit that description, but rather only use those if your markup fits by itself).

allida77
07-14-2003, 08:26 PM
They will always exist. I agree that complex table designs are just as hard as some css layouts. I prefer doing a css core layout and putting the data into its proper home(which at times will include tables). I have seen tutorials that show how to do some of the more advanced div layouts so sometimes it is a matter of learning. Tables inside of tables inside of tables inside of tables are not fun. Turning on border=1 for each one sucks when trying to debug.BUT I definatley feel your pain and more often then not I will go with a table after I have broken my hand from punching the screen. For bandwidth and development sake I would think nested tables will slowly go away but a single table for a form, ect will always be around.

bradyj
07-14-2003, 08:36 PM
Originally posted by allida77
...will slowly go away but a single table for a form, ect will always be around.

But forms are often a part of data, are they not? That makes them ok to use with tables as they are tabular data, or am I wrong about this?

I have not used tables for forms in the past anyhow, my old example I did:
http://belairedisplays.com/main/login.html

It was much easier for me to control the simple form without tables. Even advanced ones would give me simple control, and minimal code, tableless.

Spookster
07-14-2003, 08:50 PM
Originally posted by Ben@WEBProp
WHOOPS!
I wanted to push whatever corresponds to "tables are acceptable", but I think I misread the poll question...:o
So move one vote to whatever "yay for tables" is.

-Ben

Same here. That poll was misleading. Your thread subject asked if table layouts are really that bad which is what I thought was the question for the poll but then you switched the question around and asked "are table layouts acceptable?".

Those poll results are not accurate due to that.

Purposely confusing us with the intention of skewing the poll votes in your favor is punishable by having your wee wee zapped with a mod gun. :D

whackaxe
07-14-2003, 08:52 PM
before you zap my family jewls notice i havent voted :D i want to know what people think to make a decision (whihc i have kinodf made and posted in the html/css forum)

oracleguy
07-14-2003, 08:59 PM
I edited the poll to match the thread title and swaped the votes around.

And Ben@WEBProp, I fixed your vote too. :thumbsup:

pardicity3
07-14-2003, 09:10 PM
Originally posted by jkd
Ever been here?
http://www.csszengarden.com/Not to mention http://www.superfluousbanter.org/ , http://www.zeldman.com/ , http://www.waferbaby.com/ , http://www.alistapart.com/ , http://www.wired.com/ , http://www.stopdesign.com/ , http://laurengrant.com/ (despite the use of a pop-up :)).

I don't like the arguement of, "CSS designs are too plain." That doesn't really have anything to do with CSS layouts. I have seen some pretty plain table-based layouts too... doesn't mean they are all plain.

bradyj
07-14-2003, 09:45 PM
Originally posted by pardicity3
I don't like the arguement of, "CSS designs are too plain." That doesn't really have anything to do with CSS layouts. I have seen some pretty plain table-based layouts too... doesn't mean they are all plain.

From a design perspective, I don't think they look plain at all!! I think they look very well thought out, organized, and clean -- they feel kinda' mellow and cool. I would take these designs over some of the more complex table work I've seen before. Much less, I don't think the 'plain' look has anything to do with the CSS -- It's the design. And much more complex layouts could be accomplished with still CSS that would look less 'plain'.

Clean and good design, should not be confused as plain.:D

MotherNatrsSon
07-14-2003, 10:08 PM
Originally posted by jkd
Ever been here?
http://www.csszengarden.com/

Anyway, why must you all believe tables are the only way to achieve table-like layouts? Assume you cannot use floating or positioning, you still have:
display: table;
display: table-row;
display: table-cell;

etc. If you have your website organized in a way that semantically makes sense, you may able to exactly emulate a table with those property/value combinations (be careful though not to make your markup fit that description, but rather only use those if your markup fits by itself).

Yup. Been there and it is one of those rare "exceptions" I mentioned.

MNS

Skyzyx
07-15-2003, 01:23 AM
Originally posted by MotherNatrsSon
a majority of the people that come to my site have been given a "hand-me-down" computer and would not be using one at all if they had not been given one or do not have nor want to spend the big bucks $$$$ to stay on the bleeding edge with hardware or software.

Netscape 7 only requires, like, a 300-400 MHz processor and about 64 MB ram (for Windows, anyways). That is not "bleeding edge" by far...

Originally posted by MotherNatrsSon
I refuse to upgrade to Mac OS X because of all the problems I keep hearing about it. By staying with OS 9, I am now "cut-off" from any newer browser versions (Mozilla and Netscape already, with others to follow soon I am sure) because they are no longer making them for anything but OS X.

The whole reason Mac OS X was developed was because of the fundamental flaws in the Classic Mac OS codebase. That was why Apple started developing Copland (intended as Mac OS 8, never released), why they looked at better OS's like BeOS and NeXT OS (they eventually bought NeXT), and eventually released a better OS with a better codebase that was capable of much more than Mac OS 9 (and earlier) was. Have you heard anything about 10.2 or newer? Yes 10.0 was released before it weas ready. 10.1 was better. 10.2 is awesome!

Originally posted by MotherNatrsSon
This has been my arguement about accessiblity from the beginning.

I don't seem to understand your definition of accessibility. Do you mean that a Macintosh SE/30 should be able to run OSX? If it can't is Apple not being accessible?

Originally posted by MotherNatrsSon
The web is "falling" into the hands of fewer and fewer people and that, imho, is not a good thing.

No, the web is moving and transforming into something better than it once was. And by "fewer and fewer" you must mean "more and more" because not only are more and more people learning about web standards, but people who used to block out anyone that didn't have IE 5.5 for Windows or newer are now able to open their sites up to everybody therefore making their sites more accessible.

Originally posted by MotherNatrsSon
Using tables does help people using older browsers because without that "hack" if you will, and using "proper" coding techniques they get proverbially screwed out of a decent experience on the web. They use browsers, not text readers.

They don't have to get screwed out of a decent experience on the web. The browsers they are choosing to use (Netscape 4.x, IE 4.x, etc.) could be swapped out for newer browsers that are capable of much more. Using Netscape 4.x is screwing them out of a decent experience on the web. They can't expect to have all the bells and whistles with an ancient browser, just like you can't expect an 85 year old man to run a 6 minute mile. A high schooler / college student maybe, but not an 85 year old man. Are standards advocates responsible for the 85 year old man not being able to run a 6 minute mile? Is that our fault? And is it the fault of the Track? Or the stop watch?

Using tables reduces accessibility to people with older browsers, and it reduces flexibility for web designers.

It's time to move on.

MotherNatrsSon
07-15-2003, 04:55 AM
Originally posted by oracleguy
I edited the poll to match the thread title and swaped the votes around.

And Ben@WEBProp, I fixed your vote too. :thumbsup:

Let's just say the poll is now useless. I read the question and voted on the question not the thread title so now my vote is on the "wrong" side......LOL

I don't seem to understand your definition of accessibility. Do you mean that a Macintosh SE/30 should be able to run OSX? If it can't is Apple not being accessible?


No, I meant only the "few" that are capable of keeping up with the hardware/software upgrades are going to be the only ones with access soon. Maybe they should change the name from "World Wide Web" to something with a little more exclusionary ring to it like "Corporate World Web" I know people here in ohio that are on "dinosaurs" for computers because it is what they have and soon they will not be able to access anything on the web. As a matter of fact the old 7100/80 that I gave to my friend is still in use and its specs do not "make " the cut. It has OS 8 on it and the person I gave it to couldn't really upgrade to OS 9 if thier life depended on it.

I do understand this is an attempt to "clean-up" what a few greedy corporations have turned into a mess and I am part of the "us" in this mess because I have time, effort and energy invested in my business and site as well.

MNS

cg9com
07-15-2003, 10:50 AM
tabular layout: is it really that bad?
Yes. :D

bcarl314
07-15-2003, 02:40 PM
Just my 2 cents on the subject.

I view CSS today as I viewed Javascript about 4 years ago. Sure it was nice to use, but there were so many cross-browser issues and special implementations in both Netscape and IE that it almost required you to code everything twice, once for IE and once for Netscape.

Today, javascript is much better as far as cross-browser support than what it used to be. I think CSS is still in adolescence. In a few more years, as browsers begin to develop some common implmentations, CSS will take over for the primary and preferred layout method, but I would still anticipate some legacy websites to use tables to format content for at least another 5 years.

CSS is the future, but for the moment both tables and CSS are acceptable layout practices.

I would definetly suggest using CSS for layout though, simply because it is the way things are going.

bradyj
07-15-2003, 05:54 PM
Originally posted by Skyzyx
The whole reason Mac OS X was developed was because of the fundamental flaws in the Classic Mac OS codebase. That was why Apple started developing Copland (intended as Mac OS 8, never released), why they looked at better OS's like BeOS and NeXT OS (they eventually bought NeXT), and eventually released a better OS with a better codebase that was capable of much more than Mac OS 9 (and earlier) was. Have you heard anything about 10.2 or newer? Yes 10.0 was released before it weas ready. 10.1 was better. 10.2 is awesome!

Skyzyx, have you used OS X for production and design before? There are some major flaws in the programming, a reason why 99% of design firms still have yet to fully 'switch' to OS X. The majority of it's problems are still 1) Security flaws and 2) Printing. OS 10.3 has said it will fix it's security issues, but not it's print issues and, for those of us in a world of both print and web, we cannot do that. For advanced output, OS X will not remember your exact document print settings, and for companies that push out hundreds of ScreenPrint, Digital, and Luscher jobs a day, that is a disaster. Especially when it forgets your color management profiles, screen dpi/lpi settings, postscript sizing. From my discussion with MotherNatrSon, I believe she does know quite a bit of OS X - so I wouldn't slam her for it.

Mr J
07-15-2003, 08:32 PM
One of the things we all have to remember is that we are experiencing the beginning of new creations.
There is always going to be problems of one nature or another irrespective of which browser you use or which code you adopt.

Which is why there is no 100% way to correctly code a webpage, while for every handful of compatible code you have to use 2 helpings of work arounds and fixes these problem will persist, in time even the standards will be revised and changed.

It is a case of what will work best for what you want to do with what is available now.

Sure people will say "you shouldn't do this" and "you shouldn't do that" but why not, if it works and does not cause any problems elsewhere.

Look on the bright side, in about 5 to 10 years time the problems we have and discuss today will not exist











:D

brothercake
07-15-2003, 08:41 PM
Originally posted by Mr J
Sure people will say "you shouldn't do this" and "you shouldn't do that" but why not, if it works and does not cause any problems elsewhere.
Thing is .. most of the things you "shouldn't do" you shouldn't do because they cause problems somwhere else; writing visual HTML is always problematic because not all user agents are visual; if your code is tailored to a specific modality then other modalities suffer.

That's why semantic coding is better; in the true sense of the word better (higher quality, rather than aesthetically preferable), because it doesn't imply appearance or modality, it simply describes the data, and that's something every user agent can understand :thumbsup:

Mr J
07-15-2003, 10:00 PM
And so the debate continues ...... and will do so for a long, long time yet.

:thumbsup:

brothercake
07-15-2003, 10:13 PM
Originally posted by Mr J
And so the debate continues ...... and will do so for a long, long time yet.

:thumbsup:
Not if I can help it ;)

oracleguy
07-15-2003, 10:36 PM
Originally posted by MotherNatrsSon
No, I meant only the "few" that are capable of keeping up with the hardware/software upgrades are going to be the only ones with access soon.

few? I mean granted there are a good deal of people with computers older than 2 years but, any computer built within the last 4 or 5 years can run Mozilla 1.4 or IE6 just fine.

whackaxe
07-15-2003, 10:55 PM
my comp is 5 years old and pretty much run down. i can run IE 6 fine, but mozzila is just a ressource muncher. i much prefer mozz but it slwos down my comp lots and tends to make it crash after a while