[pmwiki-users] Suggestions

Patrick R. Michaud pmichaud at pobox.com
Fri Jan 19 13:22:22 CST 2007


On Fri, Jan 19, 2007 at 06:51:17PM -0000, marc wrote:
> Sandy said...
> > Tables are not evil.
> 
> When used in the right places. Namely, for tables.
> 
> > It's much easier to do the overall layout with tables than CSS.
> 
> I couldn't disagree more. (Americans probably say: "I could disagree 
> more".)
> 
> CSS is w-a-y more flexible and easier to configure than using tables, 
> However, it does take a reasonable understanding of CSS. It also 
> requires a little knowledge of how to circumvent the myriad bugs in IE6 
> and friends. What larks!

Just to add my opinion and experience to this thread...

I've been down both sides of this issue many times and I agree
with Sandy that tables for layout are _not_ evil, even when
trying to developed column-based layouts.  CSS is great, and
can be made to do columns if the relative sizes of elements are
fairly static, but I once spent weeks trying to come up with
a flexible column-based skin for PmWiki that didn't use tables, 
and I finally decided the effort wasn't worth it.

Hans also reported a similar experience with his designs [1]:

    I built the FixFlow skin without tables. [...]
    It was a nightmare to build, and I use eight(!) 
    special css sheets to cater for IE5's and IE6's 
    special needs (four for each, for the four possibilities 
    of sidebar left or right and scrolling or fixed. IE does
    not know about position:fixed and needs tricks to 
    hide the scrollbars etc).

    So I agree with Patrick that [table-less design] does 
    not make for easy maintenance or to be a base for 
    new developments.

    So for the next skin I developed, the three column 
    Triad, I went back to tables, and it was a joy to do, 
    compared to FixFlow.

This is not just an IE problem -- although that's a huge
part of it -- it's that the techniques CSS has available for
building columns and layouts assumes that the HTML elements
are fairly static, and that element width and heights are constant
or known.  But for templates where elements could take different
sizes (especially heights) across different pages, things really
start to break down with CSS, while table-based layouts work
in a straightforward manner.

I totally understand (and even largely agree with) the 
semantic-web reasons for using tables only for table-oriented
content.  But my experience is that from a practical perspective, 
the current browser and CSS implementations (and even the design
of CSS) means that it's still _far_ easier to do layouts with
tables than other means.

Again, this just my experience, and I fully respect and
recognize that there are other valid opinions on the topic.  :-)

Pm

[1] http://article.gmane.org/gmane.comp.web.wiki.pmwiki.user/31220




More information about the pmwiki-users mailing list