swiftouch wrote:I dont get it. I can spend literally HOURS more pushing pixels around in the individual browsers causing me severe headaches. Why, why, WHY would you people out there who are div/css fanatics suggest that divs/css is better when we all know that IE has to be hacked hacked and more hacked because their box object model is ****?
Hi there!
I am a fan of semantic markup, so I wanted to take the time to answer your questions. You asked very reasonable questions, in a very spirited fashion that says you really care - so hopefully I can provide insight.
First, you mention that you can spend hours 'pushing pixels around in the individual browsers' causing you headaches. Most modern code tries to avoid fixed-pixel layouts, so thats one problem - you are working against the grain. The ideas that spawned the horrible catch phrase "web 2.0" were accessibility, machine processibility, and consistency. Fluid design hits #1 right on the head, allowing users with screen maginifiers to still have a (somewhat) reasonably formatted page.
But don't throw out your fixed-position ideals just yet, save that for another comment below..
swiftouch wrote:Please. I really want to hear some intelligent conversation on this because I am sick of our designers designing table-less websites that don't work in every browser making me sit here for hours pixel-pushing until i'm ready to break my laptop in a dozen little pieces out of frushtration.
It sounds like there are two problems in play. First, your designers aren't finishing their work. Testing against the major browsers should be a requirement for web designers. But second, you are forced to redo their work. Because you are more comfortable in tables, and fixed-positioning, and they are more comfortable with div's and fluid design. The result? Frustration all around.
Have the designers include the same testing you do as a requirement, OR have them use table designs, OR, do it yourself.
swiftouch wrote:I can fix a problem in a table using tidy(to find missing tags)and my IDE(which finds them as well) about 100% faster than I can using divs. The unpredictability is what makes a div lame. You can say it's a microsoft issue, but what you're dealing with is a "new technology" that HASN'T come into it's own yet...at least not until microsoft does something other then bung up there browser.
Its interesting that several times you've brought up Microsoft, and Internet Explorer. The difficulties in coding
to the standard, and then making it work around IE's shortcomings shouldn't be complaints about divs, but complaints about one (bad) browser.
Here's the rub. Tables *do not* work properly in every browser. You are leaving out a whole world of browsers for users with no real choice. Namely, accessibility browsers. People with screen magnifying software, screen readers, and more. People have (correctly) commented that divs can be presented out of order in screen readers. The same is true for tables, but worse, in tables, you do not have control over the order (you can with divs and creative use of css). Even further, tables add extra markup
that is spoken to the user but cannot be suppressed. It makes many sites nearly unusable.
But lets assume that ~%6 of the users out there don't sway you. Then there is the reality of redesign and maintenance. Check out a page you've designed that has logical portions (three columns, for example). Take the time to redesign a new version of it with two of those swapped. You'll find in a table design, it is very difficult to do. In a correctly designed div/css page, you simply change the css.
Lets assume you are an absolute wizard at tables, and scoff at the previous statement, while also being completely unable to migrate a single pixel to the left in a css/div design. No problem. Thats why html 4.01 transitional exists. Use tables to your hearts desire, and leave the newer technologies to others.
New technologies are about solving problems better for more people. CSS makes it easier to change layout without changing CONTENT. Div's (can) make it easier to present content to a variety of browsers that poorly present old content. XHTML makes it easy for scripts to chop up your content and reuse it. Each of those are issues you either care about, or don't.
So definitely don't be afraid to say "Hey, I like tables, and I'll keep using them". Thats why html 4.01 transitional is the overwhelming majority of content on the net today. But if you find your blind friend can't pull up your quake clan page, or your mother's sight (and use of a magnifier) makes your blog look like tag soup, maybe you'll find a reason to deal with div's and css.
Maybe you'll even think up an idea so simple, and so great, that you could make millions if other people would build on it thanks to your use of xhtml, and you'll have the next flickr or google maps.
But don't hate div & css because Microsoft has browser bugs. There are plenty of fixes like Dean Edwards *amazing* "IE7" script.
To answer a comment at the beginning of your post, I always TRY to use standards-compliant code, and try to be as semantically correct as possible. You are correct that the problems are 99% of the time with IE. But I work around them because its a buggy browser used by a majority of users, and I care about my users. That brings me to using conditional comments or scripts to fix IE, but I'd rather do that than eliminate users that use accessibility software.
Of course, I'm biased - I'm one of those users.
