Avatar billede sho Nybegynder
20. oktober 2004 - 21:58 Der er 16 kommentarer og
1 løsning

Opbygning af tabeller - i teori og praksis?

Godaften eksperter,

jeg har et spørgsmål til HTML, som ikke kræver en decideret praktisk løsning, men mere en holdning til, hvad der er rigtigt og forkert.

Udsagn 1: Når man bygger en tabel, så er det vigtigt at overholde W3C-standarden, så der i alle rækker er lige mange kolonner. Hvis der i øverste række er 20 kolonner, så skal der i hver eneste række være 20 kolonner - enten ved en lang række <td></td> indenfor hver <tr></tr>, eller ved at bruge colspan.

Udsagn 2: Når man bygger en tabel, så er der ingen grund til, at der i alle rækker er lige mange kolonner. Hvis der i den øverste række er 20 kolonner, så er der ingen grund til at der også er det i næste række, hvis man alligevel kun skal skrive noget i den første kolonne.

Hvilket af de to udsagn er korrekte? Og har det ene eller det andet udsagn større eller mindre sandsynlighed for at blive vist korrekt i alle browsere?

Der står ikke andet end æren og håneretten på spil, men jeg vil alligevel sætte pris på jeres input! Medmindre jeg bliver bombarderet med svar, så skal jeg nok smide lidt point til jer allesammen.

-Søren
Avatar billede mik789 Nybegynder
20. oktober 2004 - 22:07 #1
jeg ville altid følge udsagn 1. Men du kan godt alligevel skjule border på celler der er tomme med css: <td style="empty-cells: hide;"> så det ser ud som om der er forskelligt antal celler i hver række.
Avatar billede sho Nybegynder
20. oktober 2004 - 22:10 #2
Det er forudsat, at der ikke er border på cellerne, så der visuelt ikke er nogen forskel.
Avatar billede mik789 Nybegynder
20. oktober 2004 - 22:17 #3
Udsagn 2 er ulogisk. En tabel består principielt af et lige antal kolonner og rækker.
Avatar billede Slettet bruger
20. oktober 2004 - 22:24 #4
udsagn 2 er principielt forkert, men i praksis ikke noget problem, medmindre der kommer en Internet Explorer 2 forbi, eller en anden oldsag :)
Avatar billede olebole Juniormester
20. oktober 2004 - 23:26 #5
<ole>

Spørgsmålet er ganske overflødigt. HTML er et standadiseret sprog. Skal man skrive i et standardiseret sprog, er det vigtigt at overholde standarden for det sprog. That's it 'n' that's that ... i princippet  :)

Bevares, brugerens PC bryder ikke i flammer - og hans skærm splintrer ikke - hvis du ikke overholder denne regel, men du har heller ingen garanti for, at siden kan vises ordentligt.
I browsere til stationære PC'ere kan man sagtens blive ved med at poste kode i, der skal rette op på dårlige/dovne koderes koder, så disse også kan tolkes (og det er faktisk ved at være en forbløffende stor del af en browsers samlede kode), men sådan bliver det ikke ved med at forholde sig med de håndholdte maskiner af forskellig art.
Spørgsmålet er i det hele taget, hvorlænge browserfabrikanterne finder det formålstjenligt at 'tørre røv' på kodere, der ikke skriver ordentlig HTML. Man kunne forestille sig, de på et tidspunkt begyndte at prioritere deres udviklings indsats anderledes.

Overholder man ikke standarderne, skaber man samtidig problemer for kodere, der evt. skal vedligeholde koden i fremtiden. Det er kanon irriterende at overtage en kode, der er skrevet i 'baby-sprog'.

Derudover skaber det i visse tilfælde bøvl for scripting, hvor JavaScript skal tilgå dokumentets DOM. Det kan brugen af col- og row-span nu også  :)

/mvh
</bole>
Avatar billede Slettet bruger
20. oktober 2004 - 23:53 #6
Hvis vi tager eksemplet i dit udsagn 2, så kan det jo være ret tilfældigt, hvordan browserfabrikanter har valgt at fortolke koden, når der nu mangler de 19 kolonner. Skal den enlige kolonne bredes ud, så den fylder hele rækken, eller skal den vises som 1/20 af den samlede tabels bredde? Og hvis den bliver vist i 1/20 bredde, hvad skal der så vises i de andre 19/20?

Kort sagt, kan du ikke regne med resultatet, hvis du ikke følger reglerne.

Garbage In -> Garbage Out.
Avatar billede Slettet bruger
21. oktober 2004 - 08:51 #7
Jeg vil stadig påstå at alle tilgængelige browsere (som ikke faldt i søvn i 1998!) vil vise en tabel korrekt selvom der mangler 19 celler. Forudsat at der er noget indhold i de ovenstående celler der sætter bredden for de enkelte kolonner.

Det rokker dog ikke ved at det er forkert ;)
Avatar billede sho Nybegynder
25. oktober 2004 - 13:16 #8
Hvis I lægger nogle svar, skal jeg nok kaste lidt point af, og ellers takker jeg mange gange for jeres input - både for det ene og det andet synspunkt! ;-)
Avatar billede sho Nybegynder
25. oktober 2004 - 13:17 #9
Og det er hermed lukket...
Avatar billede Slettet bruger
25. oktober 2004 - 13:36 #10
Det var dog en ekstremt kort svarfrist.
Avatar billede sho Nybegynder
25. oktober 2004 - 14:13 #11
Hmm...det var egentlig heller ikke meningen at afskære jer fra det... jeg troede godt, at jeg kunne tildele point efter at jeg havde accepteret ét svar. Jeg har bare lige siddet og irriteret mig over alle de åbne spørgsmål, der ikke har været kommenteret i årevis, så jeg ville rydde op og lukke det her, så jeg ikke bidrog til rodet

-Søren
Avatar billede roenving Novice
25. oktober 2004 - 14:55 #12
Så ku' det være, du skulle kigge lidt på faq'en: http://expfaq.1go.dk !-)
Avatar billede sho Nybegynder
25. oktober 2004 - 15:03 #13
Yeah, right! :-) ...jeg beklager fejlen. Skal jeg åbne et nyt, så I kan få 5 point hver?

Roenving, hvis du er online, hvorfor har du så ikke svaret på mit spørgsmål under Javascript om popups? :-) (http://www.eksperten.dk/spm/554253)

-Søren
Avatar billede Slettet bruger
25. oktober 2004 - 15:35 #14
Ikke for min skyld. Det var mere princippet, jeg kommenterede.
Avatar billede sho Nybegynder
25. oktober 2004 - 15:46 #15
Jeg er helt enig med dig i princippet!!! Når jeg har læst roenvings FAQ, sker det ikke igen! ;-)
Avatar billede roenving Novice
25. oktober 2004 - 15:48 #16
Nu er det nu ikke min faq, men skrevet af en række brugere herinde fra, med exp i spidsen !-)
Avatar billede sho Nybegynder
25. oktober 2004 - 15:54 #17
...når jeg har læst den af roenving anviste FAQ... :-)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester