A majority of HTML coders find the ease and simplicity of the table layout irrisistible, despite the fact that tables should only be used for tabular data.
CSS layouts are possible, however there are some things that are deterringly complicated to do with CSS layouts. Even among coders who validate their code and strive to meet the standards, table layouts are frequently resorted to because they offer the only solution.
Create a new table type that is purely presentational. It has the ability to easily put expanding cells next to eachother and most of the other things that make tables so attractive.
However, it also has some unique features which make it purely presentational:
- Cells have the ability to break out of their rows under some circumstances.
- A table consisting of one row of four cells, when screenwidth is decreaced sufficiently, could become a single columned table with four rows of one cell each.
- Cells can also be marked as joined or linked, so that they do not break even when the width of the browser is decreased.
- Cells can be marked as presentational only: their contents would be completely removed or ignored in text only browsers or if styles are disabled.
- Browsers load the table one cell at a time, so that users do not have to wait for the last cell to load to see content in the first.
- Additional features inappropriate for tabular tables could be added.
- Improved cell spanning, similar to colspan or rowspan, allowing cells to span selectively creating non-rectangular shaped cells through designation to a common "span group".
Many developers have the fear that there will be a reintroducing of the mixed up of the CSS and the HTML part.
An alternative is theCSS 3 Advanced Layout Module.