views:

41

answers:

2

I have been working through projects involving packages that do all the web design stuff for me for the past few years. I will admit that I have not been able to focus any on actual web design.

I was wondering what the standard is these days for website layouts. Are layout-tables looked down upon now? Or are all layouts done with div tags and controlled through CSS? Are frames even used anymore?

Note I am not talking about chart-table tables when I say layout tables.

+2  A: 

Are layout-tables looked down upon now? Or are all layouts done with div tags and controlled through CSS? Are frames even used anymore?

These two techniques are indeed looked down upon, and fit to incite a veritable flame war on SO any time of the day. :) Plus, even the sole use of div tags is largely viewed as deprecated, in favour of more semantically sound elements like ul/li for menus and lists, dt/dd for definition lists, h1, h2 for headings and so on. None of this is carved into stone, but they are mostly good practices and lead to good, clean code.

For reading, A List Apart is definitely one of the best resources of articles on the issue.

A great article on some basics (including the transition from tables) is Practical CSS from the same site.

Pekka
+1  A: 

Yes, tables should not be used for layout purposes and doing so has been frowned upon for many years now. Frames are also rarely used these days and you should avoid them. You should strive for separation between content (HTML), presentation (CSS), and behavior (JavaScript) in your websites. You can use the online validators at the W3C (HTML Validator, CSS Validator) to check your documents for standards compliance -- and of course familiarizing yourself with the specifications themselves will be helpful in understanding how to use them.

Jimmy Cuadra
Pekka's flame war envisioned: Tables are a powerful layout tool, use them when you just don't have the patience for lots of testing and CSS float hacks. Even a DIV with display:table-cell is still "using tables."
darkporter