@imro: Bedankt voor je verhelderende uitleg. (en de anderen natuurlijk ook)
En laat ik even duidelijk maken dat ik hier ook maar rond hang om wat te leren en niet om mijn pedante mening te uiten. De kern van mijn betoog is eigenlijk: "hoe heeft het zover kunnen komen?"
In elk segment van het vakgebied streven we naar aantoonbaar functioneren, maar als het om websites gaat, dan lijkt het functioneren van ondergeschikt belang.
En dat is vreemd.. omdat we met de table een ontzettend krachtige tool in handen hebben. Was het dan niet voor de handliggend geweest dat er, gezien de kritiek op de table, een oplossing wordt geboden die net zo krachtig is als de table en net zo semantisch correct als het gebruik van div en met de genoemde voordelen? En geldt er dan niet dat we de ontwikkeling daarvan afwachten en pas massaal overstappen als het zijn werking heeft bewezen?
Het gaat mij dus ook niet om het op de korrel nemen van de voorbeelden, maar ik wil wel zeggen (tegen de hele webwereld) waar zijn we nou helemaal mee bezig? Moeten we niet even wachten tot de display:table-cell, of slots layout wordt ondersteund, zodat we de divjes mooi naast elkaar kunnen positioneren ipv over elkaar met een padding om er de helft maar van te tonen.
Deze oplossingen vallen wat dat betreft de nog mee. Ik heb ook oplossingen gezien voor triviale functionaliteit met 'expression' in de CSS, behaviors (.htc) of javascript (al dan niet in de css), gebruik van '* html' en 'if' commentaar.
De argumenten zijn alle valide, maar de consessies die ervoor gedaan worden zijn naar mijn idee veel te groot. En langs de zijlijn blijven staan is geen optie. Je bent als table-layout maker de roker die buiten het café moet staan paffen.
Puntsgewijs ga ik even je vragen bij langs:
Heb je misschien een linkje naar een artikel ofzo?
Ik heb op Google gezocht en kon er niets over vinden.
Nee helaas (component zal wel gebanned zijn). Het is inderdaad een verouderd ding, maar het probleem is generiek: Stel je maakt geen site, maar een component. Als dit component ook met een div-layout is gedaan, moet het component (zeg een customcontrol) dus al weten welke z-indexen het moet gebruiken om enerzijds niet achter de content te vallen en anderzijds niet een hogere index te hebben dan die div-popup die tegelijk op de website getoond kan worden. Vanuit OO oogpunt vind ik het niet correct dat het component kennis heeft van de omgeving waarin het gebruikt wordt.
Welk onderhoudsprobleem?
Als je één keer een layout maakt die voldoet aan de W3C standaarden en op dit moment in alle browsers werkt, dan werkt hij over 10, waarschijnlijk ook zelfs 20 jaar nog precies hetzelfde.
Het is een beetje te vergelijken met de periode voordat DOM werd toegevoegd. Heel veel scripts zijn in elkaar gedonderd. En qua browser detectie lijkt dit probleem zich voor css te herhalen. Nu willens en wetens de ontwikkelaars. Het gebruik van quirks is niet bevorderlijk voor nieuwe technologie. In jouw voorbeeld kom ik overigens niet iets tegen wat hier onder valt. Dus, ja het doet waarschijnlijk over 10 jaar nog het zelfde.
Volgens Wikipedia:
Een tabel is een matrix van kleine eenheden, cellen genaamd, die in veel gevallen bedoeld is om gegevens overzichtelijk te presenteren.
Precies zoals ik een table-layout zou omschrijven. In een computerprogramma geldt een abstracte benadering van een gegeven in de wereld. Als je het over een canvas hebt, heb je het ook niet over een doek op een schildersezel. Als de naam 'table' niet gebruikt mag worden, dan wordt het tijd om een custom DTD in de pagina te hangen die de custom tags LayoutTable, LayoutTr en LayoutTd implementeert.
http://java.sun.com/products/jfc/tsc/articles/tablelayout/Het gaat niet om de intonatie, maar om hoe het voorgelezen wordt. Screen readers lopen van links naar rechts, van boven naar beneden door een tabel heen, omdat dit zo in de broncode staat. Bij CSS is het mogelijk om belangrijke content boven in de broncode te plaatsen waardoor screen readers daar eerder bij komen en niet eerst heel de navigatie voor gaan lezen.
Daarin geef ik je gelijk. Dit is hetzelfde als het SEO argument. Echter.. als ik in jouw voorbeeld de volgorde van de div's aanpas, stort ook jouw pagina in elkaar. Je streeft wel naar een strict onderscheid tussen inhoud en layout, maar het doel wordt met deze inferieure techniek niet bereikt.
Als je bij een complexe tabel-layout een cel weg wil halen of erbij wil zetten is dat (meestal) toch heel wat meer werk dan bij een CSS-layout. Bij tabel-layout moet je dan heel vaak letten op de omliggende cellen, bij CSS-layouts hoeft dit vaak niet (afhankelijk van wat je aan wil passen).
Dus dat geldt bij div-gebruikt alleen bij absolute positionering.
Ik hoor graag wat er volgens jou mis is met mijn oplossing (in het geval van de z-index graag een linkje), dan zal ik kijken of ik er iets aan kan doen
Je oplossing werkt inderdaad in de zin dat de bezoeker voorgeschoteld krijgt wat jij als bouwer hebt bedacht. Bij IE7 treedt bij het resizen een knippereffect op waarna de layout soms niet correct herstelt (ook niet na een refresh vreemdgenoeg). Safari, FireFox en Opera doen dat beter. Wordt de site te smal, dan verspringt de content onder het menu en col3 erachter. Overigens lijkt me dat niet echt storend bij normaal gebruik.
Maar als je 'm op de mobiel wil bekijken, weet ik niet wat er dan gaat gebeuren.
Als men hier beweert dat een div site beter te zien is op een mobiel, dan geloof ik dat meteen

Mijn grote bezwaar tegen je oplossing is dat de divs niet netjes naast en onder elkaar staan, maar elkaar ten dele overlappen. Dat is niet omdat je het zo wil, maar omdat je een techniek gebruikt die geen voorzieningen heeft om dit goed te doen.
Ik wil het hierbij laten. Zal in de toekomst niets meer aanmerken op div-layout en de voorbeelden enkel ter leering ende vermaeck tot mij nemen