Avatar billede ChristianRLarsen Nybegynder
06. februar 2012 - 12:19 Der er 29 kommentarer og
1 løsning

Html tables - Er de stadig i brug?

Hej eksperter

Ville bare hører om html tables stadig bliver benyttet eller om div har overtaget. Hvad er jeres mening og hvorfor?


MVH Christian
Avatar billede Havelaage Nybegynder
06. februar 2012 - 12:24 #1
Tabeller til indhold, div til opsætning(design osv). Ren logik for mig og meget meget nemmere.
06. februar 2012 - 12:29 #2
html tables er nemmest at bruge for det de var lavet for, at gengive tabular information.
Avatar billede keysersoze Guru
06. februar 2012 - 12:29 #3
forskellen mellem tables og divs er den samme som den hele tiden har været - divs til design, tabeller til opsætning af tabuleret data. Sådan har specifikationerne været fra W3 i lang tid.
Avatar billede ChristianRLarsen Nybegynder
06. februar 2012 - 12:29 #4
Det er også min opfattelse, divs til design og tabels til indhold. Læste bare lige kort om divs og tabeller og blev i tvivl om jeg gjorder det forkert.

Ville lige hører om andre også gør det på denne måde. :- )
Avatar billede ChristianRLarsen Nybegynder
06. februar 2012 - 12:30 #5
2# er jeg ikke sikker på hvad du mener med?
06. februar 2012 - 12:52 #6
Med tabulær information mener jeg ikke andet end information man normalt ville stille op som en tabel, hvis man gjorde det manuelt, for ensempel en medlemsliste med medlemsnummer, navn, og telefonnummer hvor første linie er overskrifterne og de følgende linier hver indeholder data om et medlem hvert.  Der finder jeg brug af html tables mest bekvem.  html tables kan derudover misbruges (som jeg selv har gjort) til at formattere en side med flere blokke af information, men det er hvor divs bør bruges.
Avatar billede olebole Juniormester
06. februar 2012 - 15:10 #7
<ole>

"Det er også min opfattelse, divs til design og tabels til indhold." >> Det er forkert. Når noget skal stå i tabeller - ligesom i Excel, bruger du tabeller. Ellers bruger du andre elementer.

Lyt ikke til Havelaage, som endnu ikke har forstået, hvordan man koder i dette årtusinde  =)

/mvh
</bole>
Avatar billede Jayshoe Nybegynder
06. februar 2012 - 22:15 #8
Svaret på dette spørgsmål er meget simpelt og kan findes her: http://shouldiusetablesforlayout.com/

(Husk at kigge i kildekoden!) :-)

Mvh
Avatar billede olebole Juniormester
06. februar 2012 - 23:13 #9
Hvorfor spilde tid med links og sideskift? Det står jo skrevet adskillige gange på denne side.

Derudover er jeg - og sikkert mange med mig - rystende ligeglad med, hvad en gammel, udrangeret og plasticopereret skyggebokser mener om webudvikling!
Avatar billede keysersoze Guru
06. februar 2012 - 23:30 #10
så så - ikke disse Chuck Norris! ;)
Avatar billede ChristianRLarsen Nybegynder
06. februar 2012 - 23:32 #11
Hej olebole.

Dvs. du benytter divs til indhold?

Hvis du nu skal ha' to forskellige nyheder ved siden af hinanden, så istedet for at lave en tabel som ser således ud:

<table>
<tr>
  <td></td>
  <td></td>
</tr>
</table>

så benytter du divs?
Avatar billede ChristianRLarsen Nybegynder
06. februar 2012 - 23:33 #12
#8 fik ikke rigtig noget ud af dit link? :S
Avatar billede keysersoze Guru
06. februar 2012 - 23:41 #13
#11 Jeg ville benytte divs. Den dag du så beslutter dig for at nyhederne ikke skal stå ved siden af hinanden ændrer du bare dine styles og ikke din markup. Denne semantiske opsætning gør også, at du har forberedt din side til begrebet "responsive webdesign" - altså automatisk tilpasning til forskellige enheder (mobil, tablets...).
Avatar billede olebole Juniormester
06. februar 2012 - 23:44 #14
Ja, så bruger jeg DIV - somregel med display:inline-block. Så opfører de sig 'udadtil' som et inline element og 'indadtil' som et block element. Det betyder, de lægger sig ved siden af hinanden, men kan indeholde andre block elementer (og det kan alm. inline elementer som bekendt ikke).

I yderste nødstilfælde bruger jeg float, men det skal 'hackes' med et efterfølgende element med clear. Float er rigtig velegnet, når man f.eks. ønsker tekstomløb omkring et billede, men den er desværre snart mere abused end tabeller nogensinde har været  :o|
Avatar billede olebole Juniormester
06. februar 2012 - 23:46 #15
@keysersoze: Brugen af DIV kan næppe betegnes som 'semantisk', da de netop er karakteriseret som 'anonyme' containere - og derfor intet fortæller om deres indholds karakter. Resten er jeg helt enig i  *o)
Avatar billede ChristianRLarsen Nybegynder
06. februar 2012 - 23:47 #16
Altså min forståelse af divs lyder.

divs, først og fremmest til desginet, placering af indhold der er svært at tilpasse med tables.

Er dettte korrekt?
Avatar billede olebole Juniormester
06. februar 2012 - 23:50 #17
Nej. Glem alt om tabeller, med mindre du vil lave en online køreplan eller skoleskema. Det er, hvad tabeller er beregnet til ... intet andet  =)
Avatar billede ChristianRLarsen Nybegynder
06. februar 2012 - 23:53 #18
Okay :-)

keyserzoe snakkede noget om hjemmeside ville tilpasse sig automatisk efter tablets osv. den fik jeg ikke helt med. Hvad gik det ud på?
Avatar billede olebole Juniormester
07. februar 2012 - 00:19 #19
Da man oprettede det fælles europæiske atomforsøgscenter CERN, var meningen, at højenergiforskere fra hele Europa kunne 'låne' centret. Man opdagede hurtigt, at det ene hold ankom med 20 tomme, røde ringbind - udførte deres forsøg - fyldte ringbindene med data - og tog hjem igen.

Ugen efter kom et nyt hold med 20 gule og ligeså tomme ringbind - lavede deres forsøg (hvoraf halvdelen var de samme som dem med de røde ringbind havde lavet) - fyldte data i ringbindene - og tog hjem igen. Og så fremdeles.

CERN er hundedyrt at have kørende, så den slags duplikerede forsøg er der simpelthen ikke råd til. Det var rent frådseri. Derfor havde man behov for en metode til at dele data med.

Heldigvis var der en kvik ansat ved navn Tim Berners-Lee, som fik en rigtig god idé. Han kombinerede nogle gamle idéer fra 60'erne (hypertext, som er en slags linket tekst) med nogle ting, Apple havde lavet (hyper cards, som var noget letprogrammerbart præsentationssoftware, lidt i stil med PowerPoint) og et tekstopmærkningssystem i stil med det, tekstbehandlingsprogrammet Word Perfect brugte (SGML - Standard Generalized Markup Language). Derved opstod i meget korte træk WWW, HTTP-protokollen og HTML.

Nu havde forskerne et værktøj til vidensdeling over det Internet, alle universiteter i forvejen var koblet op på - bl.a. til e-mail brug.

'Skidtet' er altså i udgangspunktet udelukkende beregnet til at opstille og syndikere forskningsresultater med i form af tekst i tabeller og paragraffer ... intet andet!

Efter et par år fandt en masse californiske potheads ud af, at man kunne bruge tabeller som sætterkasser - og lægge grafik og tekst i de enkelte celler og derved oprette flotte grafiske sider, som ikke lignede støvede paragraffer og tabeller med data. Det moderne WWW havde forsigtigt set dagens gryende lys.

Vi endte ret hurtigt op med sider, som hver især indholdt snesevis af tabeller i tabeller, hvis celler var spilet ud af hundredevis af transparente giffer, som til formålet fik sat passende størrelser.

Selvom dette var muligt, var det naturligvis et hestearbejde at skrive og vedligeholde - og et knokkelarbejde for browserne at holde styr på. Derfor indførte man (Microsoft) en ny teknologi, kaldet CSS, som kunne 'udklæde' og placere mere simple og 'anonyme' containerelementer. Resten er historie  =)

Tabeller er med andre ord beregnet og egnet til at opstille data i, som du ellers ville opstille i et Excel ark ... ikke andet.

Håber, denne lille historiske gennemgang giver lidt bedre forståelse for, hvor tingene kommer fra - og hvad de er beregnet og gode til  =)
Avatar billede ChristianRLarsen Nybegynder
07. februar 2012 - 00:34 #20
Hej olebole

Dejligt historie og det hjalp bestemt. Forstår nu hvad tabllerne bruges til. Men hvis du programmere en almindelig hjemmeside med divs. Vil den så automatisk tilpasse sig til tablet, smartphone osv.?


MVH Christian
Avatar billede olebole Juniormester
07. februar 2012 - 00:39 #21
Ikke nødvendigvis. Somme tider er man nødt til at loade et specielt stylesheet til mobile enheder. Det gøres normalt ved, at man på serveren (f.eks. med PHP) sniffer hvilket styresystem, forspørgslen kommer fra.

Hvis det er fra en alm. PC, loades ét stylesheet - er der tale om en mobil enhed, loades et andet. I rigtig mange tilfælde er der dog ikke brug for at style forskelligt.

Husk altid de tre M'er: "Test, test og .... test"!  *D
Avatar billede olebole Juniormester
07. februar 2012 - 00:46 #22
PS: Når jeg underviser webintegratorer, koketterer jeg altid med, at jeg har et lille Tim Berners-Lee alter stående i mit soveværelse og aldrig går i seng uden at have tændt et lille vokslys - og at de aldrig bliver gode til webkode, hvis ikke de gør det samme! De hold, jeg har haft kørende i juni måned, vil også kunne fortælle om, at den gamle, sære lærer plejer at give lagkage den 6. juni - på TBL's fødselsdag.

For fanden da ... det skal jo være sjovt at lære, og mange kommer med elendige erfaringer fra folkeskolen  *D
Avatar billede keysersoze Guru
07. februar 2012 - 09:40 #23
Gå ind på jyske banks hjemmeside og gør dit browservindue mindre - helt ned til mobilstørrelse - så kan du se hvordan siden efterhånden tilpasses. Det er et eksempel på responsive webdesign.
Avatar billede olebole Juniormester
07. februar 2012 - 16:22 #24
@keysersoze: Men det er et eksempel på rigtig ineffektiv responsive webdesign  =)

Der sker det, at når siden loades, tjekker et script, om det er en mobil enhed. Er det tilfældet, sættes en klasse på BODY elementet, der 'skrumper' en hel del elementer, så hele siden 'skrumper' lidt.

onresize tjekkes endvidere størrelsen af viewport'en - og hvis målene kommer under en vis grænse, sættes samme klasse på BODY.

Problemet er bare, at når du runtime sætter en klasse på et element, skal browseren - p.gr.a. CSS' regler om kaskade og arv - genberegne alle egenskaber for samtlige underliggende elementer.

Sættes ny klasse på BODY elementet, skal egenskaberne for samtlige sidens elementer altså genberegnes. Det er en yderst ineffektiv måde at skabe responsiveness på.
Avatar billede olebole Juniormester
07. februar 2012 - 16:27 #25
Klasseskift kan være udmærket, men man skal altid være opmærksom på, at jo flere elementer, det pågældende element indeholder, jo hårdere arbejde sættes browseren på.

Det arbejde bliver hurtigt langt, langt større end det overarbejde, vi alle forsøger at undgå ved ikke at bruge tabeller til layoutformål. Og gør vi det flere gange (f.sks. på onresize), skal dette arbejde jo også udføres flere gange.
Avatar billede keysersoze Guru
07. februar 2012 - 17:25 #26
Jeg har ikke analyseret koden - kun set det visuelle i det og det var primært det jeg refererede til, men jeg vil da ikke betvivle de tekniske opdagelser du har gjort. A List Apart har også et, visuelt, godt eksempel men heller ikke her har jeg taget et nærmere kig på koden. Referencen til responsive webdesign gik også primært på hvad der ikke kan opnås med forkert brug af tables.
Avatar billede ChristianRLarsen Nybegynder
08. februar 2012 - 15:52 #27
Hejsa, tak for hjælpen.

Olebole læg et svar hvis du ønsker point. Da du kom med det mest korrekte rigtige svar på mit spørgsmål
Avatar billede olebole Juniormester
08. februar 2012 - 16:16 #28
Ellers tak, jeg samler ikke point, men der er jo også andre, der har bidraget  *o)
Avatar billede ChristianRLarsen Nybegynder
08. februar 2012 - 20:24 #29
I andre som ønsker point, bedes lægge et svar :)
Avatar billede keysersoze Guru
08. februar 2012 - 21:55 #30
svar
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