Avatar billede maxmuldjord Nybegynder
05. februar 2007 - 20:56 Der er 12 kommentarer og
1 løsning

Nested table

Hej exp.

Jeg skal lige være sikker på at jeg er på rette spor. Jeg er ved at lave mig en website som jeg vil skrive helt i hånden, altså ingen GoLive eller Dreamweaver. Dette for at lære noget. Jeg har så opbygget en tabel med 3 kolonner og så laver jeg rækker nedad. Når jeg så midt i det hele har brug for at have en enkelt række med 5 kolonner havde jeg tænkt mig at indsætte en tabel mere. Men skal den i en < tr > eller skal jeg lave en < td > ? Det jeg vil svarer til at lave en "merge" en række i f.eks GoLive og så indsætte en tabel i denne række. Er det tydeligt nok forklaret eller tåger jeg lidt?
Avatar billede keysersoze Ekspert
05. februar 2007 - 21:01 #1
du kan som udgangspunkt ikke indsætte andet omkring en <tr> end en <td> - så skal du have en ny tabel inde i noget skal det være inde i en <td>
Avatar billede Slater Ekspert
05. februar 2007 - 21:02 #2
Tabeller er en dårlig idé til at designe med. Men når det endelig skal være, så:

Du må lave en <td> i den første tabel, og sætte den til at have colspan="3", for at fylde hele bredden ud. Inde i den kan du så lave den nye tabel.

Alternativt kan du have tre tabeller. En med 3 kolonner, en med 5 kolonner, og så en med 3 igen nedenunder. Der vil du få samme effekt uden nesting. Det kan være en del nemmere at overskue. Desuden har colspan attributtet en dårlig vane med pludselig at lave fejl og se underligt ud.
Avatar billede maxmuldjord Nybegynder
05. februar 2007 - 21:09 #3
Viperine >>> Den ide med 3 tabeller er nok den jeg bedst kan lide, jeg ved godt at det er "oldnordisk" men syntes det giver mindre tastning end CSS og jeg kender ikke CSS godt nok. Men jeg ville da gerne hører om der er alternativer. Det jeg vil placere er 5 billeder ved siden af hinanden - altså på række. I tabellen med 3 kolonner har jeg tekst. Smid bare et svar
Avatar billede apo Praktikant
05. februar 2007 - 21:48 #4
viperine > Hvorfor er tabeller "en dårlig idé til at designe med"?

Hvis man benytter tabeller hensigtsmæssigt, er tabellen et rigtig godt redskab til opbygning af et web-dokument.
Avatar billede keysersoze Ekspert
05. februar 2007 - 22:02 #5
tabeller er beregnet til at vise tabulerede data - deraf navnet. layers derimod er beregnet til egentligt designopbygning og det er hvad det bør bruges til. Tabeller kan selvfølgelig bruges mere eller mindre hensigtsmæssigt - men selvom de bruges "hensigtsmæssigt" gør det stadig ikke bruges af dem pænere i forhold til layers.

http://www.stylesheets.dk/seybold/index.html
Avatar billede apo Praktikant
05. februar 2007 - 22:28 #6
keysersoze > 'Layers'? Mener du 'divs' (div-elementet)? ;o)

I øvrigt er div-elementet ikke "mere beregnet til egentlig designopbygning" end tabel-elementet er (det er misforstået overtro).

Så vidt jeg husker kom div-elementet først efter tabellerne havde været brugt i mange år, til opbygning af webdokumenter i HTML-format. Så hvis der findes et HTML-element, der er mere 'velegnet' end andre, må det være tabel-elementet.

Jeg opbygger selv mine HTML-dokumenter med tabel-elementer, og supplerer med div-elementer hvor det er hensigtsmæssigt. Jeg foretrækker ikke det ene element frem for det andet, men bruger det element der løser opgaven bedst.
Avatar billede keysersoze Ekspert
05. februar 2007 - 23:15 #7
kan ikke helt huske rækkefølgen - men mener i hvert fald at det ikke var muligt at sætte border="0" i en tabel helt i starten og den bruger jeg stadig i mine egne hjemmelavede regler; kan man leve med borders på en tabel i en given opbygning så er tabeller det rigtige valg - kan man ikke leve med borders så skal der benyttes divs (ikke med det sagt at border forbliver på)... men det er jo bare mine regler :)

Jeg har tidligere altid brugt tables - kunne heller ikke se hvorfor layers (divs/whatever) var så meget bedre som det blev påstået af nogle. Prøves skulle det da og de første par eksempler var et helvede at bygge op og jeg var ved at opgive men nu kan jeg hurtigere sætte noget sammen med layers end med tables og jeg slipper for mange af de hovsa-løsninger man nogle gang blev nødt til med tables og samtdig er det nu blevet lettere for mig at ændre noget på siden.

Jeg blev endeligt overbevist da jeg ændret et faktisk flot kodet stort table site om til et site med layers - koden kom til at fylde 1/3 af det oprindelige og det må da alt andet lige betyde noget både for load-tiden og ikke mindst søgemaskinerne der får endnu lettere ved at læse hvad siden omhandler... og nu laver jeg aldrig table-sites igen :)
Avatar billede apo Praktikant
05. februar 2007 - 23:56 #8
Min oplevelse er så modsat: at div-opbyggede layouts ofte fylder 2-3 gange mere end den samme kode fylder med tabel-opbyggede layouts.

Det afhænger nok meget af hvordan man bruger tabel-elementerne, og om man udnytter mulighederne for at styre tabel-elementerne med CSS.

Typisk bruger jeg kun en enkelt tabel til grundridset, og bruger derefter enten tabeller (til tabulære data) eller divs til yderligere styring af indholdet.
Avatar billede Slater Ekspert
06. februar 2007 - 00:06 #9
apo - Fordi de er sværere at styre bl.a. Altså ofte kan man ikke kontrollere størrelsen på de enkelte celler, selvom man giver dem højde og bredde i CSS. Og colspan/rowspan giver som nævnt ofte mærkelige resultater.
Desuden har jeg samme oplevelse som keysersoze - at koden bliver større og mere forvirrende.

Derudover har du ret meget af vejen. Jeg er også ekstremt træt af det typiske argument "Hvad nu hvis de fjernede border="0" fra HTML?"... jamen det gør de ikke? Man kunne lige så godt sige "Hvad nu hvis de fjernede height fra CSS?"... Det er en fuldstændig irrelevant hypotese.
Avatar billede keysersoze Ekspert
06. februar 2007 - 07:39 #10
med lidt øvelse er jeg nu ret sikker på at du også vil kunne skære det ned til at fylde betydelig mindre ;)
Avatar billede maxmuldjord Nybegynder
06. februar 2007 - 10:01 #11
Tak for hjælpen! Men det vil altså være bedre at anvende layers? Har i et par links? Hvor man kan læse lidt mener jeg
Avatar billede keysersoze Ekspert
15. februar 2007 - 16:21 #12
kender desværre ikke deciderede artikler omkring det :(
Avatar billede Slater Ekspert
15. februar 2007 - 20:10 #13
Nej, heller ikke mig :/
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