Forum Moderators: not2easy
Anyways, I'm trying to determine if I should just re-create everything with tables or continue to work with their css - or re-create it with my own css. I just wanted to see if anyone could provide a real good reason for using css-div layouts rather than tables. Or - more specifically - css div's ONLY vs a hybrid site. I'm by no means against using css - I use it all the time WITH tables to provide the skeleton. I see CSS as an add-on to html, not a replacement for it.
Before they are brought up I want to address several of the most common arguments I've seen. First off - speed! There is no REAL speed benefit of using css over tables. The difference is in the milliseconds - not something I need to worry about.
Second off - bandwidth cost! While css might be cheaper with a host that you pay so much for every x amount of MBs transfered - all of the hosts that I've used give you x amount of transfer each month. I've never seen any of my websites approach this limit and so it is not a real concern.
Thirdly - maintainability! I personally find it much harder to change the design of a css layout - especially a large one - over a table/hybrid layout. This is especially true when I take over someone ELSES css code. It takes a long time to familiarize yourself with how they coded the site! You constantly have to switch between the css file and the source file to see what the heck is going on!
Fourth - division between the design and the content! This is a non-issue for me. By using php, jsp, or some other server-side language I can separate the design from the layout and use the server code to piece together the pages for me. I can do website wide redesigns without ever touching the files with the content, and I can do them in a split second!
Fifth - its the standard! CSS is not a true standard. If it were - you wouldn't have to hack or make multiple files to support all of the main browsers. Tables have css plain beat on this point - everyone supports tables and they render the same. Also, I've never been particularly interested with keeping a web standard - I'm interested in what works! It's a nice idea but its not there yet.
Sixth - tables are archaic! Many people like to treat tables like they are some ancient technology that has been replaced by something that is all around better. This is a lie! Tables maybe old but thats what makes them so useful! EVERYONE supports them. That's a true standard right there. And when combined with CSS they can create designs which tables alone can't create and designs that CSS-div only designs can't create - or at least designs that would take far to long to do with CSS only.
Seventh - tables were made for tabular data! So what? Many things start out with a single idea in mind, but they are adapted for other - potentially better - uses. This is a stupid self-righteous argument that has no real backing.
Eighth - philosophical/ethical issues! These range from making your site the "right way" because its "professional" to making your site more accessible to blind ppl. These too are silly self-righteous arguments that have no real backing.
I think that covers just about all of the common arguments I've heard. So, if you have any real reason to use CSS over tables/hybrids please share!
If you check the CSS Library (Forum archives) you will find a lot of discussion on this very subject. It is a hot button issue for most people. Me, I use the KISS philosophy when it comes to design, but have adapted most of my designs to pure css. However, keeping KISS in mind, I have no designs that require hacks and 99.9% of the time, they work in all browsers without problems. But hey, if I find a table suits my needs, fine by me.
I believe you will find the main argument for css is code versus content. Of course, even that is subjective as you may require multiple lines of css to achieve the effect you want across several browsers, not to mention hacks and IE conditional comments.
In the end, it's all relative. With most web users having high speed connections, table vs. css for speed is a non issue. IMHO, the strongest argument for tables is cross browser compatibility as you pointed out. There is, however, one advantage to divisions, ,floats and css: how it degrades (renders) when the styles are removed or when an alternate style sheet is used to adjust to portable devices. Beyond that, (and I know I am going to regret writing this) I see no big advantage. Just an opinion, not an intention to put down css in any way, shape or form.
Marshall
I often see site designs with complex (for me anyway) CSS being used to create a table layout. Those who do this are often quite proud of their work. Perhaps they should be but isn't it wiser to just use a table? Why reinvent the wheel?
IANAE ;)
Remember that the largest blind user of all is ... Googlebot.
This is the one valid argument I've heard. But I've never worried about bots too much myself :/ - I probably should but I don't. However, I do stick id tags in my table elements (and in the divs/spans i stick in them) so if that helps I got that covered.
However, any benefit you get as far as the bots goes is - in my mind - canceled out by the fact that it takes so much more effort to build and maintain a website with pure css (unless its a super simple design which is common with pure css). This is especially true when taking over someone elses code like I am about to do. It would be faster for me to redesign the whole sight with tables and jsp than too learn their code and fix the existing problems.
So the bots issue is a plus to css - it just doesn't outweigh the other more important issues.
And also remember, karma is real.
If you wanna say God keeps tally and the result of karma is dished out not in this life but the next - I could buy that. But, its really taking the concept out of context.
Also, I absolutely despise the idea of nirvana >.< Many people don't realize what it entails. In order to reach nirvana one must empty themselves of karma. Karma is simply an action with intentional moral implications. So then, to get rid of karma you must let the existing karma run its course and - the part that really gets me - you must cease from creating karma! That means not intentionally doing anything GOOD or bad! Personally, I find that an evil concept :/
any benefit you get as far as the bots goes is - in my mind - canceled out by the fact that it takes so much more effort
With respect, the financial benefits of pleasing Googlebot better than the other guy does can be HUGE.
I'm getting the impression that you are not familiar with the marketing side of your business.
csuguy, welcome to WebmasterWorld.
If you check the CSS Library (Forum archives) you will find a lot of discussion on this very subject. It is a hot button issue for most people.
I have been reading 'em. But its no fun to just read about a debate - I love to debate :D.
Me, I use the KISS philosophy when it comes to design, but have adapted most of my designs to pure css. However, keeping KISS in mind, I have no designs that require hacks and 99.9% of the time, they work in all browsers without problems. But hey, if I find a table suits my needs, fine by me.
I agree with KISS. But I also find that many css only ones are too simple :/. Often they ignore the 800x600 rule as well. I suppose most people have larger screens now adays - but I always stick with it, or at least the 800 part. But I do agree with what your saying - each should be used as appropriate and you shouldn't go out of your way to use one or the other!
I believe you will find the main argument for css is code versus content. Of course, even that is subjective as you may require multiple lines of css to achieve the effect you want across several browsers, not to mention hacks and IE conditional comments.
I separate my code from my content already - and that's while using tables! I separate the html code into 3 files - header, content, and footer. I stick the header and footer in a folder called includes and I stick all my content into separate files in a folder called pages. I then use php or jsp to grab the header file, grab the appropriate content file, and grab the header file. Stick 'em all together and I got my page! I usually keep my links and stuff like that in the header/footer file, but it wouldn't be much more work to separate them like I did the content.
There is, however, one advantage to divisions, ,floats and css: how it degrades (renders) when the styles are removed or when an alternate style sheet is used to adjust to portable devices. Beyond that, (and I know I am going to regret writing this) I see no big advantage. Just an opinion, not an intention to put down css in any way, shape or form.
The ability to adjust for portable devices is a big plus. I've never written anything for portable devices though so I'm not overly familiar with them. However I do plan on taking a class in the next year to teach me how to make applications in java for cells and what not :D. But from what I read - can't you just forward portable users to a separate site, like mobile.domain.com? In which case there's no issue for using tables on your main site.
So CSS has two main pluses: Google and Portable devices. Tables have: Cross-Browser Compatibility and Easy Development and Maintenance. Hybrids: EVERYTHING! :D
Obviously CSS should be used for overall layout and formatting but I do not understand why people go to all the trouble of using CSS to create tabular data layouts when we already have tables to do this.I often see site designs with complex (for me anyway) CSS being used to create a table layout. Those who do this are often quite proud of their work. Perhaps they should be but isn't it wiser to just use a table? Why reinvent the wheel?
IANAE ;)
I never bought the using tables ONLY for tabular data idea. And I definitely dont't get using CSS to display tabular data :/. I agree 100% - why re-invent the wheel.
Secondly, CSS is not in any way shape or form a replacement for HTML... what you had said at one point in your post made no sense.
Tables instead of divs are not nearly as style (CSS) friendly as divs are. You may not be comfortable with divs, but that's just because you're probably not used to them compared to tables.
Many of the so called advantages you mentioned aren't good reasons, like you mentioned. You however don't seem to be seeing the big picture though. Floated/positioned divs offer much less image slicing, as well as less images without content significance (spacer images). It also far superior flexibility in positioning and size, just because you can't deal with them, doesn't make it untrue.
Many hosts do provide high limits, or unlimited bandwidth... does that mean you should abuse it? realize that the more bandwidth you use up, the more loaded the servers become, and the slower they behave, regardless of the imposed limit. If you're using your own dedicated servers, you will realize why one would want to save bandwidth.
Also realize that clients have to download this stuff too, and they may have slow internet, causing longer download times. Source code download time is not too relevant most of the time, but what's in the source code still matters. You can have a 5kb html file that takes 20 seconds to load, because it's full of hundreds of nested tables, or flash objects. They don't take up much space in the source code, but any time a table or img or flash file is called, it takes much more time to render than just an invisible (or with a border or background img or something) div container.
When it comes to server side includes, divs are easier to work with, because you don't have to remember about how all the cells and table tags are nested. Since tables are generally only used in squares, it's far more complicated doing nesting/templating with includes, than with divs, which can create any sort of horizontal or vertical rectangle.
Even is there were not real advantages to using floated divs (or the new inline-block) over tables, it doesn't mean it's automatically advantageous to use tables... I can only think of one advantage to use a table structure over a div structure, and there's never been a reason I've seen to use it, aside from pointless visual appearance (vertical alignment)
Here is a link that's commonly used to mention some advantages of modern html coding over tables: [hotdesign.com...]
First of all, it's not CSS versus tables... you have the idea totally wrong. It's floated divs (or the new inline-block) versus tables.
While I said tables vs css I did specifically say css-divs at various points. I know exactly what it is I just assume that you know what I'm referring to.
Secondly, CSS is not in any way shape or form a replacement for HTML... what you had said at one point in your post made no sense.
CSS is largely used as a replacement for html. Most CSS only sites that I've seen have a link to a style sheet and the rest of the html file is just a list of div tags. All of the code that defines the style is in a separate CSS file - effectively making it a replacement for html. Not that there's anything necessarily wrong with that - but I see CSS as an add-on. I use HTML to define a skeleton and CSS to go in and do what the html cannot - or to do the things that are a bit to tedious to do in html.
Tables instead of divs are not nearly as style (CSS) friendly as divs are. You may not be comfortable with divs, but that's just because you're probably not used to them compared to tables.
Many of the so called advantages you mentioned aren't good reasons, like you mentioned. You however don't seem to be seeing the big picture though. Floated/positioned divs offer much less image slicing, as well as less images without content significance (spacer images). It also far superior flexibility in positioning and size, just because you can't deal with them, doesn't make it untrue.
Many hosts do provide high limits, or unlimited bandwidth... does that mean you should abuse it? realize that the more bandwidth you use up, the more loaded the servers become, and the slower they behave, regardless of the imposed limit. If you're using your own dedicated servers, you will realize why one would want to save bandwidth.
I'm sorry - but cross-browser compatibility and ease of development & maintenance are very good reasons to use tables. Also, you seem to not understand my position or how I program. I use divs and spans right along side tables. I make hybrid sites. I get the best of both worlds - the compatibility, the ease of development & maintenance, AND the complete control offered by css. I'm not sure if I'm allowed to post links or I'd post a page to demonstrate what I'm talking about.
And yes - if I pay for bandwidth I should be able to use as much as I want. It's seems silly to conserve it if you don't have to. Also - the difference in size is hardly something to be concerned with - the vast majority of the internet uses tables and unless someone is running off of dial-up they aren't going to notice the difference. If I were running on a dedicated server - I might consider the size an issue. But then again - you have to weigh that against the cost of your web development team. It takes much longer to make changes in a large css based site over a table based site. Not to mention you have to edit not one - but multiple files with css. You have to go in and use a whole bunch of hacks to get it to work... in the end its as much if not more.
Also realize that clients have to download this stuff too, and they may have slow internet, causing longer download times. Source code download time is not too relevant most of the time, but what's in the source code still matters. You can have a 5kb html file that takes 20 seconds to load, because it's full of hundreds of nested tables, or flash objects. They don't take up much space in the source code, but any time a table or img or flash file is called, it takes much more time to render than just an invisible (or with a border or background img or something) div container.
I don't use flash myself - takes too long to load :/. As for the tables situation - why would you have hundreds of nested tables in the first place? Can you provide a realistic example? If you think of large complex hypothetical examples - yes css maybe better. But they are unrealistic and thus hold no value to the argument. Also - you can use divs WITH tables for areas where divs are better suited.
When it comes to server side includes, divs are easier to work with, because you don't have to remember about how all the cells and table tags are nested. Since tables are generally only used in squares, it's far more complicated doing nesting/templating with includes, than with divs, which can create any sort of horizontal or vertical rectangle.
Even is there were not real advantages to using floated divs (or the new inline-block) over tables, it doesn't mean it's automatically advantageous to use tables... I can only think of one advantage to use a table structure over a div structure, and there's never been a reason I've seen to use it, aside from pointless visual appearance (vertical alignment)
Tables allow you to have an unspecified height for a td. The td will stretch vertically and automatically move all of the elements beneath downards. It's possible to pull this off with css in combination with javascript - but its too much work to make it cross-compatible and it makes it harder to change the design later. That is why most css-div based sites dont have anything vertically underneath any area where the content size is unknown. They are typically very simple designs - which is funny because css is supposed to allow for more complex designs. But because people needlessly limit their use of html, the designs suffer. Its a real shame. And to say the visual appearance is pointless is stupid - as the end product of web design IS a visual display of information.
I'll take a look at the site and get back to you on that
Ryan
So CSS has two main pluses: Google and Portable devices. Tables have: Cross-Browser Compatibility and Easy Development and Maintenance. Hybrids: EVERYTHING! :D
From a non-proficient standpoint, perhaps.
I can comfortably say that, for me, these are the following advantages of CSS:
- More user friendly
- More bot friendly
- Better for portable devices or devices with unusual user agents
- Easier access by people who have various disabilities or rely on non-mouse and non-keyboard accessories
- More flexible layout (especially come time to redesign)
- Faster rendering of pages
- Cross-browser compatibility
- Easier development
- Much easier maintenance
The more design you do, the more these benefits are multiplied.
CSS is largely used as a replacement for html.
Either you're being sloppy with terminology or you are seriously misunderstanding something here.
It takes much longer to make changes in a large css based site over a table based site. Not to mention you have to edit not one - but multiple files with css.
Not if the site and the CSS are designed by someone who knows what they're doing.
From a non-proficient standpoint, perhaps.I can comfortably say that, for me, these are the following advantages of CSS:
- More user friendly
- More bot friendly
- Better for portable devices or devices with unusual user agents
- Easier access by people who have various disabilities or rely on non-mouse and non-keyboard accessories
- More flexible layout (especially come time to redesign)
- Faster rendering of pages
- Cross-browser compatibility
- Easier development
- Much easier maintenanceThe more design you do, the more these benefits are multiplied.
I'd give most of those to table design myself :D Especially when taking over someone elses code. It is better when it comes to accesibility as far as portable devices go and for bots and for those with disabilities. But I've never made a website specifically for portable devices or those with disabilities - if I did I would use css. CSS isn't more user friendly - as the users are the people visiting the site and they don't care what you use to program the site as long as it doesn't take too long to load, looks decent, and is easy to navigate. That can be done with tables or css-divs.
The layouts done with tables can be equally flexible if use hybrids, which are easier to design and easier to maintain. It's much easier to see whats going on in a table based design than a css one because you have to keep looking back between the css and the html code.
CSS has slightly faster rendering - but nothing significant. It takes longer to load initially too - and the first page is the most important when it comes to load time.
Either you're being sloppy with terminology or you are seriously misunderstanding something here.Read the entire post - should clear up any confusion on what i meant. Unless your looking at the first post - in which case look at my reply to Xapti, I made it much clearer.
Not if the site and the CSS are designed by someone who knows what they're doing.
Even if everything has clear understandable id's and the code is nice and clean - it takes longer to familiarize yourself with css code than table based code. Providing you are good with html at any rate. This is largely because you have to keep looking between the files. Then you have to know when they are using hacks (which they should comment) and you have to look out for when they override previous statements... it takes much longer.
I'm sorry - but cross-browser compatibility and ease of development & maintenance are very good reasons to use tables.
Especially the part about ease of maintenance; and particularly so if another party will be doing the maintenance, who may be only at the beginning of the learning curve, and have no desire to take time off from their life and their business to do delve studiously into the fine points of CSS.
An important part of the intended audience of a site is whoever will be maintaining it, and anyone who's ever had to tangle with trying to decipher a tangled, complicated mess can fully appreciate KISS.
[edited by: Marcia at 12:47 am (utc) on July 27, 2008]
CSS has slightly faster rendering - but nothing significant. It takes longer to load initially too
Again, not if things are done right. With a table, many browsers will not generate the contents of a table until the closing
</table> tag has been encountered. With CSS, the page can begin loading and being rendered as it is received by the browser. [Tables are] better when it comes to accesibility as far as portable devices go and for bots and for those with disabilities.
Hardly. Tell me how a table based site is better than one using CSS ... when CSS can be used to hide content not needed by visual user agents, but needed for aural user agents. Tables can't do that. Also, tell me how tables can be used to automatically hide content needed until moused over or clicked. CSS can do that. Tables can't.
A CSS driven site is easier to take over, from a perspective of structural understanding. Yeah, the style sheet may not be organized the way you would like, but at least you can get a better and more solid understanding of the markup. With CSS, there is much less roaming around in presentational markup territory. What you see is truly what you get, in the sense that all the tags and elements actually do something, other than being filler.
Also, tell me how spacer gifs and such can possibly be better than CSS margins and paddings. Multiple trips to the server. Messy code. Whereas CSS handles that with a single line containing a few bytes of code at the most.
I'm sorry - but cross-browser compatibility and ease of development & maintenance are very good reasons to use tables.Amen!
Especially the part about ease of maintenance;
Again, it comes down to proficiency. An MS Word document is even easier from a maintenance perspective if we are talking people being at the beginning of a learning curve. So, why don't we all start creating our web pages in MS Word, and then export to HTML? ;)
This is an endless and pointless argument. The technology you know is obviously always superior to one you don't know. I prefer PHP over Python -- because I know PHP. But, I know those who say that Python is superior. If I knew it, I might possibly agree.
I used to think that HTML and tables were superior to CSS. I also used to think that CSS was complex and difficult to manage. Now that I know CSS, I think the opposite.
But, if you are not proficient with CSS, there is obviously no reason to switch. Just trust the rest of us who know both, and who swear by CSS as being superior. We actually happen to know what we are talking about.
Not that it matters, 'cause you shouldn't be using it anyway, as you are too early on the learning curve to reap all the benefits. But there is no point in arguing or trying to prove a point without having full understanding of both sides.
That's like me arguing whether English or French is easier to learn, or better when it comes to expressing oneself in writing. I know one, barely the other. Now, if I were to compare English and Swedish instead, I might be taken more seriously, since I know both languages equally well.
If your site renders fine and works equally well regardless of user agent or disabilities or whatever -- who cares if you're using CSS or tables?! It's a moot point. Just don't try to argue that tables are always better, when it has been proven they are not (from a technical standpoint). You can still argue that tables are easier to maintain ... 'cause they are! -- to you! But CSS driven sites (when done right) are arguably both leaner and faster than their table counterparts, 99% of the time.
Again -- use what you are most comfortable with, and let this dog die. Arguing whether one is better than the other is a discussion left for when everyone is equally experienced with both. Until then, it's just a matter of preference and proficiency.
Recently I've been reading a lot on the web about the table vs css debate. Mainly because I'm going to start working for a company that currently uses CSS to control all of its designs without tables. If they had had decent css coders it might not even be a question, but currently the pages are un-uniform, different pages have different design issues, and they stuck a LOT of css right into the html files so that it takes LONGER than a tables design would take.
Point proven.
They are using CSS because they think it's some kind of magic solution. It's not. If you don't know CSS you are creating more problems than you're solving.
From your short description -- they don't know CSS and should not be using it other than, perhaps, as an enhancement.
I think you're missing the point made altogether in that response, it's not MY (or anyone else's) proficiency that's being referred to.
What I'm referring to is that if you're doing a site that a CLIENT has to maintain on their own - if they don't even know what CSS means except that they think maybe it has something or other to do with styles, and they use Front Page and don't even know any HTML, for example, it's *mandatory* to do a site for them that's maintainable at THEIR level.
>>Not that it matters, 'cause you shouldn't be using it anyway, as you are too early on the learning curve to reap all the benefits
Gotta be more careful there with the "you" usage.
It so happens that there are clients who don't want to be anyplace on a learning curve ever, they're too busy running their business. They just want to open their FP program and add a product here and there without calling for help every time.
What I or anyone else is capable of putting together and using on a site has nothing whatsoever to do with whether or not it's appropriate for a particular client site. It's THEIR needs that need to be met.
[edited by: Marcia at 2:57 pm (utc) on July 27, 2008]
One has to remember, however, that certain things are not 100% maintainable at every level. There are certain tricks that require use of CSS. In these cases, whoever maintains the site afterwards should simply be advised not to "mess" with things.
In either case -- my comments were merely generalized to begin with. I was not at all concerned with the possible knowledge or experience of anyone but the initial designer. A whole new list of concerns and problems would arise under such circumstances. Each circumstance would be different. The needs and concerns cannot be generalized in those cases. Hence, read my comments from a pure technical and concerned-with-the-creator-only point of view.
* Clarification: by "you" I mean a single individual. This individual can truly be anyone. If the description and subsequent words fit the reader, then the reader is implied. If not, the description and subsequent words are not intended to target the reader or anyone else, but are merely circumstantial and coincidental in any reflection they may have on an actual individual, implied or otherwise.
[edited by: DrDoc at 8:44 pm (utc) on July 28, 2008]
@csuguyI am a newbie to HTML/CSS and I HATE tables. It requires so much unnecessary code, and its worse for the [Google} bot. Aren't you here to make money?
I speak from experience when I say that tables are the single hardest HTML element to learn and use properly. Unlike other elements, a table can be modeled many different ways - and because of this there are many variables in play. However, none of the code is unnecessary - so long as you know what you are doing. Used separately or with css - it can offer layouts which are impossible in css. Or, at least, layouts which would require far to much coding, cross-browser hacks, and most likely javascript for it to be reasonable to use css for. Basically any design that has elements underneath an element or two with dynamic content and an undefined height. Hybrids are the way to go.
However, once you familiarize yourself with tables - which you should do regardless of whether or not you use them for page layout or simply to display tabular data - they make it very easy to see what's going on in the code and how it's structured. This is especially true when you add in html comments (<!-- comment -->) and specify the different id's of important tr's and td's.
And you're a new programmer so you probably haven't experienced this - but taking over a website who's design is done in css-div's only (unless its a very simple design) is a PAIN. Tables are much easier to decipher and take over - especially with proper comments and id's.
CSS-div only designs do have a slight advantage for Google. By separating out most of the html - your left with just content for the spider to look through and process. There a couple of other advantages - like hiding a text area full of key words and phrases for bots to look at - but they don't disrupt the page content or design at all. Of course - that can be done whether you use tables or not. But this isn't a true concern to me. Well over 90% of the web is designed using tables! And Google manages to index them just fine - they put a lot of time and money developing bots, and they developed them too index sites WITH tables. Also - use META tags if you wanna improve your indexing.
As for making-money - my job as a designer is to make the site visually pleasing. To do this I cannot and should not limit myself to many of the simple designs you see on the web that claim to be css-div only sites. Hybrids offer the most control and flexibility when it comes to design - and done right they are cross-compatible.
As a programmer - I shouldn't have to spend my time making everything cross-compatibile. The client usually doesn't care what it's written in - they just want it done asap! And user's don't notice - the load time is virtually the same. In fact - tables are faster to load and render on when it comes to the most important one of all - the first page.
Also - I consider writing the same thing again and again in different ways just to make it cross-compatible to be true unnecessary code. Not to mention that for older computers - the css won't work properly anyways. Only tables work on all browsers, all versions, all the time!
Plus the code is just so ugly.
Well I think that about covers it... Repeated myself enough... Good to go, lol.
Ryan
I agree that it is the single hardest HTML element to learn. I can't reverse engineer anything that uses tables.
I plan on using lots of tabular data, so I'll use tables for those things, but I'd really like my layout to be as lean as possible. I want to be as spiderable and relevant as possible, and tables make it hard for somebody with a skill-set such as mine to "tweak".
However, as you become more experienced - I highly suggest getting used to using tables. They will allow you to create more complex layouts and will simplify the process for creating even simple layouts. It's just a matter of getting used to the syntax.
Recently I've been reading a lot on the web about the table vs css debate. Mainly because I'm going to start working for a company that currently uses CSS to control all of its designs without tables. If they had had decent css coders it might not even be a question, but currently the pages are un-uniform, different pages have different design issues, and they stuck a LOT of css right into the html files so that it takes LONGER than a tables design would take.
I currently do some work (not the design) for a site that started out with a stylesheet of 4KB - I've checked the Internet Archive. Since a new designer took it over about 15 months ago, it grew to first 16KB as of last Fall, and has now grown to 24KB. It's close to 30 pages long printed out.
If there's a style that's unique to one single page, it's added to the linked stylesheet and those styles all get loaded for each and every one of the 2K+ pages of the site - including the homepage and every page in the shopping cart.
When styles (like for navigation) were (or are) replaced with new CSS, the old was/is left in the stylesheet even though no longer used, with the new tacked onto the end. It's all with no documentation to say where or how table5 or style17 might be found - if there still is such a thing being used, or what anything is for that matter.
If that was a pure CSS positioned site, it would have been down long ago and the site lost to the site owner. As it is, it's tables based (unnecessarily 7 deep in places, but that's another story) with includes used for top, side and bottom so at least Fireworks/DW generated HTML is somewhat findable in tangible sections if you print out the HTML code and highlight the dozens of class= and div= in each one.
This is what I see as the dilemma that's causing a concern:
Anyways, I'm trying to determine if I should just re-create everything with tables or continue to work with their css - or re-create it with my own css. I just wanted to see if anyone could provide a real good reason for using css-div layouts rather than tables.
That's a very plausible cause for concern. If there are different people who maintain and work on the site, how much of a chance is there to get them to conform to style guidelines and uniform specifications? Maybe something like what the N.Y. Public Library and many government and .edu sites have for their content developers and coders, who might be responsible for different departmental sections.
I think the answer is self-evident. If the ones who work with the code can conform to standard coding conventions for the site without breaking anything, then anything is doable. Otherwise, it sounds to me like a simple hybrid, or whatever is compatible with their skill level is the safe way to go.
Incidentally, here's a search with a whole bunch of Government style guidelines [google.com]
And the now famous style guide for the New York Public Library [nypl.org]
csuguy, I think maybe even beyond your CSS concern, it sounds like you're in a position where you have to also think in terms of effective, scalable project management.
[edited by: Marcia at 5:55 am (utc) on July 29, 2008]
Of course... if everyone did their jobs correctly I wouldn't get so many re-design jobs :D
I think no matter which way I end up going (I'm most likely going to be working in a web development team so I'll have to see what their skill sets are) I'm going to completely separate the content from the html/jsp pages via includes. I'll probably put in some div/span tags in there so I can control the style - but that will be separate from the code which structures the code that controls the web application. That way - even if one aspect goes out of control, the others are unaffected.
Thanks for the links btw!
Ryan
I speak from experience when I say that tables are the single hardest HTML element to learn and use properly.
Indeed, they are! And, the browser support is quite dismal as well.
An old thread on the topic. [webmasterworld.com]
And, Marcia -- that is an excellent post of yours. Great insight!
[edited by: DrDoc at 8:26 am (utc) on July 29, 2008]