Christie Mason wrote:
> [...] Plus I've seen a lot more sites break that are dependant on CSS
>  for positioning when new browser versions are released.  How do you
>  justify going back to a client to redesign a site that is breaking 
> because it used CSS targeted for X versions of browser when a new 
> browser version is released?

I've seen those sites too, and I've been involved in some. It's what's
known as "fragile constructions", which rely on what browsers do more
than on what they're supposed to do. That's a trap that it is easy to
fall into, and one that it sometimes is hard to avoid.

I don't know of any browser-version that has forced me to redesign a
site, although IE7 did need a few additional CSS fixes on a number of
sites when it arrived. Took a while to get that bugger somewhat in line
across the board, but it had little to no impact on what was served to
the other browsers. After all: IE7 was "dead on arrival" - stable, and
we had nearly a year to prepare for it.

Ideally, a design should be so well thought-out that one only has to
remove fixes for old, obsolete, browser-versions when these fixes are no
longer needed. For most sites that should never be necessary, as such
fixes should never backfire and end up messing things up in new
browser-versions.

I guess getting the targeting/fixes for old browsers right and safe
enough to be able to forget about them, is one of the hardest parts for
many designers.
That many also include "fixes" for new browser-versions, doesn't make
fragile designs more "future proof".
Advice: don't add "fixes" for new browsers.

Another cause for problems seems to be "overstyling", as
properties/values that don't seem to do any harm are left in the
stylesheets - often after a round of "trial and error" styling.
New browser-versions may start reacting on these "superfluous" styles,
and unless one knows exactly what will happen when they do the outcome
may not be good.
Advice: know what those styles are there for, or delete them.

------

The "trick" - if we can call it that, is to design for progress - close
to standards - and let the browsers catch up with us - instead of us
playing catch-up with the browsers. This is a mental model more than a
method or template, as it means one only targets old/dead browsers for
debugging, while checking standard compliance and logic in new, live,
versions and hold back on the "latest and greatest" until they're
somewhat stable. One can not trust any browser to get it right, until
they all support the same standard-parts and react the same way when
served the same code.

New browser-versions tend to inch slowly closer and closer to the same
standards, which, ideally, should mean they all end up doing more or
less what we expect them to do. Browser developers seem to finally have
figured out that it is money in standards and standardized development,
and as a result of improved cooperation even the standards are starting
to make sense. Would be nice if web designers/developers figured that
out too, so the process could be sped up a bit.

------

Arguing back and forth about "CSS based" vs. "table based" is futile, as
each designer/developer/front-end coder can make the most out of what
he/she knows best. Those layout-tables are pretty much "frozen in time"
by now though, while CSS still has potentials to become a useful
layout-tool. A few more rounds between standards- and
browser-developers, and CSS may satisfy most web designers' needs and
wishes.

I still think it's fun to include layout-tables when someone explicitly
asks for it, but I do find those layout-tables a bit limiting for all
but the simplest designs. I don't like limitations so I nearly always
find an excuse - or a whole bunch of excuses - to break out of those
tables. CSS provides more fun without them :-)

regards
        Georg
-- 
http://www.gunlaug.no
______________________________________________________________________
css-discuss [cs...@lists.css-discuss.org]
http://www.css-discuss.org/mailman/listinfo/css-d
List wiki/FAQ -- http://css-discuss.incutio.com/
List policies -- http://css-discuss.org/policies.html
Supported by evolt.org -- http://www.evolt.org/help_support_evolt/

Reply via email to