HTML/CSS question
Aug. 14th, 2007 12:46 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Frames, tables, CSS positioning, all can be used for placing elements where you want them. I know that tables are very old-school for this, and I'm under the impression that CSS is the current vogue, but frames seem more intuitive to me for positioning. Why the move to CSS? Or is there another new method coming?
no subject
Date: 2007-08-14 05:03 pm (UTC)csszengarden.com
Check it out.
no subject
Date: 2007-08-14 06:00 pm (UTC)no subject
Date: 2007-08-14 05:36 pm (UTC)Ajax is the way to go and CSS is a core component of Ajax.
CSS Layout, part of CSS-3, is the upcoming standard that will finally stabilize things and make table layouts a thing of the past. the problem with tables and why they won't go away is that the browsers are all different with regards to margins and padding for certain elements, especially in forms and lists, so there's a LOT of tweaking one has to do to get something "just right" across the board, things that tables just do "right" up front.
CSS-3 will fix that, but damned if they're not taking their time with it.
and even then, it'll be years, if ever, for microsoft IE to actually do anything about it. after netscape died, M$ actually completely disbanded their IE team and even the current team that produced IE 7 so couldn't make sense out of the browser rendering code that they only changed the front (menus and buttons) and kept security patches up to date - they didn't touch the rendering code that is just as broken now as it was when IE 5.5 came out. So for all the "big changes" IE promised with 7, just like the "big changes" with Vista, NONE of them ever came to pass - just a little cosmetics and added hardware support, nothing more.
no subject
Date: 2007-08-14 06:05 pm (UTC)no subject
Date: 2007-08-14 06:14 pm (UTC)we're talking about table-based layouts, which are the hacks people (including most LJ template designers) use to get their menus up in corner x, their sidebars along side y at n pixels wide, etc. they are total hacks, abuses of the system for things it was not intended to do.
a table is meant to be a page element for presenting data, not a mechanism for laying out the whole page. it was just so reliable and easy to learn that it caught on before the standards people could design an alternative.
no subject
Date: 2007-08-14 05:43 pm (UTC)tables are evil if writing a full web application. tables make it hard to support printing properly (with CSS layouts, I can hide away the menu and sidebars when doing a print - see http://www.teoco.com/aboutus.htm and hit print preview - you didn't reload the page to get that new layout). (yes, i know the "go" button is off the screen in firefox - it'll be fixed in the next rollout. that's one of those browser differences issues i talked about above).
tables also make ajax updating a pain because they'll muck around with the layout as you change things. updating divs controlled by css will be more stable-looking.
no subject
Date: 2007-08-14 06:03 pm (UTC)Thanks again!
no subject
Date: 2007-08-14 06:17 pm (UTC)just google for "page layouts without tables css" and you'll get plenty of links for templates out there for things the browsers do support. there are even books on just that topic alone.