Mit forlsag til dig er at holde dig til tabeller. Det kan lade sig gøre med div's problemet er bare at det er svært at lave 100% cross browser compitabelt.
Og hvorfor ikke gøre det med tabeller? Det eneste ved tabeller der ikke er understøttet i CSS er cellspacing (cross browser i hvertfald). Den sætter du da bare på den 'gamle måde' <table cellspacing="0">. Dette er XHTML valid og samtlige browsere forstår det. cellpadding kan du fikse ved at sætte "table td { padding: 0; }" i dit css dokument.
Problemet er at CSS ikke har noget der ligner grid layout hvad angår box elementer så som divs. Det har dog ved brug af styled tables.
Jeg prøvede at lave et design hvor jeg havde brug for 3 kolonne modellen (de to i siderne udgjorde hver sin border), og fandt hurtigt ud af det var meget nemmere at bruge tabeller. Se her: http://www.eksperten.dk/spm/705258
@tjakobsen: Det blog-entry fra Eric Meyer er jo tilbage fra 2004, siden er der sket store fremskridt. Læs fx http://meyerweb.com/eric/thoughts/2005/11/01/layout-revolution/ -- og den artikel jeg linkede til tidl. i denne tråd, viste hvordan det kunne klares endnu nemmere og pænere. Den bruger stadigvæk floats til at klare jobbet, hvilket ikke er den ideelt pæneste måde, men i forhold til at bruge tabeller er den _klart_ at foretrække imo.
@stich Jeg må indrømme jeg ikke havde set datoen på den artikel jeg henviste til.
Jeg kan dog stadig ikke se fordelen i at bruge en div frem for en tabel til denne type layout. Ved div's kræves der meget mere kode for at gøre det cross browser kombitabel. Fx workarounds for både IE og Opera.
Du skriver du klart foretrækker div's fremfor en tabel, kan du uddybe hvorfor? For jeg kan ikke se fordelen.
Mere kode pga. CSS'en, ja, men det er ikke særligt meget, og som regel vil stylesheet'et blive cached hos slutbrugerne, så det er reelt uden betydning. Til gengæld er det semantisk forkert at anvende en tabel til dette formål; den vil først og fremmest være der af layoutmæssige grunde, og det bør man aldrig bruge (X)HTML til. Desuden lægger en tabel begrænsninger på hvad man kan gøre med designet -- men det er dog næppe noget problem i dette tilfælde.
Den bedste grund til at bruge div's er at det ganske enkelt er god skik, samt det er efterhånden hvad der forventes af et website.
Problemet ved en tabel med tre kolonner er, at hvis en bruger vælger at slå css fra, så har du stadig delt indholdet op i tre kolonner. Dette giver problemer for f.eks. klienter med en lille skærm (mobil, pda) og ikke mindst folk med. f.eks. synsproblemer, der klart foretrækker at få tingene listet op under hinanden, således at man kan læse siden, selv med magnaprint ;)
div's er vejen frem. Tabeller er ikke beregnet til at lave layout, men til at fremvise data som kræver rækker og kolonner. (Adresselister osv.)
Forresten synes jeg ikke hverken "god skik" og eller "forventes af et website" er særligt gode grunde til at anvende div-elementer frem for tabeller til design. God skik kan fx være altid at tilføje et semikolon efter en CSS-regel, og afslutte tags i HTML, men der er dog intet forkert i ikke at gøre nogen af delene. Til gengæld er det direkte forkert at anvende en tabel, med mindre den indeholder tabulære data. (X)HTML elementer bør altid vælges ud fra deres semantiske betydning.
ARgumentet mht. degradering kan jeg dog kun bifalde.
Nice Moternbock....kigger på det i løbet af weekenden ;)
Alle der vil have del i pointene....smid et svar
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.